打破测试团队无用录的魔咒 3 - 如何规划和制作自动化测试
上一篇 提到测试团队要设计出符合需求的测试项目,并且测试项目弄一个一个可以独立运行。
为什么要这么麻烦??一样我们拿吸尘器来看! 其最终的目的就是要用它吸家里的灰尘!
动作
- 拿吸尘器出来
- 插电
- 拿起吸尘器柄,并按下电源开关“开”
- 更换吸头
- 边走边吸地板 ( 依不同情况反复 4 、5 的动作 )
- 按下电源开关“关”
- 取出吸尘袋 ( 盒 )
- 倒掉
- 收吸尘器
我们可以看到一般的使用者是依上述动作实践,但难到要从头到尾都自动化吗??
那应该只能请本田的ASIMO 出场了吧!不过一台都要价不便宜!而且没有效率!
所以,把上述的动作全部“分解”并用“简单的自动化机器人”来达到我们要的目的
一来!比较便宜、单纯 且还可以收集测试过程
二来!若是要加测试项目 或是要改 都不用改其他的测试动作
再说!Asimo 并不能帮我们打电脑 Orz !请他 端端茶是不错的选择
而,我们大家最关心的是!什么时候做自动化??
先说明一件事“自动化”是需要维护成本的,并不是说只要做一次后,后面就没事了。
它有几个条件是需要先达成的,和 任何一种流程无关 ( 也就是说 您的团队用 CMMI , Agile , Scrum 都一样 )
- 每一次的交付都必须是可运行的版本 ( 功能可以不完整,至于是要 完整的流程可以跑完 还是 功能式 则取决于 AP 型态 )
- 独立的测试环境 ( 不是指 开发者的电脑上,也不是上线的机器 )
- 自动化前确定 该功能是经过“需求验证过” ( 简单来说就是 客户 or PM 想要的 )
- 自动化的可行性 ( 比如说拔掉电脑电源,要自动化请找 Asimo 谢谢! )
- …
接下来看看有那些功能可以用
请开启 Visual Studio 2010
分别有
- Unit Test ( 给开发人员 写测试程序用的 )
- Load Test
( 压力测试用,可以制作 1000 使用者同时上线操作的情节
但要先有 Load Test , Web Test 等等…… ) - Web Performance Test
( 网页的自动化录制 ,只针对网站所有项目都会做记录,不受网站型态影响,但无法录 Silverlight , Flash 等 Client 端程序 ) - CodeUI Test
( 可录制 WinForm , Web 等应用程序,并且可以很简单地制作出“验证”功能 ) - Ordered Test
( 若是 上述三种测试有“规定”顺序的话!可以用 此项目定义 ) - Generic Test
( 手动测试文档,若有 TFS 请用 Test Professional 的 Test Case 取代 )
这次我们先针对 CodeUI Test 如何做录制 且 验证的动作
之前有 PO 文是针对 Win form 的 所以这次我们就改用 Web 吧! ( 之前的是 CTP ,操作界面有些不同 )
拿之前 设计好的 “Test Case 为 验证使用者登入后是否正常登入” ( 错误测试要另外设计 )
- 使用者开启 IE
- 输入网址
- 按下登入
- 输入账号、密码
- 按下确定
- 进入购物画面
- 确认是否有
请选 Record Action 要开始录制
右下角就会有 Test Builder 出现,确定要开始录请按“红色”的录制
开启 IE , 输入测试网址,都会出现每一个录制的动作 ( Beta 2 的速度已经比 CTP 顺非常多了 )
登入后,进入操作页面确认
OK!录到这里为止,并按下 Generate Code 把刚刚所有的“操作动作”自动转成程序 ( .NET 的 )
请给好一个名称后,按下 Add …
完成后,这个图案就会变亮了!接下来我们就可以验证登入的数据是否正确
请直接托拉过去!可以看到会有一个“蓝色”的框框 ( 请注意要框到正确的 “对象” )
选择要验证的数据 Welcome franma 后,在按上面的验证 icon
若是要 = (等于) 的话请用 AreEqual ! ( 下拉有各种选项可以协助判断 )
最后就会有一个 “打勾”的icon ,若还有其他的属性要验证的话!请依上述的步骤再做!若没有的话!请按下“Add Generational… ”
同上!给它一个名字吧!
到目前为止我们在不用写 任何一行 code 的情况下就完成自动化测试的项目
ps.. 若一个测试中有多个验证点,这时就可以再按下“红色的录制”icon ,一直把 Test Case 要做的项目做完为止 。
按下 x 后就会回到 Visual Studio 的画面
看一下成果,熟 UT 的朋友们呀!看看是不是跟 UT 一模一样的构造!
要如何执行?请在“方案总管”中的 Solution Items 的 xxx.VSMDI 双击两下,开启 测试清单
确定我们的测试项目出现了!就可以按下左上角的测试执行
接下来就可以看到测试被重复执行一遍了!
看到绿色勾勾就代表测试动作都没问题,且验证的数据也都 ok ! ( 和 Web Test 的验证项目不同的地方 日后会提到 )
如此一来所有的自动化制作过程也告一个段落
是不是很简单的?
不过做到这里各位聪慧的看倌们一定发现,那个账号密码都是写死的呀!若是有 100 个账号岂不是要录 100 遍?
放心!这个自然有解决方法!不用担心!
……
原文:大专栏 打破测试团队无用录的魔咒 3 - 如何规划和制作自动化测试