博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件测试的艺术-CH2
阅读量:7040 次
发布时间:2019-06-28

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

by GlenFord J. Myers(U.S.A)

测试是为发现错误而执行程序的过程

软件测试心理学

人类的行为总是倾向于具有高度目标性,建议一个正确的目标有重要的心理学影响,如果我们的目标在于证明程序中的错误,那我们设计的测试数据就会发现更多的问题,

反之,则相反。

如果在测试阶段发现了错误并且成功得到修复,那么测试是成功的

如果本次测试可以确定再无其它可以查出的错误,那么本次测试仍然是成功的

总结,软件测试更适宜被视为试图发现程序中错误的破坏性过程。一个成功的测试用例,通过诱发程序发生错误,从而在这个方向上可以促进软件质量的改进。

最终我们通过软件测试来建立某种程度的信心:软件做了该做的,未做其不该做的,通过对错误的不断研究是实现这个目的的最佳途径。

软件测试经济学

软件测试是否能够发现“所有”的错误?一般来说这是不切实际的。这个基本的问题反过来暗示出软件测试的经济学问题,即测试人员对被测软件的期望,以及测试用例的

设计方式。

为了应对经济学上的挑战,应该在测试之前建立某些策略

黑盒测试

又成为数据驱动的测试或者输入/输出驱动的测试。程序视为一个黑盒子,重点集中在发现程序不按其规范正确运行的环境条件。

这种方法如果想要发现所有的错误,就要穷举输入测试数据,这当然是不可能完成的任务。

故这种方法目标在于如何通过有限的测试用例集,最大限度的提高发现问题的数量,以取得最好的测试效果,当然要实现这个目标,还需要能够窥见软件的内部,对程序

做一些合理的假设,如 2,2,2是一个等边三角形,那么有理由相信 3,3,3也会被程序认定为等边三角形。

白盒测试

又称逻辑驱动的测试,允许我们检查程序的内部结构。

 

 

软件测试的重要原则

1. 测试用例中的一个必需部分是对预期输出或结果的定义

一个测试用例必需包含两个部分

   1.对程序输入数据的描述

   2.对程序在上述输入数据下的正确输出结果的精确描述

 

2. 程序员应当避免测试自己编写的程序

  处于心理学层面,应当避免让程序员直接测试自己编写的程序,让其它人来测试程序会更加有效,也更容易测试成功

 

3. 应当测查每个测试的执行结果

  常常被忽视检查执行结果,导致遗漏场景

4. 不仅要输入有效的数据场景,也要输入无效和未预料的输入情况

5. 程序某部分存在更多错误的可能性,与该部分已经发现的错误数量成正比

   错误总是倾向于聚集存在,最好对容易存在错误的部分进行额外的测试,以获取更大的成效。

 

小结

1. 软件测试是为发现错误而执行程序的过程

2. 尽量避免编码人员测试自己编写的程序

3. 好的测试用例对未发现的错误高度敏感

4. 成功的测试用例能够发现未知的错误

5. 成功的测试用例要仔细定义输入输出的期望值

6. 成功的测试需要仔细分析测试结果

转载于:https://www.cnblogs.com/muyiblog/p/6916682.html

你可能感兴趣的文章
【DAY9】 关于多线程熊吃蜜Demo1的作业实验
查看>>
Python实现多属性排序
查看>>
nginx 访问日志分析
查看>>
RabbitMQ之消息确认机制(事务+Confirm)
查看>>
给出一个数组,计算数组中少了哪个数据的实现
查看>>
USB-232卡 配置
查看>>
C#窗体程序皮肤设置
查看>>
T-SQL.字符串函数
查看>>
mysql慢查询
查看>>
offices文件打开乱码问题如何处理
查看>>
抓屏程序
查看>>
many-to-many出现的问题
查看>>
第5章 配置邮箱服务
查看>>
node.js的一个简单框架
查看>>
PPT如何保存还原已剪裁图片的原始版本
查看>>
lnmp一键安装之-php
查看>>
ajax 同步和异步的区别
查看>>
linux shell单引号、双引号及无引号区别(考试题答案系列)--看到这篇文章之后我豁然开朗...
查看>>
排错 zabbix-agent 主机重启无法被监控
查看>>
win10操作系统
查看>>