Chapter 1 全面认识软件测试

1.1软件测试基本认知

为了做好测试,既要有深度,又要有广度;既要有效率,又要有测试工作自身完整的质量。所以,我们应该将正向思维和逆向思维有机地结合起来,做到效率和质量的平衡。

正向思维:验功能。  逆向思维:尽可能找bug。

1.2从狭义测试到广义测试

狭义:动态测试——运行程序而进行的测试,测试只是编程之后的阶段,这也是由传统的瀑布模型儿决定的。

广义:动态测试+静态测试,将需求评审、设计评审、代码评审等也纳入软件测试工作之中。使软件测试成为贯穿整个软件研发周期的质量保证活动。引入静态测试,就可以尽早地发现问题,把问题消灭在萌芽之中,将每个阶段产生的缺陷及时清除,极大地提高产品的质量,有效降低企业成本。

1.3基于质量的认知

缺陷(bug)就是质量的对立面,一切违背质量的问题都可以看作软件缺陷。

质量相对客户而存在,没有客户就没有质量,质量是客户的满意度。

1.产品质量

功能适应性、效率、兼容性、易用性、可靠性、安全性、可维护性、可移植性。

2.使用质量

有效性、效率、满意(有用、信任、愉悦、舒服)、远离风险(经济、健康、安全、环境)、语境完整性(完整、灵活)。

1.4基于风险的认知

软件测试不仅仅停留在单个缺陷上,要从所发现的问题看到(分析出)某类质量风险或某个具有潜在风险的区域。

软件测试被看作是一个动态的质量监控过程,对软件开发全过程进行检测,随时发现不健康的征兆,及时评估新的风险,设置新的监控基准,不断持续。

在敏捷开发中,软件测试就能被解释为对软件产品质量的持续评估。

1.5基于社会性的认知

由于软件常和人类活动紧密联系在一起,所以软件具有很强的社会性,所以有必要把心理学、人类学和社会学等引入到软件测试中。

1.6基于经济的认知

软件测试就是通过投入较低的保障性成本来降低劣质成本,帮助企业获得利润,因此应该从项目启动的第一天起,测试人员就参与进去,尽快尽早地发现更多的缺陷,并督促和帮助开发人员修正缺陷。

相关推荐