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

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1515400  章15 自动测试和测试工具(1)  测试软件是一项艰苦的工作。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1515400
 
章15 自动测试和测试工具(1)
 
 
测试软件是一项艰苦的工作。当对测试用例进行等价划分时,必然会减少了测试的覆盖范围。如果测试员需要做更多的测试,该如何办?
方法是开发并使用工具。
一、工具和自动化的好处
在大多数软件的开发模式中,软件发布之前要多次重复代码 —— 测试 —— 修复的过程。
如果要测试某项特性,也许需要不止一次执行测试,而是重复多次。还要检查确认在前面的测试中发现的软件缺陷修复没,同时又没有引入新的软件缺陷。重复执行测试的过程称为回归测试。
软件测试工具和自动化可以在有限的时间内执行多次测试。
工具和自动化的主要属性是:
1)速度;
2)效率;
3)准确度和精确度;
4)节省资源;
5)仿真和模拟;
6)坚持不懈。
注意:软件测试工具不能代替软件测试员 —— 它们只能帮助软件测试员更好地工作。
一定要注意,使用测试工具不见得总是对的,有时手工测试是不可代替的。
目前的任务是了解测试工具能做什么以及怎么做,考虑如何用它们来完成测试任务。
二、测试工具
使用工具的类型取决于测试的软件类型,以及是进行黑盒测试还是白盒测试。
测试工具的好处是使用时并不是总需要深入了解工具在怎样做或者做什么。
测试员不必了解工具是怎样做到的,只要知道它做得到就可以了 —— 这就是黑盒测试。
另一方面,测试员要有效使用这些工具,需要具备一些白盒技能以及底层协议的知识。
1、非入侵式工具和入侵式工具的区别:
1)非入侵式工具:如果工具仅用于监视和检查软件而不对其进行修改,就认为是非入侵式工具。
2)入侵式工具:如果工具以任何方式修改了程序代码或者控制了操作环境,就属于入侵式工具。
由于入侵的程度各有不同,测试员通常设法使用侵入性尽量小的工具,以减少工具影响测试结果的可能性。
2、查看器和监视器
查看器(viewer)或者监视器(monitor)测试工具能够看到正常情况下看不到的运行的细节。
1)如代码覆盖率分析器就是查看器的一个例子。
代码覆盖率分析器是如何提供一种方式来查看哪些代码行得以运行、什么函数正在运行、执行测试时所运行的代码分支的。大多数的代码覆盖率分析器是入侵式工具,因为它们需要编译并链接到原程序中才能获得所需信息。
2 通信分析器 (communications analyzer) 是另一种查看器的例子。
它只是监听线路,提取经过的数据,在另一台计算机上显示。利用该系统可以查看通信数据的正确性以及观察软件缺陷为什么会产生。
通过查看从线上提取的数据,就可以确定问题是出于创建数据的机器还是解释数据的机器。这种类型的系统对软件是非入侵式的。
在网络中,真正监视器被称为嗅探器(sniffer)。
3)大多数编译器所带的代码调试器也可以看做是查看器,看到一般用户看不到的数据的工具都可以归类为查看测试工具。
3、驱动程序
驱动程序是控制和操作被测试软件的工具。
最简单的驱动程序的例子是批处理文件(batch file)。在DOS时代很流行,然而,在现金的操作系统和编程语言下,执行测试程序有更多复杂的方法。如java和perl脚本可以取代老的MS-DOS批处理文件,并且windows任务调度程序可以在全天24小时的任意时刻执行各种测试程序。
在设法驱动被测试的软件时,想一想从外部控制程序的所有可行方法,然后,想方法用自动提供测试输入的方式代替外部控制。
4、桩
桩和驱动程序一样,属于白盒测试技术。桩与驱动程序本质上是相反的,桩不控制或者操作被测试软件;相反,它接收或者响应软件发送的数据。
当软件需要与外部设备进行通信时经常要用到桩。一般在开发过程中不能得到这些设备,或者这些设备很少,桩就可以使测试在没有硬件的条件下进行,使测试更加有效。
仿真器(emulator):仿真器是在实际使用中用来代替真正设备的设备。
仿真器和桩的区别在于桩还给测试程序提供手段来查看和解释发送给它的数据,桩是仿真器的超集。
5、压力和负载工具
压力(stress)和负载(load)工具用于向被测试软件增加压力和负载。
一般的压力测试软件可以分别设置内存量、磁盘空间大小、文件数量,以及在该机器上运行软件的其它可用资源。
把这些值设置为零或者近似为零,会使软件执行不同的代码分支以试图处理这种紧迫限制。理想情况是软件运行不发生崩溃或者数据丢失。它可能会运行得很慢,或者宣布在内存不足情况下运行,但是无论如何它会正确运行,或者正常地降级运行。
负载工具和压力工具的相似之处在于,它们为软件创造了用其它方式难以创造的环境条件。
例如:运行在web服务器上的商用程序可以通过模拟一定数量的链接和单击次数来增大负载,使其不堪重负。
6、干扰注入器和噪声发生器
干扰注入器(interference injectors)和噪声发生器(noise generators)是类似于压力和负载工具的另一类工具。它们在行为上更具有随机性。
例如:挂在通信线路上的干扰注入器可以测试软件能否处理由超声引起的错误情况。
决定在哪里和如何使用干扰注入器和噪声发生器时,考虑何种外部因素会影响测试软件,然后设法改变和操纵这些影响因素看软件如何应付。
7、分析工具
最后一类工具称为分析工具(analysis tool),它们常常不受重视,但是它们能够促进测试,节省大量时间。
1)文字处理软件
2)电子表格软件
3)数据库软件
4)文件比较软件
5)抓屏和比较软件
6)调试器
7)二进制 —— 十六进制计算器
8)秒表
9)录象机或者照相机
软件的复杂性和方向性总是在变,要视具体情况来决定最有效的工具是什么,以及如何运用它们。
 
目录
相关文章
|
4月前
|
监控 IDE jenkins
什么是自动化测试,看完你就懂了!
【1月更文挑战第2天】随着互联网技术的飞速发展,软件本身的规模和复杂度也是逐步增加,为了保证软件项目能够保质保量交付到客户手中,软件测试环节就显得非常重要了
|
9月前
|
Web App开发 Java 测试技术
反了!居然让我教她自动化测试!
Selenium 大家应该都很熟悉了吧,简单说它就是个基于浏览器的 Web 自动化测试工具,基本上是自动化测试人员首选工具。是不是感觉很厉害?然而这么强大的工具它居然还是免费的,并且代码已经开源,这简直不敢想象。 说的这么厉害,那它要如何使用呢?
|
测试技术
你真的需要自动化测试吗?
先想清楚场景和价值
69 0
|
6月前
|
SQL JavaScript 前端开发
GitHub标星11.9k兼职项目!基于SpringBoot + VUE电商-分销商城系统
商城系统支持商家入驻,后端基于SpringBoot 研发,前端使用 Vue、uniapp开发, 系统全端全部代码开源 前后端分离,支持分布式部署,支持Docker,各个API独立,并且有独立的消费者。
|
JavaScript 前端开发 HTML5
分享25个好玩的 JavaScript 小游戏
  JavaScript 早已不只是一门写写网页特效的脚本语言了,如今广泛用于网站的前端交互。值得一提的是,当下Web开发者们追捧的 Node.js 使得 JavaScript 能够在更多环境下运行,甚至是网站的服务器端,使得这门语言再次受到大家的关注。
3217 0
|
人工智能 Java 索引
Java 学习(08)--数组常见问题
Java 学习(08)--数组常见问题 1.数组遍历(依次输出数组中的每一个元素) //数组遍历(依次输出数组中的每一个元素) public class shuzu1{ public static void mai...
966 0
|
2天前
|
关系型数据库 Serverless 分布式数据库
高峰无忧,探索PolarDB PG版Serverless的弹性魅力
在数字经济时代,数据库成为企业命脉,面对爆炸式增长的数据,企业面临管理挑战。云原生和Serverless技术革新数据库领域,PolarDB PG Serverless作为阿里云的云原生数据库解决方案,融合Serverless与PostgreSQL,实现自动弹性扩展,按需计费,降低运维成本。它通过计算与存储分离技术,提供高可用性、灾备策略和简化运维。PolarDB PG Serverless智能应变业务峰值,实时监控与调整资源,确保性能稳定。通过免费体验,用户可观察其弹性性能和价格力,感受技术优势。
|
11天前
|
Kubernetes 安全 Devops
【云效流水线 Flow 测评】驾驭云海:五大场景下的云效Flow实战部署评测
云效是一款企业级持续集成和持续交付工具,提供免费、高可用的服务,集成阿里云多种服务,支持蓝绿、分批、金丝雀等发布策略。其亮点包括快速定位问题、节省维护成本、丰富的企业级特性及与团队协作的契合。基础版和高级版分别针对小型企业和大规模团队,提供不同功能和服务。此外,云效对比Jenkins在集成阿里云服务和易用性上有优势。通过实战演示了云效在ECS和K8s上的快速部署流程,以及代码质量检测和AI智能排查功能,展示了其在DevOps流程中的高效和便捷,适合不同规模的企业使用。本文撰写用时5小时,请各位看官帮忙多多支持,如有建议也请一并给出,您的建议能帮助我下一篇更加出色。
136096 15
|
12天前
|
存储 缓存 监控
你的Redis真的变慢了吗?性能优化如何做
本文先讲述了Redis变慢的判别方法,后面讲述了如何提升性能。
102155 2