如何制定Web自动化测试策略
大不可量,深不可测"---《韩非子·主道》
一个Web系统一旦开发完成,开发人员就可以暂时松一口气了;可是测试呢?后台升级,页面怎么测试?再来一遍?自动化测试或许是一个好的选择,那么怎么组织?按照什么思路进行呢?一方面我摸索着使用VSTS进行自动化测试,摸索了一个路子,正在进行中,或许你有更好的方法,请指点!
本文覆盖一下内容:
1. 定策:先走通 后走对
2. 架子怎么搭?
3.VSTS自动化测试工具能做什么、擅长做什么 ?
定策:先走通后走对
先从这样一个点切入一下:我们做Web开发实际上是Asp.net框架上的一个应用,Asp.net又是什么呢?Asp.net是对HTTP协议的一个封装,使得开发更容易,更快捷…;由于Http协议先天的一些特征,比如http协议是无状态的,所以Asp.net能为我们提供一个服务器端的事件编程模型是戴着锁链跳出了优美的舞姿。
然后,我们的Web自动化测试又在做什么呢?这个问题的答案可以从这样一个角度分析:Web自动化测试工具出现在了之前测试人员出现的位置上,那么由此我们可以判定—1.Web自动化测试/自动化测试工具肯定做了之前测试人员做的事情 2.Web自动化测试/自动化测试工具肯定做了测试人员做不到的事情
我们的Web测试人员对一个Web系统(比如:电子购物网站)进行测试,最基本的要保证能走通若干个重要的流程,比如检索—>查看货物详细信息—>登录—>付费等等,这也就是“走通”;在这个过程中测试人员会判断检索的结果是不是对的,货物详细信息显示的是不是对的..
这就是“走对”;我们的Web测试人员在日常工作中,无意识的就完成了这样两件事情。
当Web自动化测试工具出现在测试人员的位置上的时候它要做到验证是不是能走通,是不是能走对;同时作为工具它还有人工无法替代的功能,比如:它可以定时的执行,反复的执行,及时的反馈,它可以做压力测试… 当自动化测试工具做到了测试人员可以做的事情,同时有做到了测试人员无法做到的事情的时候,它就具有了价值,可以成为产品了.
我们可以看看VSTS的Web自动化测试工具,我们简单看一下MSDN上的描述:可以创建用于广泛的测试目的的 Web 测试:
创建执行 Web 应用程序的功能测试。
创建数据驱动的测试。
创建并运行可以测试应用程序性能的测试。
使用 .NET 语言进行测试创作、调试和测试扩展。
VSTS的Web自动化测试工具,提供了一系列的机制来实现上面提到的”走通 走对”,后面我们会提到。
架子怎么搭?
有了目标,下面做的就是搭起架子来,也就是说:我们怎样组织Web自动化测试呢?
怎么容易管理Web自动化测试?怎么样能容易扩展?怎么样做到复用?怎么样做到分工协作?
我们知道HTTP协议是基于请求/响应范式的;那么上面的走通和走对就可以这样重新解释:走对是我们得到了一个正确的响应;走通是发出一个请求之后得到了我们期待的响应;
而对于大多数的Web系统,一个请求或者响应往往直接对应一个页面;于是页面就天然的成为了Web自动化测试中模块的最小单位;而请求与响应之间的关联,或者说页面之间的关联最适合用二元关系表达;于是看下图:
检验一下我们的目标达到了么?