版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件质量保证与测试第7章软件测试自动化SoftwareQualityAssuranceandTesting
7.2自动化黑盒测试黑盒测试自动化
黑盒测试的执行环节,就是反复运行被测软件,输入数据,记录结果,并把实际执行结果和预期结果进行对比,来检查软件执行是否正确。
可以采用自动化的手段来实现这种重复的黑盒测试执行过程,这就是黑盒测试的自动化,或者叫自动化黑盒测试。
我们要实现某一执行过程的自动完成,通常可以通过编写代码来实现,例如以下代码段:
s=0
fori=1to1000s=s+iendfor
可以自动完成从1到1000的累加。自动化黑盒测试的原理
类似的,我们也可以通过编写代码来实现黑盒测试执行过程的自动完成,这被称为脚本技术。例如,以下为一段测试脚本,用于实现对被测软件的一次自动化执行,为便于理解,脚本中对各个语句行的操作内容进行了注释。自动化黑盒测试的原理——脚本技术startApp("ClassicsJavaA");//启动应用软件ClassicsJavaAtree2().click(atPath("Composers->Bach->ViolinConcertos"));//在显示的目录树中依次选择Composers、Bach、ViolinConcertos............placeAnOrder().inputKeys("{Num3}{Num4}{Num1}{Num2}{Num3}{Num4}");
//输入数字“341234”确定().click();//单击“确定”按钮classicsJava(ANY,MAY_EXIT).close();//关闭应用软件ClassicsJavaA自动化黑盒测试的原理——脚本技术测试脚本是一组可以在测试工具中执行的指令集合,它是计算机程序的一种形式。通过测试脚本可以控制测试过程的自动化执行。我们可以直接用脚本语言来编写测试脚本,就像我们编写其它高级语言程序一样。但这要求编写者对脚本语言非常熟悉。自动化黑盒测试的原理——脚本技术还有一种办法,可以让并不熟悉脚本语言的软件测试人员也可以方便的得到测试脚本,那就是录制技术。所谓脚本录制是指,测试人员在支持脚本录制的测试软件中,把对被测软件的测试过程手工执行一次,执行过程中,测试软件会把测试的每一步操作,转换为脚本语言代码并记录下来,并最终得到可以自动完成整个测试过程的测试脚本。通过录制来得到测试脚本,可以减少脚本编程的工作量。自动化黑盒测试的原理——脚本录制自动化黑盒测试的原理——脚本录制支持脚本录制的测试软件手工执行测试过程测试脚本转换成代码并记录
录制是将用户的每一步操作都记录下来。要记录操作位置(即用户界面的像素坐标)或操作对象(窗口、按钮、滚动条等),以及相应的操作(如输入、单击、事件触发、状态变化或是属性变化等)。所有的记录会转换为一种用脚本语言所描述的过程,也就是指令集合,或者叫脚本程序。自动化黑盒测试的原理——脚本录制脚本录制好后,只要执行脚本,就可以把测试过程重做一遍,这被称为回放。也就是说,回放就是通过执行测试脚本来重做测试过程。自动化黑盒测试的原理——回放自动化黑盒测试的原理——回放支持脚本录制的测试软件测试过程手工执行测试脚本录制回放测试过程自动执行User******回放时,脚本语言所描述的过程会转换为屏幕上的操作,并可以将被测软件的输出结果记录下来,以便同预先给定的标准结果进行比较,判断测试通过还是不通过。通过脚本回放,测试过程可以自动进行,这样可以大大减轻黑盒测试的工作量,在迭代开发的过程中,也能够很好地进行回归测试。自动化黑盒测试的原理——回放可以对由录制生成的脚本进行修改和优化。例如录制过程中一些对测试而言没有意义的操作如鼠标的滑动等也会被录制到测试脚本中,可以把这些内容删除,以提高测试的效率。可以把分支、循环、函数调用等逻辑结构加入到测试脚本中,类似于结构化程序设计,以增强测试脚本的功能。脚本优化
例如,某段测试脚本中,以下代码行经分析对测试而言没有意义,应删除。memberLogon().dragToScreenPoint(atPoint(209,9),toScreenPoint(209,10));
//窗口拖动classicsCD().doubleClick(atPoint(533,368));//无用的鼠标双击classicsCD().Click(atPoint(515,320));//无用的鼠标单击............脚本优化借助于在脚本中插入数据验证点,可以在脚本回放时进行数据检查验证,以判断测试过程或结果是否正确。例如,以下脚本代码行用于插入数据验证点,检验被测软件计算得到的总金额是否等于预定值:_15090().performTest(OrderTotalAmountVP());数据验证点
以下脚本代码中插入了数据验证点,检验被测软件显示的提示文本是否符合预期:startApp("ClassicsJavaA");............placeOrder().click();rememberPassword().performTest(Password_textVP());ok().click();数据验证点
课堂提问:通过阅读脚本,请同学们看一下其中哪一行是插入的验证点?startApp("ClassicsJavaA");............placeOrder().click();rememberPassword().performTest(Password_textVP());ok().click();数据验证点数据验证点除了可以判断测试过程或结果是否正确之外,还可以实现脚本代码执行和界面显示之间的同步。例如,测试流程为:在前一个界面执行后,弹出后一个界面,然后在后一个界面单击“ok”按钮。但可能当脚本代码执行到要在后一个界面单击“ok”按钮时,后一个界面“ok”按钮还没有显示出来,此时,应在实现单击“ok”按钮的代码行之前,插入数据验证点,检查后一个界面“ok”按钮是否已经显示出来。数据验证点测试脚本如下:............tree2().click(atPath("Composers->Bach->Location(PLUS_MINUS)"));tree2().click(atPath("Composers->Bach->ViolinConcertos"));placeOrder().click();placeOrder2().performTest(okButtonPropertiesVP());//验证点ok().click();数据验证点把测试脚本一成不变的重复执行很多次意义并不大,通过为测试脚本配置数据驱动,可以在重复执行测试脚本的过程中,每次输入不同的测试数据,以实现大量测试数据的自动测试执行。测试脚本的数据驱动就是在脚本中把输入数据设置为变量,并配置一张变量的取值表,每次执行测试脚本时从变量的取值表中取出一行作为输入数据,来完成测试。数据驱动有了测试脚本的数据驱动,虽然测试过程是一样的,但测试输入的数据并不相同,每一次测试都能达到不同的测试目的。数据驱动测试脚本变量1变量2变量3..........
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 25江西南昌动物园招聘1人备考题库及完整答案详解1套
- 2026福建莆田市城厢区考核招聘编内新任教师20人备考题库(含答案详解)
- 银行收单业务培训课件
- 胎儿电子监护与胎儿遗传学检查
- 广东省广州市天河区2025-2026学年七年级上学期期末生物学试题(含答案)
- 药理学入门:他克莫司免疫抑制课件
- 微生物与感染病学:囊虫鉴别课件
- 营改增培训课件幼儿园
- 胃肠减压患者的心理护理
- 2025-2030中国蜂蜡蜡烛行业现状动态与前景趋势研究研究报告
- 畜牧安全培训资料课件
- 有子女离婚协议书
- 2026四川省引大济岷水资源开发限公司公开招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025至2030中国汽车检测行业市场深度研究与战略咨询分析报告
- 2026年南昌健康职业技术学院单招职业技能考试备考试题附答案详解
- 2026年安徽粮食工程职业学院高职单招职业适应性考试备考试题及答案详解
- 雨课堂学堂在线学堂云《中国电影经典影片鉴赏(北京师范大学)》单元测试考核答案
- 四川水利安全b证考试试题及答案
- 2626《药事管理与法规》国家开放大学期末考试题库
- 核电站防地震应急方案
- 2025江西江新造船有限公司招聘70人模拟笔试试题及答案解析
评论
0/150
提交评论