自动化测试的旅途——初识Selenium与自动化测试

1.前言

在面对一项新技术,开发者应该保持淡然的心态,计算机行业是更新迭代非常快的一个行业,稍有不慎就会从“工程师”沦为成为“IT民工”,从“面向对象编程”变成“面向接口编程”,“面向百度编程”和“面向跳槽编程”,逐渐失去核心竞争力。

2. 初识自动化测试

互联网公司早已从传统的手工测试转为了自动化测试,各大中小型企业也在逐渐向自动化测试过度。各大高校的计算机专业大多与软件开发为课程主方向,计算机专业的大学生入行未深,对测试有着一定的误解和轻蔑。这种对待测试的态度会在学习《软件工程》这门课后逐渐好转,但是总体对待测试的态度依然不佳。

实际上,测试也是和开发并驾齐驱的计算机艺术,尤其是自动化测试。自动化测试对测试人员的编程能力有着不低的要求,自动化测试脚本的编写可以基于多种语言,例如Java、Python、PHP等多种语言。所以测试人员需要掌握1~2门编程语言,才可以编写自动化测试脚本。最重要的是——

编程能力的高低是决定能否写出优秀自动化测试框架的关键。

因此“女孩子适合做测试”、“不会开发软件就去做测试”等言论有待论证。

3.Selenium

就像我们在前言中提到的一样,工程师面对一个从未接触过的技术是不必焦虑和慌张的。查阅国内相关的教材书、查看网络上相关的博客和社区的讨论、查看官网的开发文档或者阅读英文的相关书籍,都可以让开发者从入门到熟悉。其中的时间花费不过两三日。

Selenium有3个版本,现在1.0和2.0的使用比较少,3.0是当前最新的版本。Selenium可以测试网页端和移动端,主要是对UI进行测试。以Web端为例,Selenium调用浏览器内置的接口,模拟用户的真实操作。使用各种语言编写的脚本可以让Selenium代替手工测试,做到脚本一运行后,自动按照预期进行操作并且产生测试报告。所以测试人员在前期投入的时间比较多,后期测试旧功能时就可以喝喝茶走走神了,等待自动化报告的产生即可。

4.自动化测试可以做的事

举一个简单的例子,系统在运行的过程中难免会因为各种原因停止服务,若开发人员没有及时发现,会造成不可逆转的损失。一个简单的自动化脚本可以定时访问系统,若经过多次测试,测试结果依然没有按照预期的脚本进行,测试脚本会以邮件或者短信甚至电话等方式向运维人员发出告警,争取做到短时间内响应系统异常。

上述的脚本,可以用以下三种方式实现:
1.在数据库中编写存储过程,定时向数据中插入大量输入,若插入成功,则认为系统运行正常。
2.使用系统提供的接口,向数据库中插入大量输入,若插入成功,则认为系统运行正常。
3.使用自动化测试工具,例如Selenium模拟用户的真是操作,向数据库中插入或者请求数据,若成功,则认为系统运行正常。

页面中表单的输入方式有多种,光靠手工测试容易遗漏且枯燥,自动化测试可以自动填充表单内的数据并且提交,可以极大程度的减少测试人员的手工测试,增加测试人员的工作幸福感,让测试人员专心于推进整个项目的自动化测试,而不是浪费时间在打字上。

5. 自动化测试的投入与投出

使用自动化测试的目的不是为了发现Bug,而是为了验证之前正确的功能能否继续正常工作。

目前开发的系统都较大,100%的自动化测试覆盖是极难的,所以整体系统的测试划分也是系统在设计时的重点。
在这里插入图片描述
如上图所示,单元测试的收益是最大,UI界面的测试需要考虑浏览器的各种因素,还有网络的延迟、页面渲染速度的快慢。而且UI界面的改动通常会影响整个自动化测试脚本的编写,因此最好保证充足的单元测试,在系统趋于稳定是再着手于UI界面的测试是较佳的计划。

6.测试的分工

测试人员主要分为3类——
1.测试框架开发人员
2.测试脚本编写人员
3.测试用例和测试需求编写人员

前二者一般是测试人员,第三者一般是非测试人员,一般由系统的设计者或者产品的验收者进行制定。
由此也可以看出,测试人员需要拥有扎实的的编程基础。小之自动化脚本的编写,大至测试框架的架构,都离不开深厚的计算机基础。

7.流失人才不流失经验

因为国内互联网公司的繁荣,人才的流失成为了企业不得不面对的难题之一,及时的复盘和总结尤为重要。测试团队亦是如此,每次测试的结果都应该保存,针对测试用例的编撰、测试脚本的编写和测试框架的架构都应该不断的优化并且记录在案,为后续团队的新成员提供支持,保证团队的传承不中断,真正让开发团队成为成为敏捷开发的团队。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值