测试框架设计的主要目的是项目的测试都能以框架平台为基础,并在框架的控制内进行实施,使得在不断的项目测试历练中积累的经验能够沉淀、传承、复用,从而提高测试的整体效率,降低项目研发与维护成本。就框架设计的具体方法,比如我们该如何操作去突破从无到有,到进一步的改进,再不断地改进,以致日臻完善。
一个公司,在做第一个项目时,谈测试平台的建设,可能性不大。但如果测试负责人有过带项目的经验,在执行相关的测试设计时,即使没有这方面的安排,也能感受到这方面的必要。如果你是第一次做项目,比如刚毕业的学生,可能没有这方面的经验,但当做第二个类似项目时,对于相同或类似的产品功能需求及性能需求,自然而然你会知道如何去做,这是因为你有了一定的积累。这个积累不仅仅指解决问题的方式方法,是指有了一些可重用或部分可重用的测试套件,如某测试对象的测试方案、测试用例、自动化测试脚本、一系列的测试数据、测试工具等。一般一个公司总是有自己的产品方向的,不可能什么产品都做。另外,在项目研发中如何节省人力与时间成本、提高项目开发效率、缩短开发周期,向来是公司老板的追求。这样,在做第二个类似项目的测试时十分有必要考虑平台化的测试需求,让后续的项目能在框架的基础上进行工作。这就要求框架是通用的、可重用的,当然重用的范围可按测试类别来分,如业务功能测试、自动化测试、性能测试等。现就框架的搭建提出如下几点看法:
业务功能测试框架,可重用的是测试思路,框架中可列出各测试点及其测试方法。
测试数据,特别是一些影响性能测试的数据,包括一些测试数据生成程序,集中一起管理,并写好使用说明,以便各项目测试过程中需要时取用。
自动化测试脚本、接口函数等测试套件,需无条件纳入配置库进行版本管理。对各项目通用的接口函数考虑封装为独立的中间库,把此库作为自动化测试框架的元素之一进行扩展与维护。
回顾Bug库中历年发生的Bug,对这些Bug进行分类,分析这些Bug的发生原因,拿出日后如何控制的可行方法,并对原有的测试框架做改进或补充。
测试文档设计模板,可结合公司内部开发流程要求,重点考虑测试文档本身应有的内容,模板中给出例子为宜。
制定测试设计评审机制、测试用例设计规范、Bug录入规范、测试代码设计规范,并在项目的执行过程中不断完善。
测试套件包括测试方案、测试用例、测试报告、测试总结、测试数据、测试代码等一系列为某特定测试对象而服务的测试输出工件总和。
框架有它的优点,如与项目无关(跨项目)、可重用、易扩展。反过来,它也有缺点,如使测试设计在一定程度上受到约束,当不熟练规范的要求时反而会影响测试工作的进度。另外一个致命的问题就是“牵一发,动全身”,如果框架中漏了某个测试点,会导致用这个框架的所有项目都漏了这个测试点,直到发现了这个漏洞为止。
测试框架的设计是一个过程,正如前面所说,当反复测试相同或类似项目的业务时,自然而然萌芽了测试平台化的需求,从而有了首次的测试框架。随着后面一个个测试项目的开展,测试框架得到不断重用,同时随着不同项目需求的变化,失败教训和成功经验的积累,不断地推动着测试框架的更新、发展。
架构,没有最好的,只有更好的。没有完全适合您的,只有更适合您的。重要的是掌握方法,而不是生搬硬套。
网友评论