思考,思考自己、思考别人! #ps -ef | grep oracle 修身、齐家、治国、平天下!

小思功能自动化测试框架

上一篇 / 下一篇  2009-03-19 10:36:21

小思功能自动化测试框架51Testing软件测试网 d1K M,gb&` Q

                                               季风       51Testing软件测试网CS'ys|/S(t

 

e J{MH8|n B0

谈到测试框架,很多人都趋之若鹜,本人也不例外。但最近发现自己对测试框架的理解一直存在误解。很长时间对框架的理解,一直存在于如何组织脚本,如何写出高质量的脚本这个层次,整个框架好像就是针对脚本这个层面。其实这个理解很局限也很片面。一个好的测试框架,应该包括整个测试活动的各个方面,以及对各个环节的规范、管理等等,所以脚本只是框架当中的一个环节,不应把脚本看的很重(当然不是说不重要)。脚本是用工具写的,工具永远是工具,整个测试过程起关键作用的还是人。51Testing软件测试网ewX\.eyZ p

一个合理的框架应该包括流程、团队、技术这三个基本要素,再用管理把这三个要素协调起来。

F7}q-j"zA+e0

x z(Asy6k({2n0

51Testing软件测试网h]%m Jn}]p#Q

      如图,这三个要素是相辅相成互相依赖。

&[r$P)y*~0

流程51Testing软件测试网] We4q|R5t[lE

      首先谈一下流程。这个要素,在整个测试活动周期中是用时最长的一个,大部分的测试活动都是在流程中进行。一个好的流程可以节约成本,缩短进度,提高测试质量。设计流程,不能为了自动化而自动化,要结合项目情况、目前测试部门发展情况来规划功能自动化测试流程。

:E7Cg9JB*E0

      流程的规划应该覆盖自动化测试分析,业务流程的分析与组织,脚本的设计与开发。

;^1eJ%{x.T~n)t0

      拿到项目任务书后,首先要进行的就是自动化测试分析。这时要结合手上有的测试资源,如待测系统,测试需求,测试用例库,功能说明等等,对系统来个综合分析。这些作为分析阶段的输入。有输入就要有输出,也就是分析结果了。分析过程就是对业务的分析,对怎么规划脚本的分析。对业务的分析最终要得出本次或本论测试需要测试范围、内容,以及测试内容对需求的覆盖情况等内容,最终形成业务跟踪表,作为输出。对于规划脚本,就是要确定哪些功能可以做自动化,哪些不能做;哪些功能需要单独作为一个脚本来写,哪些功能适合合并成一个脚本来写;参数的定义,主要是针对多个脚本都要用到的变量给出定义;其他可以定义一些脚本的相关信息。最终也要形成脚本分析跟踪表,作为分析阶段的输出,纳入测试资产统一管理。有了这些作为基础,可以最大限度保证后续工作在可控范围内进行。51Testing软件测试网H9Y;S)?&o

      做完分析工作,就可以继续业务的组织和脚本的开发工作了,这两个可以并行开展。把分析阶段的输出做为输入,有序开展后续活动。51Testing软件测试网PJ5jYL8m

      对于业务的分析组织,主要参与者是熟悉系统业务的人员。现在的应用系统越来越复杂,如果没有业务人员参与进来恐怕很难把测试做到位。这个过程就是由熟悉业务的人员来组织需要测试内容。包括测试功能点,业务逻辑,业务范围等等。同时针对特殊业务规则,数据规则提出相应的需求,协调其他资源满足特殊需求。这个过程也是组织测试案例、测试数据的过程,为测试执行做准备工作。这个过程的输出就是测试内容的跟踪表了。

{G*r GG _L.|vIX0

      与业务并行开展的就是脚本的设计与开发了。它不会受限与测试流程、测试逻辑的限制,完全可以按照分析过程的跟踪表进行脚本的开发。这个过程脚本的设计和开发是两个独立的过程,设计是以文档的方式展现脚本,包括脚本信息、输入/输出参数、调用说明、脚本流程图等内容,这样做可以让团队成员之间很好的协作,避免出现混乱、失控的状态。而且脚本的设计人员不用考虑具体的业务逻辑,只要按照既定规则把划分好的脚本设计好就完成了任务。然后脚本的开发人员严格按照设计文档进行开发,最终形成脚本集,供其他环节调用。51Testing软件测试网 J8gc6G$tl(tAp#C1A8U

      以上各个活动都会有管理或是QA参与,进行活动的评审,确保各个环节都是按照规范进行的,保证自动化实施过程是在可控范围内进行的活动,避免某个环节的随意性。51Testing软件测试网0G2B*qbd*HB2P

技术

aFLfz,eE7nxS Z0

    技术角度,主要是决定采用什么样的工具,脚本开发工具,配置管理工具。还有就是要制定针对在工具的使用过程中要遵循的规范,如何让工具之间配合,发挥最大的作用。

2@:B|u5U9O6DM8B0

      功能自动化测试用的最多的莫过于QTP了,由于它的简单、易用,容易上手很是受大家的追捧。当然还有它能够破解,这也为它广泛推广打下很好的基础。51Testing软件测试网9P yvb [F5w

      技术环节需要对脚本的开发做出明确的说明。底层函数的定义,功能函数的开发,函数库的规划,参数、脚本的开发规范等这些都要形成文档。最后脚本的运行也是一个很关键的环节,包括运行的稳定性,效率,日志,失败的处理这些都是需要处理的问题。如果条件允许可以自己开发工具来解决这些问题,但相应带来的成本也是非常高的。这样做的公司都是有单独的团队来维护测试工具这一块的,所以在人力、技术资源很有限的情况下不要轻易尝试这种方式。同行用的最多的好像就是用Excel来组织,然后通过读取Excel来控制脚本的运行,这种方式简单,易行,但对于过于复杂的系统不适用。还有一种方式就是用QTP+QC的方式,QC有单独的模块来管理,组织这些内容。并且会自动记录执行日志,结果文件等。这种方式是最方便,成本最低的一种方式,维护起来也很容易,而且没有不兼容的情况,很容易见到效果。如果公司不打算组建专门的测试开发团队,用这个是最有效的一种方式。缺点是在组织数据时的灵活性欠佳。51Testing软件测试网D)B {"r;T2l

团队51Testing软件测试网/}s;UqS'_F#V4K1?

    功能自动化测试肯定是一个团队协作的过程,单枪匹马去做自动化是非常不明智的选择。整个团队应该包含几个角色:leader,熟悉业务的人员,脚本设计开发人员,测试执行人员。人员各司其职,互相配合。

*\9qKPUP:tC0

      根据项目具体情况,酌情增减人员。很理想的情况是公司有很好的测试流程,分工明确,各个岗位都有明确的岗位职责,这样可以是团队成员紧密的配合完成工作。但也有很多不理想的状况,这时作为一个功能自动化测试的实施人员,也要对自己的工作做好规划,什么阶段做什么事情,每个阶段的提交物有一个明确的思路。这样可以使自己很好的控制进度,对上边也有一个交代,让领导知道做了什么。51Testing软件测试网*_2g}P H:EH8j&o4s

管理

+uC1U T Y0

      最后简单说一下管理。这个也是一个重要环节,好的管理可以很好的控制进度,保证质量。管理人员要对测试计划的执行情况进行监督,参与各种成果物的评审,项目的例行会议并保存会议记录,对测试流程的不断改进,对测试方法、技术的不断探索。在团队遇到困难时,也要及时的给出友情支持。这些内容有些属于QA的范围,具体公司具体配备相应人员。51Testing软件测试网T$O;dTvl

 

4p nA)?:k0A0

      以上只是自己对功能自动化测试的点滴思考,写出来算是自己的一个总结。每一个环节还有待完善,补充的地方,测试的博大精深并不是简单的几行字能写出来。希望在工作当中不断的总结,不断的提高。

:[$tR4s,Ma0

     严格意义来说,不应该称之为对框架的思考,框架是一个系统,是一个整体,而以上只是对一部分内容做了点滴体会。是与非,看官自己定夺。51Testing软件测试网i;DLR&f

      51Testing软件测试网5S)H|gNE


TAG:

LIFR: Life Is For Run...? 引用 删除 lifr   /   2009-06-25 14:32:13
感觉从一个极端跳入另外一个极端。

从前瞻性思考或者学术研究来说,这是很有意义的。但从工程角度来说。实现这样的系统是不现实的。

如果用框架来描述这个“东东”,显然框架这个词太小了,而且也不恰当。看上去,这个“东东”是测试整个过程管理的一套软件集合。

提到ta的framework,下面链接的blog是我的一点小小的思考和一个小小的实现。
http://www.51testing.com/index.php?uid-764-action-viewspace-itemid-128091
Ace Life 引用 删除 allenzgw   /   2009-03-31 16:42:27
说的很好啊,有个疑问“与业务并行开展的就是脚本的设计与开发了。”脚本设计难道不需要在业务组织分析完成之后再开始么?这个过程不是要确定具体的测试点,和某些业务流程的关键点么?
季风的测试生活 引用 删除 jifeng   /   2009-03-27 09:32:25
其实mercury-hp早就给了一个框架结构,就是QC中的组件模块,感兴趣的可以看看Business Process Testing 用户帮助.pdf这个文档,里边很详细的给出了总体框架、技术框架等。
Victor's Testing Career 引用 删除 winfood   /   2009-03-23 16:05:49

看着有点儿眼熟,这些思考和体会是不是源自国内某著名银行的业务测试部自动化测试项目啊?
jm_gold的个人空间 引用 删除 fanjianmin   /   2009-03-23 11:25:14
不错
小马菜菜的个人空间 引用 删除 dreamever   /   2009-03-20 11:46:58
顶,说的不错,学习了。
 

评分:0

我来说两句

Open Toolbar