软件测试的艺术

1. 软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。

测试投入的目标在于:通过有限的测试用例,最大限度地提高发现的问题的数量,以取得最好的测试效果。

2. 测试,是为发现错误而执行程序的过程。

    软件做了其应该做的,未做其不应该做的。

软件测试是一个破坏性的过程,甚至是一个“施虐”的过程。

3. 黑盒测试和白盒测试是两种最普遍的策略。

 黑盒测试:又称为数据驱动的测试或输入/输出驱动的测试。

 在使用这种测试方法时,将程序视为一个黑盒子。测试目标与程序的内部机制和结构完全无关,而是将重点集中放在发现程序不按其规范正常运行的环境条件。

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

这种测试策略对程序的逻辑结构进行检查,从中获取测试数据。(遗憾的是,常常忽略了程序的规范)

4. 软件测试的原则

1. 测试用例中,一个必需部分是:对预期输出或结果进行定义
2. 程序员应当避免测试自己编写的程序
3. 编写软件的组织不应当测试自己编写的软件
4. 应当彻底检查每个测试的执行结果
5. 测试用例的编写,不仅应当根据有效和预料到的输入情况,而且也应当根据无效和未预料到的输入情况
6. 检查程序是否“未做其应该做的”,仅是测试的一半;测试的另一半是检查程序是否“做了其不应该做的”
7. 应避免测试用例,用户即弃,除非软件本身就是一个一次性的软件
8. 计划测试工作时,不应默许假定不会发现错误
9. 程序某部分存在更多错误的可能性,与改部分已发现错误的数量成正比
10. 软件测试是一项极富创造性、极具智力挑战性的工作
原文地址:https://www.cnblogs.com/sophia194910/p/5166589.html