首页 > 其他分享 >章15 自动测试和测试工具(2)

章15 自动测试和测试工具(2)

时间:2023-03-28 11:09:03浏览次数:39  
标签:15 回放 自动测试 录制 猴子 测试 自动化 测试工具


 章15 自动测试和测试工具(2)

 

三、软件测试自动化
测试自动化(test automation)是一类工具。它可以执行测试用例、查找软件缺陷、分析看到的信息、记录结果。这就是软件测试自动化。
1、宏录制与回放
最基本的测试自动化类型是录制第一次执行测试用例时的键盘和鼠标操作,然后在需要重新执行这些测试时回放一次。
在MAC系统上有Quickeys工具可以录制并回放;在windows上有Macro Magic工具。
宏录制器和播放器是一种驱动程序工具。用于控制和操作被测试软件的工具。
如Macro Magic设置向导可以设置宏的如下选项:
1)名称:为宏命名;
2)重复次数:设置宏在运行时重复或者循环的次数;
3)触发条件:设置宏如何启动,可以按热键、输入一串字符、单击快捷方式、当某个窗口显示出来时或者当系统闲置一段时间之后;
4)捕捉对象:可以选择只捕获(记录)键盘操作或键盘和鼠标的移动和单击都记录;
5)回放速度:该速度比最初录制时最多慢20%,最多快500%;
6)回放位置:该选项确定鼠标移动和单击位置与某个窗口的位置是绝对的还是相对的。
注意:在使用宏录制器捕捉鼠标移动和单击时要小心,因为程序并非总是在屏幕上的同一位置启动和出现。把回放位置设置为相对于程序窗口比设置为屏幕的绝对位置更好,即便如此,GUI的一点变化也会扰乱捕捉的步骤。
2、可编程的宏
可编程的宏是在简单录制和回放的变化上的一大进步。与其通过录制第一次执行测试时的操作来创建可编程的宏,不如在创建时编写回放系统遵循的简单指令。
可编程的宏与录制的宏相比,具有真正的优势:
1)它可以暂停执行,向测试员提示预期结果,并询问测试是通过还是失败。
2)还可以解决录制宏的许多时序问题,不是依靠绝对延时,而是等待特定条件成立才继续执行。
然而,在进行复杂测试时还遗漏了两个重要之处:
1)可编程的宏限于直接执行命令行——只能循环和重复;
2)在常规编程语言中可以见到的变量和决策语句不能使用,而且没有自动检查测试结果的能力。
3、完全可编程的自动测试工具
像可视化测试程序这样的自动测试工具为软件测试员创建强大测试提供了手段。
许多工具基于BASIC编程语言。
这些自动化工具具有的最重要的特点是进行验证的能力,实际上就是检查软件是否以预期方式运行。实现这一点的方式:
1)屏幕捕获:首次执行自动测试时,可以在肯定正确的关键点捕捉并保存屏幕图像;
2)控件值:检查软件窗口中各种控件的值;
3)文件和其它输出。
验证是自动测试要克服的最后一个大难题。
四、随机测试:猴子和大猩猩
有一类测试工具不是为帮助执行或者自动执行测试用例而设计的,其目标是模拟用户可能的操作,此类自动化工具称为测试猴子(test monkey)。
测试猴子的来源:如果让一百万只猴子在一百万只键盘上敲一百万年,从统计的角度上讲,它们最终就可能写出莎士比亚话剧Adventures of Curious George(好奇乔治历险记)等巨著。
1、笨拙的猴子
最简单最直接的测试猴子是笨拙的猴子:只是随机地单击鼠标或者敲击按键。
不停重复和使用笨拙的猴子可能会暴露内存泄漏等软件缺陷。
2、半聪明的猴子
在笨拙的猴子的基础上加上日志记录,将猴子的所有操作记录到一个文件中。
当猴子发现软件缺陷时,只需查看日志文件,找出在失败前猴子做了些什么。
技巧:另外一个解决方法时用摄像机录下屏幕上的内容。当发现软件出现故障时,就倒回去重新看看。
3、聪明的猴子
不仅限于查找崩溃缺陷,同时还查看数据、检查操作结果、找出其与预期结果的差别。
五、使用测试工具和自动化的实质
记住,测试自动化不是万能的。如果正确规划和执行的话,工具和自动化可以使测试效率大大提高并且能发现其它方式不能发现的缺陷。
然而,如果自动化和工具步入歧途,会导致无数的自动化测试的努力被放弃,并且使项目成本大大增加。
考虑以下因素:
1)软件变更;
2)人眼和自觉是不可替代的;
3)验证难以实现;
4)容易过分依赖自动化;
5)不要花费太多时间使用达不到测试软件目的的测试工具和自动化;
6)编写宏、开发工具和编制猴子都属于开发工作;
7)某些工具是入侵式的。

标签:15,回放,自动测试,录制,猴子,测试,自动化,测试工具
From: https://blog.51cto.com/prettycms/6154212

相关文章

  • 章15 自动测试和测试工具(1)
    章15自动测试和测试工具(1)  测试软件是一项艰苦的工作。当对测试用例进行等价划分时,必然会减少了测试的覆盖范围。如果测试员需要做更多的测试,该如何办?方法是开......
  • LabVIEW与西门子S7系列 三菱全系列 欧姆龙PLC通讯支持西门子S7系列S7-1200,S7-300,S7-15
    LabVIEW与西门子S7系列三菱全系列欧姆龙PLC通讯支持西门子S7系列S7-1200,S7-300,S7-1500,S7-200SMART直接TCP访问IO输入输出和M,DB,V等等寄存器支持三菱FX,Q系列FX2N,FX3U,FX5U......
  • 15 redis在Linux上的简单应用
    redis非关系型数据库redis的安装安装:yuminstallredis卸载:yumremoveredisredis的管理启动redis:systemctlstartredis查看redis的运行状态:systemctlstatusre......
  • 150. 逆波兰表达式求值
    给你一个字符串数组tokens,表示一个根据逆波兰表示法表示的算术表达式。请你计算该表达式。返回一个表示表达式值的整数。注意:有效的算符为'+'、'-'、'*'和'/'。......
  • OWASP ZAP安全测试工具--安装
    OWASPZAP是世界上最受欢迎的免费安全工具之一。ZAP可以帮助我们在开发和测试应用程序过程中,自动发现Web应用程序中的安全漏洞。另外,它也是一款提供给具备丰富经验的渗透测......
  • 选择静态应用程序测试工具(SAST)的七点清单
    从汽车到飞机,从医疗设备到工业控制系统,许多现代化产品都需要由软件驱动,安全问题已经成为制造商关注的重点问题。软件缺陷不仅会通过引入可被攻击者利用的漏洞影响安全性,还......
  • Vue根据时间戳制作倒计时15分钟
    废话不多说直接上代码<script>exportdefault{data(){return{downTimeShow:true,timer:null,......
  • Oracle问题:ORA-01565
    问题oracle启动时报错,找不到spfile文件。ORA-01078:failureinprocessingsystemparametersORA-01565:errorinidentifyingfile'+datadg/prod/parameterfile/spf......
  • LeetCode|1574. 删除最短的子数组使剩余数组有序
    题目链接:1574.删除最短的子数组使剩余数组有序给你一个整数数组arr,请你删除一个子数组(可以为空),使得arr中剩下的元素是非递减的。一个子数组指的是原数组中连续......
  • Leetcode 15 & 16 (双指针)
    都是比较经典的双指针问题,我们可以从中总结一些双指针的规律首先这两题如果en做的话就是\(O(n^{3})\)的算法,暴力去找。但是我们可以发现这三个值是满足一定约束的,所以......