- QTP自动化测试进阶
- 陈能技编著
- 1343字
- 2024-10-29 20:19:08
1.2 软件质量与软件测试
软件质量是软件产品的核心价值体现,也是软件企业竞争力的体现,重视软件质量的企业通常能获得更多的收益。软件质量是软件项目管理的重要组成部分,在不同的开发模式中,都会围绕软件质量管理提出相关的做法。
1.2.1 软件质量管理在项目管理中的地位
软件项目的成败是由成本、进度、质量三者共同决定的,缺一不可。无论是哪一种软件工程的模型,都必须充分考虑这3个方面,并且要考虑如何协调这3个方面,使其搭配达到最佳的平衡点。
(1)成本主要考虑项目的开销,包括人员成本、工具成本、设备成本、错误成本等。所谓错误成本是指软件生产过程中由于缺陷错误的产生导致的收回、返工等成本。某些软件还需要考虑市场营销成本等。
(2)进度主要考虑时间上的控制。如何在规定的时间范围内,完成一个令顾客满意的软件产品,是每个项目的首要挑战。
(3)质量主要考虑软件对顾客需求的满足程度。一个低质量的软件,即使生产成本很低,进度控制良好,也不能让顾客接受。因此,质量是软件产品的生命线。
1.2.2 软件开发模式与软件测试
在不同的软件开发模式中,软件测试的地位和作用略有不同,例如,在传统的瀑布开发模型中,软件测试作为一个独立的阶段出现,在进入软件测试阶段之前,应该完成编码,并且提供完善的需求、设计和开发文档。
而在迭代模型中,则不会有一段独立的测试时间和阶段,测试必须跟随开发的迭代而迭代。因此,回归测试的重要性就不言而喻了。
而在敏捷开发模式中,软件测试与软件开发的界限变得模糊,由于敏捷开发所推崇的测试驱动,使得开发人员开始习惯于单元测试,在开发的过程中不断测试,只有当测试完成后才能宣告开发结束,因此软件测试与开发过程能很紧密地耦合在一起。
提示
不管是哪一种开发模式,软件测试是不可能消失的,而且软件测试作为保证软件质量的重要手段,应该得到所有项目成员的重视和参与。
1.2.3 软件开发模式与自动化测试
Bob Galen在名为《Sizing up Automation Candidates - Selecting Which Tests, When To Automate Them,and Which To Take Off the Ticket Entirely》的文章中提到 , 采用不同的项目开发模型对自动化测试有不同的影响。
(1)瀑布模型:瀑布模型在需求定义方面做得很好,这对自动化测试是有益的,包括可以尽早选择合适的自动化测试策略,让自动化测试可以高层次、整体地进行计划。
(2)RUP:RUP强调的迭代开发让自动化测试可以应用在开发周期的很大一部分时间中。但是,也意味着频繁的变更,自动化测试需要与开发策略紧密结合,关注早期构建、迭代的速度、风险、覆盖目标等。
(3)敏捷:敏捷方法打破了传统的自动化测试方法。第一个破坏点集中在自动化的可接受性测试。这种测试所使用的工具超越了传统的自动化测试工具的范围,并且,很难被其他类型的自动化重用。细粒度的迭代让每次自动化测试难以集中目标和定义标准。
1.2.4 软件测试能保证软件质量吗
虽然软件测试是目前为止发现缺陷的最有效手段,但是软件测试能保证质量吗?软件测试可以在开发过程中发现大部分的软件缺陷,但是,单靠软件测试是不能保证软件质量的,尤其是在软件测试的时间没办法充分保证、测试资源无法有效提供的情况下,测试人员只能尽量在允许的时间范围内发现尽可能多的问题。
除了软件测试,还应该通过软件配置管理、进度控制等项目管理手段来确保软件研发的顺利、有序开展,结合软件需求控制、需求分析、设计评审、代码审查等多种形式来保证软件质量。