软件测试--自动化测试工具

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件测试》自动化测试学习笔记(红字部分是我自己的理解)

参考资料:《软件测试》第14章自动测试和测试工具

一。工具和自动化的主要属性

1。速度

2。效率(测试人员可以做别的测试任务)

3。准确度和精确度(前提是测试人员知道如何检查结果是否准确)

4。坚持不懈(测试人员也会有疲倦的时候,注意力也会降低)

二。测试工具

1。查看器和监视器

能够看到平常看不到的软件操作细节。比如像网络抓包工具的使用,它是监听线路,取出经过的数据,在另一台计算机上显示。还可以观察软件缺陷为什么产生。(类似于观察linux后台日志,因为光从用户角度,是看不清楚整个过程的,有些BUG在界面上并不能看到,也能分析界面上BUG产生的过程,像这类可以深入观察数据流过程的测试工具是非常有用的)

2。驱动程序

用于控制和操作测试软件的工具。(这应该是目前大部分自动化测试工具所属的类型,让测试工具记录下顺序执行的程序或命令的简单清单)

3。管道

属于白盒测试技术,管道接受或者响应软件发送的数据,例如:一台电脑向打印机发送数据的软件,查看打印的结果是否正确,这个时候可以使用管道软件来代替打印机接受数据并检测结果。(我记得曾经使用这种软件,但还没有做到检测结果,该软件把最终打印的纸在电脑上显示出来)

4。施压和增负工具

向测试软件增加压力和负载,施压工具可以分别设置内存量、磁盘空间、文件数量、以及其他可用资源。(不能理解为是性能测试工具,这里的压力来自于系统本身而非用户并发作用产生的)

5。干扰发射器和噪声发生器

类似于施压工具和增负工具,但是更具有随机性。决定在哪里和如何使用干扰发射器和噪声发生器时,考虑何种外部因素会影响测试软件,然后设法改变和操作这些影响因素看软件能否应付。(我理解为测试环境的特性是否会影响到测试软件的使用,和测试软件相关的外来因素都可以尝试变化,这里所指的工具应该是不用人工来变化测试环境,自动进行)

6。分析工具

例如:字处理软件、电子表格软件、数据库软件等(我认为指的是辅助工具,曾经做性能测试时,LR分析报告中的数据需要通过Excel工具画出更直观的图表来分析结果,这里的Excel就是这种类型工具)

三。软件测试自动化

它们可以执行测试案例、查找软件缺陷、分析看到的信息,记录结果。这就是软件测试自动化。

最基本的测试自动化类型是录制第一次执行测试案例时的键盘和鼠标操作,然后在需要重新执行时回放。属于驱动程序类型。

四。使用测试工具和自动化的实质

测试自动化不是万能的。存在下面这些问题:

1。软件变更。这时,需要编写自动化程序使其具备灵活性,在必要时能够方便快捷地改变(我个人认为像这种容易改变的软件,最好不要进行自动化测试,作者所说地解决办法太难实现了,谁能预料到下一个版本会改变成什么样?所以我的上一家公司没有进行自动化测试,因为版本变化太大了,做自动化测试只会吃力不讨好)

2。人眼和直觉是不可替代地。(因为自动化测试不可能像人一样聪明,看到新鲜事物时变化自己的测试案例。例如错误推断,测试人员在执行测试的过程中,看到某些现象后产生了新的想法,然后增加测试用例,而自动化测试工具做不到也无法告诉测试人员)

3。验证难以实现。(也是指用户界面的变化太大,验证的结果发生变化。)4。容易过分依赖自动化。执行了全部自动化测试没有发现软件缺陷,不等于认为没有缺陷要找了。(和手工测试是一个道理,软件缺陷是找不完的)

5。不要花费太多时间使用达不到测试软件目的的测试工具和自动化。(测试工具是用来进行实际工作的,如果像QTP这种功能强大的工具,并不支持PB应用程序,即使你再精通QTP,也无法使用它来自动化测试。所以根据测试系统来挑选测试工具,而不是盲目地跟风学习热门的测试工具,会熟练使用测试工具了也不代表你能做好自动化测试,切记)

6。编写宏、开发工具和编制猴子都属于开发工作。(这里指的是自己开发测试工具来实现自动化测试,我在上一家公司时,有位测试前辈曾经这样做过,用web的形式来自动化测试后台某模块的功能。但并没有做到完全自动化,因为最后结果需要测试人员来验证。)

7。某些工具时侵入式的,可能导致测试的软件不正常失败。(这种情况我到没遇到过,是工具引起的问题就直接忽略吧)

五。小结

测试自动化同样可以运用到编译器、网络和web服务器的测试中。好好想一想需要执行的测试任务,如何利用软件使其更加容易和快速实现--这正是自动化的领域。清楚何时使用工具和使用哪一种工具是软件测试员地重要技巧。(所以,自动化测试是一定建立在测试人员对所测系统非常熟悉,测试案例比较完全的基础之上,利用测试工具来达到提高测试效率的目的,千万别被测试工具给利用了。。。)

软件测试知识复习

2007-06-14 11:20:40 / 个人分类:测试

软件开发过程及软件质量保证

1.软件开发过程的几个主要阶段:

1)定义。明确开发的目标,软件的需求。

2)计划。制订软件开发所涉及到的计划。

3)设计。设计、编码、编写文档等,完成要求的软件特性。

4)稳定化。主要是测试和缺陷修复,确保软件的质量。

5)安装。安装、提交完成的软件,为客户提供运行环境。

2.几种常用的软件生命周期模型:

1)瀑布模型。

2)原型模型。

3)增量模型。

4)螺旋模型。

从软件测试人员的角度来看软件开发过程,需要注意的是:测试贯穿在整个开发过程中,而不是在某个阶段集中地做一下测试而其它阶段不用理会测试工作。

一个软件之所以被认为为质量优秀,是它内在具备了这样一些特性:

满足用户的需求;

合理进度、成本、功能关系;

具备扩展性和灵活性,能够适应一定程度的需求变化;

能够有效地处理例外的情况;

保持成本和性能的平衡。

软件质量保证(Software Quality Assurance-----SQA)是为了确保软件开发过程和结果符合预期的要求而建立的系列规程,以及依照规程和计划采取的一系列活动及其结果评审。

软件质量保证的活动主机包括:

技术方法的就用;

正式技术评审的实施;

软件测试;

标准的执行;

修改的控制;

度量;

记录和记录保存。

软件错误的定义:软件错误是软件产品中存在的导致期望的运行结果和实际结果间出现差异的一系列问题,这些问题包括故障、失效、缺陷。

软件测试:

软件测试就是为了发现软件中存在的错误而分析或执行程序的过程。具体地说,软件测试是分析程序或根据软件开发各阶段的规格说明和各程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程。

相关文档
最新文档