测中策---我的Web自动化测试思路

  🔥 交流讨论:欢迎加入我们一起学习!

🔥 资源分享耗时200+小时精选的「软件测试」资料包

🔥 教程推荐:火遍全网的《软件测试》教程  

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

"大不可量,深不可测"---《韩非子·主道》
一个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 测试:

o    创建执行 Web 应用程序的功能测试。

o    创建数据驱动的测试。              

o    创建并运行可以测试应用程序性能的测试。

o    使用 .NET 语言进行测试创作、调试和测试扩展。

   VSTS的Web自动化测试工具,提供了一系列的机制来实现上面提到的”走通 走对”,后面我们会提到。

 

  架子怎么搭?

      有了目标,下面做的就是搭起架子来,也就是说:我们怎样组织Web自动化测试呢?

怎么容易管理Web自动化测试?怎么样能容易扩展?怎么样做到复用?怎么样做到分工协作?

     我们知道HTTP协议是基于请求/响应范式的;那么上面的走通和走对就可以这样重新解释:走对是我们得到了一个正确的响应;走通是发出一个请求之后得到了我们期待的响应;

而对于大多数的Web系统,一个请求或者响应往往直接对应一个页面;于是页面就天然的成为了Web自动化测试中模块的最小单位;而请求与响应之间的关联,或者说页面之间的关联最适合用二元关系表达;于是看下图:

    

      检验一下我们的目标达到了么?

1.  是不是容易管理?测试所依赖的文档和每一个WebTest是一一对应的,当页面发生变化的时候修改测试用例文档,而对应文档编号可以直接定位到该WebTest!文档和WebTest有一个对应关系,发生变化直接按图索骥就可以了;是不是容易管理呢?

2.  是不是容易扩展?比如现在首页也添加了一个热门图书的详细信息的页面链接,我们要做的是什么呢?添加1.2_Default_BookDetail.webtest就可以了;

3.  是不是可以复用?比如3.4_BookDetail – SearchHistory,我们要完成这样的验证:BookDetail是对的,SearchHistory是对的,当二者关联起来的时候也是对的;要完成前面两个目标很简单直接调用3.0_BookDetail.webtest 5.0_SearchHistory.webtest就可以了;(点右键:Add Call To Web Test…)

4.  是不是可以可以分工协作?显然每一个webtest都可以独立的完成,对于重复验证的部分直接调用你的搭档的webtest就可以了,互不影响;这和我们开发中的调用很像

这样做我们得到了什么别的好处?

1.  迅速的定位错误;3.0_BookDetail.webtest 不能通过测试5.0_SearchHistory.webtest能通过测试,3.4_BookDetail – SearchHistory不能通过测试;这说明什么?是因为BookDetail页面的出错了,而且错误导致了后面的SearchHistory页面也是错的。而SearchHistory页面本身是没有问题的。

2.  网站改进用来评估风险;比如我现在要改进3.0_ BookDetail,改进之后哪些页面会不正常,直接看3.1到3.4就可以了;

VSTS自动化测试工具能做什么、擅长做什么

下面仅仅是简单的列了一下,具体的内容请参考MSDN:

·Web 测试通过发出 HTTP 请求在协议层工作。

·Web 测试不运行 JavaScript。但是,可以在运行时通过使用 Web 测试插件、Web 测试请求插件、提取规则或编码的 Web 测试来模拟 JavaScript 操作。

·Web 测试可用于功能测试、性能测试和压力测试。

·通过在浏览器会话中记录活动,可以创建 Web 测试。

·还可以使用 Web 测试编辑器手动构建 Web 测试。

·Web 测试在“Web 测试编辑器”中最初是一个作为表示 Web 请求的 URL 列表。如有必要,可以将这些请求转换为 Visual C# 或 Visual Basic 代码(称为“编码的 Web 测试”)。在 Web 测试转换为相应的编码格式之后,可以添加循环和分支构造。

·Web 测试和 Web 测试结果中可能包含敏感信息,这些信息可能会被用来生成对计算机或网络的攻击。Web 测试和 Web 测试结果包含 URL 和连接字符串。在与他人共享测试或测试结果时应注意这一点。

Web 测试可自动处理这些 HTTP 操作:

  • 包括 VIEWSTATE 的隐藏字段相关性
  • 重定向
  • 从属请求
  • 身份验证
  • 通过 HTTPS/SSL 确保安全

最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员二黑

V:testerhei

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值