心理软件测试自学,软件测试中的心理学
发布日期:2022-04-11 11:39:07 浏览次数:50 分类:技术文章

本文共 1626 字,大约阅读时间需要 5 分钟。

能做一名软件测试人员不容易,要做一个名合格的软件测试人员更是不容易,因为软件测试人员要运用的知识很广,当然心理学也不例外。

测试执行得差,其中一个主要的原因在于大多数的程序员一开始就把这个术语的定义搞错了,他们可能认为:

1、软件测试就是证明软件不存在错误的过程

2、软件测试的目的在于证明软件能够正确完成其预定的功能

3、软件测试就是建立一个“软件做了其应该做的”信心的过程

可以说这些定义都是本末倒置的。

每当测试一个程序的时,总想为程序增加一些价值,通过测试来增加程序的价值,是指测试提高了程序的可靠性或质量,提高了可靠性是指找出并最终修改了程序的错误。

那么对于测试,更合适的定义应该是:软件测试是为了发现错误而执行的程序的过程。

虽然这看起来像是个微妙的文字游戏,但确实有重要的区别,理解软件测试的真正定义,会对成功地进行软件测试有很大的影响。

人类行为总是倾向于具有高度目标性,确立一个正确的目标有着重要的心理学影响。如果我们的目的是证明软件中不存在错误,那就会在潜意识中倾向于实现这个目标,也就是说,我们会倾向于选择可能较少导致程序失效的测试数据。另一方面,如果我们的目标在于证明程序中存在错误,我们设计的测试数据就有可能更多的发现问题。与前一种方法相比,后一种方法会更多的增加程序的价值。

为增加对软件测试正确定义的理解,另一种途径是分析一下对“成功地”和“不成功”这两个词的使用,当项目经理在归纳测试用例结果时,尤其会用到这两个词,大多数的项目经理将没发现错误的测试用例成为“成功地测试”,而是发现了某个错误的测试称为“不成功“的测试。

这又是一次本末倒置,“不成功的”表示事情不遂人意或者令人失望,我们认为,如果在测试的某段程序中发现了错误,而且这些错误是可以修复的,就将这次合理的设计并得到有效执行的测试称作是“成功的”。所谓“不成功”测试,仅指,未能适当地对程序进行检查,在大多数情况下,未能找出错误的测试被称为“不成功的”,这是因为软件测试中不包含错的的观点基本上是不切实际的。

能发现新错误的测试用例不人可能被认为是“不成功的.,;

相反,能发现错误就证明它是值得设计的。一个“不成功的“测试用例会使程片输出正确的结果,但不能发现任何错误。

我们可以类比一下病人看医生的情况,病人因为身体不舒服而去看医生,如果医生对病人进行了些实验检测,却没有诊断出任何病因,我们就不会认为这此实验检测是“成功的”。之所以是“不成功的"检测,是因为病人支付了昂贵的实验检测费用,而病状却依然如故。病人会因此而质疑医生的诊断能力。但是,如果实验检测诊断出病人是胃溃疡,那么这次检测就是

“成功的"'医生可以开始进行适当的治疗,医疗行业会使用”成功的”或“不成功的"

来表达适当的意思。我们当然可以类推到软件测试中来,当我们开始测试某个程序时,它就好似我们的病人。

另外,心理学研究表明,当人们开始一项工作时,如果已经知道它是不可行的或无法实现的,人的表现就会相当糟糕。举例来说,如果要求人们在15分钟之内完成星期日《纽约时报》里的纵横填字游戏、那么我们会观察到10分钟之后的进展非常小,因为大多数人都会却步于这个现实,即这个任务似平是不可能完成的。但是如果要求在四个小时之内完成填字游戏,我们很可能由期望在最初10分钟之内的进展会比前一种情况下的大。将软件测试定义为发现程序错误的过程,使得测试是个可以完成的任务,从而克服了这个心理障碍。

总结一下,软件测试更适宜被视为试图发现程序中错误(假设其存在)的破坏性的过程。

一个成功的测试用例,通过诱发程序发生错误,可以在这个方向上促进软件质量的改进,当然,最终我们还是要通过软件测试来建立某种程度的信心:软件做了其应该做的,未做其不应该做的。但是通过对错误的不断研究是实现这个目的的最佳途径。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

转载地址:https://blog.csdn.net/weixin_34237125/article/details/119019690 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:心理魔术
下一篇:心理素质测试脸型软件,2017年火爆朋友圈的脸型测试,灰常的准!~

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年03月06日 08时58分09秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

python多线程实现kmeans,3种方式实现python多线程并发处理 2019-04-21
matlab 变量不存在,matlab程序运行时提示变量未定义 2019-04-21
php编码函数 base58,1. Base58可逆加密 2019-04-21
oracle 在需要下列之一,Oracle存储过程中PLS-00103:出现符号“/”在需要下列之一时:(... 2019-04-21
oracle10g dblink优化,Oracle10g通过dblink访问数据异常 2019-04-21
linux安装时的iso文件,直接用ISO文件在linux上安装新系统 2019-04-21
linux修改文件权限为所有人都可以访问,Linux 笔记分享八:文件权限的设定 2019-04-21
linux中卸载ambri-servle,Kerberos 命令使用 2019-04-21
linux二进制反编译,Xori:一款来自BlackHat 2018的二进制反汇编和静态分析工具 2019-04-21
linux两台主机添加信任,Linux两台机器间添加信任,实现不用密码问,互传文件... 2019-04-21
linux 自动获取ssl证书,linux生成自验证ssl证书的具体命令和步骤 2019-04-21
linux基础命令20个,20-linux中基础命令 2019-04-21
重置网络配置 android,重置Android移动网络信号? 2019-04-21
java约瑟夫环pta上_cdoj525-猴子选大王 (约瑟夫环) 2019-04-21
java++记录+运行_记录java+testng运行selenium(三)---xml、ini、excel、日志等配置 2019-04-21
mysql居左查询abcd_MySql速查手册 2019-04-21
loadrunner 错误: 无法找到 java.exe_LoadRunner错误及解决方法总结 2019-04-21
Java小魔女芭芭拉_沉迷蘑菇不可自拔,黏土人《小魔女学园》苏西·曼芭芭拉 图赏... 2019-04-21
php+mysql记事本_一个简单记事本php操作mysql辅助类创建 2019-04-21
300小时成为java程序员_直击面试现场: Java程序员3轮6小时面试, 成功拿到阿里offer!... 2019-04-21