软件测试--为何存在?

来源:互联网 发布:c 网络通信 编辑:程序博客网 时间:2024/05/18 02:23

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

2.软件测试不是用来证明这个代码或者程序是正确的;
软件测试的目的在于证明软件能正确完成其预定的功能;
软件测试是为了发现错误和问题而执行程序的过程。

3.黑盒测试和白盒测试
黑盒测试:数据驱动的测试输入/输出驱动的测试。将程序视为一个黑盒子,测试目标与程序的内部机制和结构完全无关;用来测试功能,程序是否完成了该完成的功能,发现程序不安其规范正确运行的环境条件。
测试投入的目标在于通过有限的测试用例,最大限度的提高发现问题的数量,提高测试效率。
边界值分析、因果图法、等价类划分、错误推测法、正交设计法等

白盒测试:逻辑驱动测试,主要是检测程序的内部逻辑。
语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

4.软件测试的原则
(1)测试用例中要对预期输入或结果进行定义
(2)程序员应当避免测试自己编写的程序
(3)编写软件的组织或程序员不应当测试自己写的项目
(4)彻底检查每个测试的执行结果
(5)测试用例的编写不仅应根据有效和预料到的输入情况,还应当根据无效和未预料到的输入情况
(6)检查程序是否完成了该完成的功能,检查程序是否也做了自己不应该做的事
(7)避免测试用例后即弃,除非软件是一个一次性的软件
(8)计划测试工作时不应默许假定不会发现错误
(9)程序某部分存在更多错误的可能性,与该部分已发现的错误数量成正比
(10)软件测试是一项极高创造性,极高智力挑战的工作

5.软件测试是为了发现错误而执行程序的过程。
一个好的测试用例具有较高发现某个尚未发现错误的可能性。
一个成功的测试用例能发现某个尚未发现的错误。

原创粉丝点击