3、根据软件测试的目的得出软件测试的两面性的结论?

参考书:软件测试技术大全

从测试的目的出发,大概可以把测试分成两大类。
第一类:为了验证程序能正常工作的测试。
第二类:为了证明程序不能正常工作的测试。
可以说第一类是正面的,第二类是反面的,测试人员应该从两面"夹击"。

具体分析一下:测试人员要验证软件程序能否正常工作需要有一定的依据,
普遍认为软件需求文档是这样的依据,但是如果需求文档本身就是错误的呢?
因此,不能仅仅依据需求文档来验证程序是否能正常工作,还需要加入测试
人员的经验判断以及对软件的理解。
要验证程序在所有情况下都能正常工作的工作量非常大,实现起来非常困难。
因为,现在的软件程序越来越复杂,程序的状态空间变得越来越广。
在有限的测试时间内、有限的测试资源下,要想证明程序在所有情况下都能
正常工作是不可能的。
相比之下,证明程序不能正常工作会相对容易一些,只要找到了错误,就
可以证明软件是不正确的。但是,要想找到所有的错误也是不可能的,因为bug
会随着程序的修改变得越来越少,同时也变得越来越隐蔽,难以发现。
现在,大部分软件测试组织在综合地应用着这两类测试方式,主要体现在
以下方面:
(1)测试用例的设计分正面的和反面的测试用例,分为验证主成功场景的用例
和验证扩展场景的测试用例。
(2)测试的执行结合严格的测试用例执行过程以及灵活的探索性测试执行。
(3)软件测试的中前期主要集中精力发现软件的错误,软件的中后期主要集中
精力在验证软件的正常使用性上。
(4)单元测试主要关注程序做了正确的事请,集成测试和系统测试主要关注程序
的错误行为。
(5)自动化测试主要专注于验证程序的正确行为,手工测试主要专注于发现程序 的错误行为。

猜你喜欢

转载自www.cnblogs.com/flyingbooks/p/9416940.html