自动化测试分析

发表于:2010-4-01 11:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:shiweijian1986(CSDNB    来源:51Testing软件测试网采编

  1、软件测试面临的困境与迷局

  软件开发在时间上划分为需求分析阶段,设计阶段(又可细分为概要设计和详细设计)和编码阶段,其所产生的BUG也是因为各个过程中产生的差错如图:

  通过BUG的衍生规律,软件的Bug应该从它产生的那一刻起在最短时间内被发现,否则,修复的成本随着开发阶段的迁移而迅速增长。如果需求一开始就错了,那么。这个因错误而需求而导致错误实现的BUG是不可能被测试出来的,只能用户提出,那么修复的成本非常高。对于错误设计的BUG,如若测试阶段被测试出来,那么需要修改设计重新编码,代价也是极大。所以最好方式,测试介入各个过程对每个过程产出把关,争取第一次就把事情做对。

  2、软件测试成本困境

  (1)人工成本:从测试用例的设计,到执行,再到Bug跟踪,都需要专门的软件测试人员参与。越来越多的项目和Bug修改,致使此成本大大扩张。

  (2)时间成本:回归测试周期。发现Bug->回归测试->再发现Bug->再回归测试。假设一个测试用例手工执行需要花费10分钟时间那么一轮回归测试的执行时间是巨大的。而且Bug回归次数越多,执行时间也越大。

  3、如何摆脱困境——软件自动化测试

  (1)必要,自动化测试基础——程序接口。必须有低层接口调用驱动才能实现软件自动化

  (2)自动化测试实施成本分析

  自动化实施成本=前期的开发成本+后期的维护成本

  自动化开发脚本开发就是一种程序开发,需要需求分析设计和编码实现和调试。这需要花费比一次手动测试还多的人力和时间。自动化开发脚本是基于界面控间驱动的程序,当由于程序变动,低层的界面发生带来变动时候,也必将带来巨大的再次维护的成本。

  (3)如何构件高质量的自动化测试

  首先必须清楚,任何项目都不可能完全自动化也不能完全依靠手动。

  在自动化收益较高的功能点上可以使用自动化测试,收益公式如下:

  (k*n)/(c1+c2)  k=手工执行自动化测试用力所花费的时间成本

  n=自动化测试用例执行的次数(对软件需求分优先级,越优先的越重要,执行频率越高,则实施自动化)

  c1=花费在自动化测试前期的成本

  c2=后期可能会出现的维护成本(一般在程序UI层相对稳定版本期实施自动化)

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号