1、从经济方面看,软件缺陷会给企业带来成本,这个成本就叫劣质成本。基于经济的认知,软件测试就是通过投入较低的保障性成本来降低劣质成本,帮助企业获得利润。
2、单元测试:单元测试是对软件基本组成单元进行的测试,其测试对象是软件设计的最小单元-----模块或组件,也可以包括类或函数。软件单元具有独立性,可以将它与系统/程序的其他部分隔离出来,从而完成测试。单元测试也是软件测试过程中最早期的测试活动,是软件的基础测试。
3、集成测试:
4、系统测试:
5、验收测试:
6、回归测试:是由于软件修改或变更,对修改后的工作版本所有可能影响的范围进行测试。在软件生命周期中,需要修正已发现的缺陷,或是增强原有的功能、增加新的功能,这些活动都可能会触及其他地方的代码,影响正常运行的原有功能,从而导致软件未被修改的部分发生新的问题。因此,每当软件发生变化时,就必须重新测试原来已经通过测试的区域,验证修改的正确性及其影响,集实施回归测试。
7、TestOracle(测试预言)机制:
8、在做测试需求分析之初,就需要将测试的范围(测试项)分为两部分:已知的(包括确定性的/稳定的)、未知的(包括不确定的/动态的)。已知的测试项,理论上都可以实现自动化;未知部分,也可以用工具进行测试(模糊测试/随机测试等),更多地是依赖人的探索式测试。
9、需求文档也包含一定的模糊性、不确定性和局限性,只有消除其中的模糊性、不确定性和局限性,对软件产品或系统的认知才会前进一大步,测试才会深入下去。
10、测试人员参与需求分析和需求评审,通过积极参与需求活动,测试人员不仅能发现需求定义、自身存在的问题,而且能更深入理解业务需求、特定的用户需求和产品的功能特性。
11、软件测试的作用:
(1)产品质量评估:全面地评估软件产品地质量。
(2)持续的质量反馈:通过持续地测试可以对产品质量提供持续的、快速的反馈。
(3)客户满意度的提升:通过测试发现所要交付产品的缺陷,特别是尽可能地发现各种严重地缺陷,降低或消除产品质量风险,提高客户地满意度,扩大市场份额,提高客户地忠诚度。
(4)缺陷预防:通过对缺陷进行分析,找出缺陷发生的根本原因或总结出软件缺陷模式,采取措施纠正深层次的问题,避免将来犯同样的错误,达到缺陷预防的效果,有效减少开发中出现的问题,提高开发的效率。
12、软件质量其实在软件开发生命周期中慢慢形成的,或者说,软件质量是内建的,而不是测试测出来的。
13、从项目启动的第一天开始就将软件测试引进来: