测试的基本认识
上一篇 /
下一篇 2010-08-18 22:51:41
●测试是为了发现错误
●软件发布的标准要考量测试的充分性和Bug的数量
1、测试的充分性:测试的覆盖率等
2、Bug的数量:Bug发现的数量和收敛程度
●根据测试目的分类
1、正向:验证程序能正常工作(不容易啊)
2、逆向:验证程序不能正常工作
●测试活动的组织
1、用例的设计涵盖正向和逆向——在验证成功的场景的同时,包含扩展场景
2、结合严格的测试用例执行过程和灵活的探索性测试执行过程
3、中前期集中精力于发现软件的错误,中后期集中精力于验证软件的正确性
4、单元测试主要关注程序做了正确的事情,集成测试和系统测试主要关注程序的错误行为
5、自动化测试专注于验证程序的正确 行 为,手工测试专注于发现软件的错误行为
●一个完整的测试在验证程序正确性的同时还要包含
1、可用性
2、可靠性
3、性能
4、安全性
5、维护性
6、扩展性
等的测试。但是由于目前测试在软件公司中所处的位置比较尴尬,很多测试行为是在代码开发到一定程度后开始的,因此维护性和扩展性的测试基本就被忽略了。
●测试的基本原则
1、Good Enough
1)在有限的资源下,测试很难做到完全覆盖
2)投入和产出要适当权衡
3)适当加入其他的 QA 手段:代码评审、同行评审、需求评审、设计评审等,降低对测试的依赖,确保软件缺陷能尽早发现。
2、Pareto
1)软件测试中的 80-20 原则: 80% 的 Bug 在分析、设计和评审阶段能够被发现; 16% 需要由系统的测试来发现; 4% 只有在用户长时间的使用过程中才能暴露出来
2)测试人员要尽量做多的发现错误,避免漏测
3、尽早开展测试
1)越早发现错误,修改的代价越小
4、在 Bug 多发地段投入更多的测试
1)Bug 也有聚集效应
2)一旦发现某模块有 Bug 集中现象,应对该模块进行更多的测试和回归验证
5、同化效应
1)测试人员被开发人员同化,产生审查的盲点
2)测试人员对产品熟悉,被当前产品同化,容易忽略小问题
3)通过交叉用例评审或测试来改善
收藏
举报
TAG: