第六章 软件测试自动化 HLJU Software Testing.

Slides:



Advertisements
Similar presentations
迪士尼公主裙衫变化记. 《白雪公主和七个小孩人》 《白雪公主和七个小矮人》,是世界电影史上第一部长动 画片,也是迪士尼的第一部。《白雪公主》不仅为迪斯尼 带来了第一尊奥斯卡小人,更是拯救迪斯尼于水火的贵 人 —— 在经济大萧条的 1937 年的美国,《白雪公主》为迪 斯尼赚到了 850 万美元,这约等于现在的数亿美元!
Advertisements

我国国有银行 资本构成及资本充足率变化 小组成员:金融 尹佳裕 王淼 刘钰 金融 吴昱.
1 课程介绍 报告人:谢兆贤 2015/9/X. 2 纲要  课程设置  教学内容  教学设计  教学组织与实施  课程特色与创新  实验项目.
软件测试 —— 自动化测试. 2 人与工具 工欲善其事,必先利其器。 荀子曰:吾尝终日而思矣, 不如须臾之所学也。吾尝〔 足支〕而望矣,不如登高之 博见也。登高而招,臂非加 长也,而见者远。顺风而呼 ,声非加疾也,而闻者彰。 假舆马者,非利足也,而致 千里。假舟辑者,非能水也 ,而绝江河。君子生非异也.
Web Maple— 云端计 算 数学学院刘海洋 胡婷婷. 需求 什么是 Web Maple ? Maple : “ 数学家的软件 ” 符号和数值计算 动态编程语言 集成编辑环境与图形输出 Web Maple :网页上的数学家 完整的 Maple 功能 云端计算 网页独特的输入输出格式.
興南國小強化體適能活動 學務處體育組 ( ) 此檔案家長可在學校首頁行政公告下載. 教育部體適能常模 坐姿體前彎 ( 公分 ) 立定跳遠 ( 公分 ) 仰臥起坐 ( 次 ) 心肺適能 ( 分秒 ) 10 歲男 / 女生 PR25 常模標準 19/24 119/110 19/19 347/353.
當我已老 謹以此文獻給像我一樣流浪在外的子女們.
“321人才计划”情况介绍 南京高新技术产业开发区 人才工作办公室.
南宁市中考网上报名录取系统 使用手册 2014年5月.
2015年12月14日-2015年12月20日 缩略版.
指導老師:羅夏美 組別:第四組 組員: 車輛二甲 蔡中銘 車輛三甲 莊鵬彥 國企二甲 陳于甄 國企二甲 詹雯晴 資傳二乙 林怡芳
福州职业技术学院图书馆 福州恒达通电子信息技术有限公司
计算机网络高级工 梁绍宇.
上海证券交易所 会籍业务办理参考 交易单元租用、退租业务 2012年12月 本分册主办单位:上海证券交易所
维普考试服务平台使用指南.
在《命运交响曲》 音乐声中 安静我们的心 迎接挑战.
农业银行网上签约流程 宁夏金溢投资 内部资料 1.
邮币卡开户、银行签约、出入金流程.
廉政會報專題報告 農地重劃工程 施工常見缺失 報告:吳東霖 製作:張昌鈴 日期:103年12月23日.
101年國中畢業生多元進路宣導 國中部註冊組 100年10月29日.
99年成語200題庫(21-40).
湖南省怀化市中小学信息技术 学科考试系统培训交流
專案製作經驗談.
实验一:分析“征途游戏”网站的类型与推广手段
簡報內容 網路請購系統說明 經費授權注意事項 請購單&授權應用範例 系統環境及設定. 簡報內容 網路請購系統說明 經費授權注意事項 請購單&授權應用範例 系統環境及設定.
峰信 电话管理系统 产品介绍 上海艾家电子商务有限公司 2011年7月.
“网络问政”给九江新闻网 带来新的发展机遇 -- 九江新闻网 高立东 --.
文書檔案與實務概述 103年7月30日 主講人:總務處文書組單秀琴組長.
软件测试及工具培训 白盒及黑盒测试.
金門縣重大空難應變機制-消防局 壹、消防搶救、滅火、緊急救護 一、派遣作為:
北京市医师定期考核信息管理系统 在线考试培训会 北京市卫生和计划生育委员会 北京市医师定期考核办公室 2016年9月
社会工作概论 个案工作 课程培训 深圳电大 赖小乐.
臺北市立松山家商 103學年度第1學期 學校日 教學說明 簡報
前言.
普通高等教育“十一五”国家级规划教材 信息系统分析与设计 刘腾红 孙细明 主编 科 学 出 版 社.
利用LoadRunner进行 性能测试.
网络地址转换(NAT) 及其实现.
珍惜时间 提高效率 初二1班
第二期实验室工作人员培训讲座(三) 加强规范化建设 提高仪器设备管理水平 设备处 黄久龙 2017年9月13日 徐州师范大学设备处 黄久龙.
教育部宣導專員 國立臺中家商 許敏政主任 101年2月23日製作 #201~203
万达会议管理平台普通用户使用介绍手册 全时培训组
佐登妮斯大樓監控系統簡介 圓 泰 科 技 1.
中视前卫OA项目培训 准备人: 李鹏 / 公司: 泛微公司 / 日期: 2017/11/20 中视前卫信息化项目组.
欢迎各位领导莅临胜利科技检查指导工作 安徽省公共电子阅览室 免费软件安装培训 全国公共文化发展中心安徽省级分中心 2014年09月.
吉林省信息技术与教学融合优质课大赛 参赛教师提交大赛作品流程 吉林省电化教育馆.
多 层 系 统 应 用 及 集 成 缩 略 图 客户端 用户 开发平台 系统分析员,程序员 应用服务器 应用服务器管理员 数据库
南瑞学堂 学员简明操作指南 上海时代光华教育发展有限公司 2013年.
辅导教师:李晓红 天津大学 计算机科学与技术学院
英码摄像机报警抓拍发微信 设置方法 V
软件测试方法和技术 第7讲 验收测试.
封面 (资产管理软件)
新课标主题资源库普通用户使用培训 清华同方思科.
十二年國民基本教育 103學年度高中高職及五專 入學方式與就學區規劃 (草案諮詢稿)
使用服务平台办理离校 操作指南.
目次检索 打印 下载 文字摘录 更换背景 多窗口阅读.
学年第一学期领取教材明细查询的通知 学年第一学期学生使用的教材均在网上平台公示。现将有关事项通知如下:
聚合型第一種:隱沒帶、島弧 例子:臺灣東方的琉球海溝、南美洲智利海溝. 聚合型第一種:隱沒帶、島弧 例子:臺灣東方的琉球海溝、南美洲智利海溝.
杭州国家粮食交易中心 欢迎您!.
全国食药监检验检测机构 信息直报系统 test.
大葉服務學習執行說明 課外活動暨服務學習中心:黃泰元.
目 录: 一、网络存储系统的登录 二、网络存储系统的基本使用 三、学生提交作业功能的使用 四、教师开放资源功能的使用.
一切都是課程 『國際教育』在明道.
道家的中心觀念.
99年基測暨直升、原藝班、 申請、甄選入學報名作業說明
學生學習診斷與進展評量 測驗科目:第一次國語文、第二次數學 (數學要帶紙筆計算)
台中市黎明國中105學年度 學生報考 一般智能暨學術性向資賦優異學生鑑定 報名流程說明
超星数字图书馆的发展现状 1、超星公司是目前中国规模最大,起步最早的数字图书馆解决方案提供商和中文数字资源提供商。公司从1993年成立,到1999年创立超星数字图书馆
Presentation transcript:

第六章 软件测试自动化 HLJU Software Testing

[本章要点] 1.自动化测试应考虑的各种因素; 2.自动化测试和手工测试中涉及的问题以及二者的 优缺点; 3.应用自动化测试工具的目的; 4.自动化测试工具的分类和选择方法; 5.自动化测试过程实例及自动化测试经验。 HLJU Software Testing

[本章目标] 2.掌握自动化测试和手工测试的优缺点,知道如何正确选择两种软件测试策略。 1.了解自动化测试应考虑的各种因素以及如何衡量自动化测试成本。 2.掌握自动化测试和手工测试的优缺点,知道如何正确选择两种软件测试策略。 3.了解测试工具的分类、使用目的及其选择,了解几种常用的测试工具。 4.了解自动化测试的过程。 HLJU Software Testing

当对产品的一些特征来设计一系列测试时,对每一个测试都需要决定是否对其进行自动化测试。 1.进行自动化测试的适当时机 如何做出一个合理的决定,假设如下: 1.拥有稳定的自动化测试技术支持。 2.两种极端的可能性:一种就是无需人工干预的完全自动化测试,另一种就是只运行一次就废弃的人工测试。 3.自动化测试和手工测试都可行(但事实并非如此)。 4.测试是通过外部接口来完成的(黑盒测试)。 5.不要求必须进行自动化测试。 6.测试已经设计好之后,再决定是否进行自动化测试。 7.有一定的时间用于完成测试,并且在这段时间里完全有可能把测试做好。 一律用自动化测试就好? 要考虑经济性、有效性,适当的进行自动化测试。 当对产品的一些特征来设计一系列测试时,对每一个测试都需要决定是否对其进行自动化测试。 HLJU Software Testing

经济学角度成本 1.进行自动化测试的适当时机 在决定是否要进行自动化测试之前,通常需要考虑如下几个主要问题: 同手工测试相比,只运行一次的自动化测试要多付出多少代价? 自动化测试的生命周期是有限的。那么,这类测试是否迟早要终止?什么事件将会导致测试中止? 在整个生命周期内,这次测试能捕获到新bug的可能性会有多大?这些难以预计的收益能够使自动化测试的成本得到补偿吗? 经济学角度成本 HLJU Software Testing

2. 自动化测试的成本 创建一次自动化的测试所花费的时间要比一次手工测试所花费的时间多得多。 测试成本因产品的架构以及自动化测试的方式不同而异。介绍如下几种(费用由高至低): <1> 通过图形用户界面来测试产品; <2> 使用GUI捕捉/回放工具来跟踪测试与产品之间的交互,同时建立脚本; <3> 测试的是一个编译器; 测试成本还要考虑测试时间、Bug的多少等问题。 HLJU Software Testing

3.自动化测试的生命周期 测试的生命周期如下图7-1所示: HLJU Software Testing

回归测试包括几部分??? 回归测试??? 两部分 函数本身的测试、其他代码的测试。 是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。 两部分 函数本身的测试、其他代码的测试。 自动回归测试将大幅降低系统测试、维护升级等阶段的成本。 一、对被修改的函数重新测试。 如果函数的设计功能没有变化,直接运行函数测试就可以了。 如果修改了设计功能,则要根据增减的功能点,增加或删除测试用例。另外,还要完成白盒覆盖。 二、函数代码的修改 可能导致调用该函数的代码产生错误,所以需要测试其他代码。如果函数是私有函数并且未涉及到全局变量,应运行类测试,否则应运行工程测试。在函数列表中选择类测试或工程测试,编译运行测试工程,即可执行对其他代码的回归测试。 HLJU Software Testing

3.自动化测试的生命周期 在决定是否进行自动化测试之前,必须首先估计一下,产品的代码变动在什么范围内,测试仍能存活。如果要求代码不能有太多变动,要做的测试最好是非常善于捕获bug的测试;而且要求估计生命周期。 HLJU Software Testing

中介代码 3.自动化测试的生命周期 (intervening code) 一、中介代码的变动对测试周期的影响 介于需要被测试的代码和测试之间的代码称作中介代码 一、中介代码的变动对测试周期的影响 中介代码是使测试中止的一个主要原因。 例如,用户界面以前要求输入电话号码,现在变为提供一个可视的电话键盘,使用鼠标点击数字来模拟使用真实的电话。虽然通过两种界面向被测试的代码传递的都是相同的数据,但是因为没有了提供输入电话号码的地方,自动化测试可能就会中止。 HLJU Software Testing

3.自动化测试的生命周期 二、被测试代码的改变对测试周期的影响 为了使测试免受中介代码变化的影响,应该从以下几个方面考虑: 1、评估一下中介代码的改变会不会影响测试。如果绝不会影响到测试,使用自动测试就能节省大量的时间。 2、如果中介代码的变化会影响到测试,就必须考虑一下使用测试库函数能够使测试不受影响的可能性会有多大。 3、假如没有测试函数库——如果是在捕捉/回放的模式下使用GUI测试自动化工具——不要指望测试会不受影响。 二、被测试代码的改变对测试周期的影响 需要判断一下被测试的代码的稳定性。 首先,需要重点考虑代码的行为。 其次,考虑功能的增加会不会影响测试。 HLJU Software Testing

4.自动化测试的价值 考虑哪些问题: 2.测试通常是用来测试功能代码。支撑代码对于测试者来说通常是不可见的。 1.测试代码的结构要清晰。 2.测试通常是用来测试功能代码。支撑代码对于测试者来说通常是不可见的。 3.但功能代码的改变通常会改变代码的行为。因此,极有可能会使测试中止,而不是报告bug。 4.测试的价值主要在于支撑代码改变以后仍能捕获bug的能力。 5.如果我们一点也不了解支撑代码,无法知道测试是否能捕获bug?如何估计测试是否有助于我们捕获bug? 6.可以认为与被测试的代码进行交互的其他代码大多数是支撑代码,支撑代码的变化也会产生自动测试所能捕获的bug。 进行自动化测试要解决的问题就是: 自动化测试的价值必须要超过所有因此而放弃的手工测试的价值。 HLJU Software Testing

4.自动化测试的价值 注意: 高价值的测试不可能是特征驱动测试而是任务驱动测试。 HLJU Software Testing

例子:被测试的是一段处理从银行账户里提款的代码。 把被测试的代码分成两部分: 一、分析被测试代码的结构 例子:被测试的是一段处理从银行账户里提款的代码。 把被测试的代码分成两部分: ①功能代码(feature code),它直接实现被测试代码所完成的功能。测试会专门对其进行调用。功能代码(support code)可以完成用户所进行的操作(通过使用用户界面的关联代码)。 ②支撑代码(support code),它起到支持功能代码 (support code)的作用。测试代码会对其进行调用,但并没有针对这些代码的特殊测试。 HLJU Software Testing

在这里,支撑代码位于水平线以下。功能代码位于水平线以上,共有五种不同的功能,我们只针对其中的两个功能进行测试。 图1 功能代码和支撑代码示意图 在这里,支撑代码位于水平线以下。功能代码位于水平线以上,共有五种不同的功能,我们只针对其中的两个功能进行测试。 HLJU Software Testing

1.就给定的结构而言,代码的变化将会产生什么样的影响? 2.什么样的变化具有测试价值? 假设一些功能代码发生了变化,如图2中灰色图形所示: 二、被测试代码的变化所带来的影响 主要考虑这样一些问题: 1.就给定的结构而言,代码的变化将会产生什么样的影响? 2.什么样的变化具有测试价值? 假设一些功能代码发生了变化,如图2中灰色图形所示: 这种变化极有可能会导致调用功能代码的测试中止。因此,如果希望使用自动化测试的方法在发生变化的功能代码(feature code)中找到bug,就必须终止原有测试。如果测试的成本很高,这样做是很不经济的。 HLJU Software Testing

为了使原有的测试行为仍然能够保留,通常采用的做法是更改支撑代码(support code)以便能够支持其他功能代码的变动。请看图3: 图2 图3 HLJU Software Testing

例子 三、支撑代码的变化对测试的影响 主要从以下两方面来考虑这个问题: 代码的变化有多少?这些变化会引入多少bug? 假设我正在测试一个产品,测试已经完成一半。产品已经实现了主要的功能,但是还需要增加一些辅助功能。现在我要对这些主要的功能进行测试。 测试过程中,在同如下人员进行交流的过程中提出的问题如下: HLJU Software Testing

在新版本中,新增的功能是一个十分重要的部分吗?如果是这样的话,由于市场竞争激烈,图形用户界面有可能改变吗?以前,用户界面改动有多大? 程序员: 这些辅助的功能是否有可能需要改变产品的支撑代码?程序员有可能精心设计了支撑代码,并且考虑坚持使用可视化的用户界面来完善各种功能。如果是这样的话,那么自动化测试的价值就不大。 但是因为要急于完成测试,程序员也可能知道程序的支撑代码的结构不会一成不变的。由于大部分工作将会重复进行,所以可能会特别需要进行自动化测试。或者程序员也不知道支撑代码是否要改变。 项目经理: 在新版本中,新增的功能是一个十分重要的部分吗?如果是这样的话,由于市场竞争激烈,图形用户界面有可能改变吗?以前,用户界面改动有多大? HLJU Software Testing

如何应对产品的变化?什么样的变化会使测试中止?对于新增加功能的测试,遇到这些情况的几率会有多大? 为什么会希望今后的改动越少越好?这些变化是为了增加功能,还是用来代替现有的功能?我们需要切实的估计一下变动的可能性,因为任何变化都可能会提高自动化测试的成本,缩短测试的生命周期。 了解并熟悉测试工具的人员: 如何应对产品的变化?什么样的变化会使测试中止?对于新增加功能的测试,遇到这些情况的几率会有多大? 一次自动化测试所花费的成本相当于几次手工测试,并且要特别重视测试价值的大小和生命周期的长短,这样做可能不对。但这都是为了避免犯下灾难性的错误,如果自动化测试的成本很高而生命周期很短,我们最好使用手工测试。 HLJU Software Testing

但是这并不意味着不能使用自动化测试,而是要判断与衡量。 在测试中,要不断跟踪bug报告并加以修改,保留所有和测试相关的文档。从这些资料当中,我们常常能够发现更为重要的信息。如: •什么样的因素与产生的bug无关? •哪里存在bug? •代码行为的稳定性如何? 经过一段时间,要进行自动化测试还是手工测试的想法就会逐渐成熟,可能会形成一个更大的测试套。 HLJU Software Testing

5. 另外一些需要考虑的问题 1.手工测试有时候会发现一些自动化测试所不能发现的问题。 2.尽管人善于发现问题,但很容易疲劳。并且不能对结果做出精确的分析。 3.由于我们不能保证每次手工输入的数据完全相同。因此,重复的手工测试多少会有些不同,那么就有可能捕获支撑代码中的bug。 4.要求对配置测试进行更多的自动化测试。 5.如果在进行第一次测试的时候就捕获了bug。表明这部分程序代码将来有可能发生变化,要进行更多的自动化测试 。 HLJU Software Testing

7. 使用手工测试的时候捕获了bug, 但又不能再现bug时会使人很沮丧。 6. 如果自动化测试的技术支持足够强大,开发人员很容易就能做回归测试,自动化测试也需要比手工测试快得多,但是并不是所有的公司都具有这样的自动化测试技术支持水平。 7. 使用手工测试的时候捕获了bug, 但又不能再现bug时会使人很沮丧。 8. 程序更改之后,测试人员应该对其进行检查。 9. 因为进行自动化测试的创建要花费一些时间,因此把第一个bug提交给程序员所花费的时间要比手工测试花费的时间长。 10.把测试设计的有利于进行自动化测试,但不善于捕获bug。 11.如果产品的行为改变了,自动化测试就有可能会报告一些不真实的bug。 HLJU Software Testing

12. 如果自动化测试创建的十分好,能够有序的运行,并且可以改变测试运行的顺序。 13. 我们可以在产品需要测试之前先设计测试。 14. 也许自动化测试的价值直到下一个新版本发布之后才能体现出来。 HLJU Software Testing

与手工测试比较 自动化测试并不能完全取代手工测试,二者各有优缺点。 这个测试案例中包括1750个测试用例和700多个错误。 测试步骤 手工 通过使用工具改善测试的百分比 测试计划的开发 32 40 -25% 测试用例的开发 262 117 55% 测试执行 466 23 95% 测试结果分析 58 50% 错误状态/更正检测 80% 产生报告 96 16 83% 时间总和 1090 277 75% 这个测试案例中包括1750个测试用例和700多个错误。 HLJU Software Testing

随着软件开发过程的进展,测试工作越来越繁重,如果使用手工测试的方法,将很难保证测试工作的进度和质量。 短测试周期中手工测试面临的挑战 迭代式的开发过程已逐渐取代传统的瀑布式开发,成为了目前最流行的软件开发过程。在迭代开发中强调在较短的时间间隔中产生多个可执行、可测试的软件版本,这就意味着测试人员也必须为每次迭代产生的软件系统进行测试。 随着软件开发过程的进展,测试工作越来越繁重,如果使用手工测试的方法,将很难保证测试工作的进度和质量。 HLJU Software Testing

手工测试的问题 手工测试的方法是根本不可能符合软件快速开发的要求的。大公司用自动化测试因为它适合自动化测试的特点和有较高的投资回报率。 哪些情况要用到自动化测试 1、针对产品型项目的测试 2、针对增量式开发、持续集成项目的测试 3、针对能够自动编译、自动发布的系统的测试 4、回归测试 5、需要多次重复、机械性动作的测试 6、需要频繁运行的测试 7、将烦琐的任务转化为自动化测试 HLJU Software Testing

自动化测试的问题 不 能 是否可以完全取代手工测试 哪些情况下不适合使用自动化测试 例如:在下面几种情况下就不适合使用自动化测试。 不 能 例如:在下面几种情况下就不适合使用自动化测试。 <1> 定制型项目(一次性的) <2> 项目周期很短的项目 <3> 涉及业务规则复杂的对象 <4> 关于美观、声音、易用性的测试 <5> 很少运行的测试,如:一个月只运行一次的测试。 <6> 测试的软件不稳定 <7> 涉及物理交互的测试 HLJU Software Testing

自动化测试的优点 1、对程序的新版本运行己有的测试,即回归测试。 2、可以运行更多更频繁的测试。 3、可以进行一些手工测试难以完成或不可能完成的测试。 4、充分地利用资源。 5、测试具有一致性和可重复性。 6、测试具有复用性。 7、缩短软件发布的时间。 8、增强软件的可靠性。 HLJU Software Testing

自动化测试的缺点 2、新缺陷越多,自动化测试失败的几率就越大。 3、工具本身不具有想象力 4、技术问题、组织问题、脚本维护 1、自动化测试不能取代手工测试, 测试主要还是要靠人工的。 2、新缺陷越多,自动化测试失败的几率就越大。 3、工具本身不具有想象力 4、技术问题、组织问题、脚本维护 5、测试工具与其他软件的互操作性 HLJU Software Testing

自动化测试工具的选择和使用 提高测试质量; 减少测试过程中重复的手工劳动,提高测试效率; 实现测试自动化,充分利用测试资源。 1、 应用自动化测试工具的目的 提高测试质量; 减少测试过程中重复的手工劳动,提高测试效率; 实现测试自动化,充分利用测试资源。 HLJU Software Testing

自动化测试工具的选择和使用 2、自动化测试工具的概要介绍 根据软件生命周期中的定义,可以把自动化测试工具分为三大类: 白盒测试工具 黑盒测试工具 测试管理工具这些工具和软件开发过程中相关活动的关系如图4所示: HLJU Software Testing

图4 测试工具与开发过程关系图 HLJU Software Testing

自动化测试工具的选择和使用 一、白盒测试工具 白盒测试工具一般是针对代码进行测试的工具,测试中发现的缺陷可以定位到代码级,根据测试原理的不同,又可以分为静态测试工具和动态测试工具。 1、 静态测试工具 就是不运行测试而直接对代码进行分析的测试。 静态测试工具的代表有Telelogic公司的Logiscope软件、PR公司的PRQA软件。 HLJU Software Testing

自动化测试工具的选择和使用 2、 动态测试工具 主要采用“插桩”的方式,即向代码生成的可执行文件中插入一些监测代码,运行框架程序,统计程序运行时的数据,可以针对所有类的成员函数进行测试,也可以只针对类的公共接口函数进行测试。 (1)商业性的白盒测试工具,比较有代表性的如:compuware公司的Numega系列工具和ParaSoft的JavaSolution以及C/C++ Solution系列。 (2)非商业性的白盒测试工具,主要以Xunit系列为代表的测试框架工具。 HLJU Software Testing

自动化测试工具的选择和使用 二、黑盒测试工具 黑盒测试工具包括: 功能测试工具 性能测试工具。 黑盒测试工具的代表有 Rational公司的TeamTest、Robot Compuware公司的QACenter, 另外,专用于性能测试的工具包括有Radview公司的WebLoad、Microsoft公司的WebStress等工具。 HLJU Software Testing

自动化测试工具的选择和使用 三、测试管理工具 测试管理工具用于对测试进行管理。一般而言,测试管理工具主要对软件缺陷、测试计划、测试用例、测试实施进行管理。 *缺陷跟踪工具是管理工具使用最多的*。 测试管理工具的代表有Rational公司的Test Manager、 Compureware公司的TrackRecord等软件。 HLJU Software Testing

自动化测试工具的选择和使用 如何选择缺陷跟踪工具? 三、测试管理工具 方法如下: 1.使用word、excel等类型的平面文档; 2.自行设计开发一套管理软件; 3.购买商业性的软件; 4.下载一套适合自己的开源软件,自行配置和维护。 HLJU Software Testing

自动化测试工具的选择和使用 四、 其他自动化测试工具 还有一些专用的自动化测试工具针对数据库测试的TestBytes,对应用性能进行优化的EcoScope等工具。 HLJU Software Testing

自动化测试工具的选择和使用 如何选择自动化测试工具??? 在考虑选用工具的时候,建议从以下几个方面来权衡和选择: 1、 功能  1、 功能   **除了基本的功能之外,以下的功能需求也可以作为选择自动化测试工具的参考:  1) 报表功能; 2) 自动化测试工具的集成能力; 3) 操作系统和开发工具的兼容性; 2、价格 3、对自动化测试工具进行评估。主要从以下几点来考虑: <1>在使用了多种工具后对今后要采用的工具进行期盼。 <2>自动化测试工具的实际性能是否和自动化测试工具文档中声明的一致。 〈3〉总结试用自动化测试工具的结果,得出评估报告。 HLJU Software Testing

7.3.4自动化测试工具在测试过程中的应用 4、引入自动化测试工具的目的是使测试自动化 很多引入测试软件的公司并没有能够让测试软件发挥应有的作用,其原因主要有三个方面: 1、没有考虑公司的实际情况,盲目引入自动化测试工具 2、没有形成一个良好的使用自动化测试工具的环境 3、没有进行有效的自动化测试工具的培训 HLJU Software Testing

性能测试实例 1、 LoadRunner 简介 本节列举了一个使用LoadRunner进行的性能测试实例。 LoadRunner® 是一种预测系统行为和性能的负载测试工具。通过模拟成千上万名用户和实施实时性能监测来确认和查找问题,LoadRunner能够对整个企业架构进行测试。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。其主要功能如下: 1、轻松创建虚拟用户 2、创建真实的负载 3、定位性能问题 4、分析结果精确定位问题所在 HLJU Software Testing

2、案例分析 该案例仍然是针对电厂两票管理系统的性能测试,电厂工作人员可以使用该管理系统开出工作票和操作票。假设开设100个账号和密码可供100个工作人员同时开出工作票或操作票。要求,每台机器只能由一个用户使用,每个用户只能使用各自不同的账号登录该管理系统,开票结束后,要求把工作票或操作票内容存档,若在规定的时间内没有存档,则系统强制存档。 HLJU Software Testing

现场测试环境: 硬件:100台PC机,一个Web服务器 操作系统:Windows 2000 Server 但是,一般测试部门不可能有100台机器同时进行测试的。所以,使用Loadrunner7.51模拟IP地址,修改脚本来协助测试。但是,为了保证测试结果,建议使用所有可用的机器进行复测,因为有时候测试工具是不可以完全信赖的。 现场测试环境: 硬件:100台PC机,一个Web服务器 操作系统:Windows 2000 Server 测试工具:Loadrunner 8.0 浏览器:IE5.0和IE6.0 测试人员:质控小组4人,执行现场测试 项目小组22人,提供现场环境 技术小组各1人,提供技术支持 HLJU Software Testing

测试要求: 100个用户拥有独立IP地址,不同的用户及密码登录,开票操作完成后各自同时把工作票或操作票内容存档。 测试内容: 100个用户以不同的用户名和密码登录该管理系统。开票完成后,把工作票或操作票内容存档。测试系统是否能正常开票以及正确存档。 测试方案: 1、 完全50台实际的PC机进行现场测试。 (1) 准备工作,并做计划。第一轮测试执行三遍,设定50个用户开出的工作票或操作票内容同时提交,第一遍全部使用IE5.0,第二遍25台使用IE5.0,25台使用IE6.0,第三遍全部使用IE6.0 HLJU Software Testing

(1) 准备工作,并做计划。第一轮测试执行三遍,设定50个用户开出的工作票或操作票内容同时提交,第一遍全部使用IE5 (1) 准备工作,并做计划。第一轮测试执行三遍,设定50个用户开出的工作票或操作票内容同时提交,第一遍全部使用IE5.0,第二遍25台使用IE5.0,25台使用IE6.0,第三遍全部使用IE6.0 (2) At 9:00 ,50个用户同时登录系统 (3) At 9:05 ,50个用户同时提交 (4) 分别记录第一轮测试(三遍)的结果 (5) 第二轮测试准备工作,设定30个用户开出的工作票或操作票内容同时提交,另外20个用户延时5分钟提交,全部使用IE5.0 (6) At 9:15 ,50个用户同时登录系统 (7) At 9:20 ,30个用户同时提交 (8) At 9:25 ,剩余20个用户同时提交 (9) 记录第二轮测试结果 (10) 第三轮测试准备工作,设定30个用户开出的工作票或操作票内容同时提交,另外20个用户延时5分钟提交,全部使用IE6.0 HLJU Software Testing

(11) At 9:15 ,50个用户同时登录系统 (12) At 9:20 ,30个用户同时提交 (13) At 9:25 ,剩余20个用户同时提交 (14) 记录第三轮测试结果 (15) 第四轮测试准备工作,设定30个用户开出的工作票或操作票内容同时提交,另外20个用户延时5分钟提交,正常提交用户使用IE5.0,延时提交用户使用IE6.0 (16) At 9:15 ,50个用户同时登录系统 (17) At 9:20 ,30个用户同时提交 (18) At 9:25 ,剩余20个用户同时提交 (19) 记录第四轮测试结果 (20) 第五轮测试准备工作,设定30个用户开出的工作票或操作票内容同时提交,另外20个用户延时5分钟提交,正常提交用户使用IE6.0,延时提交用户使用IE5.0 (21) At 9:15 ,50个用户同时登录系统 (22) At 9:20 ,30个用户同时提交 HLJU Software Testing

(23) At 9:25 ,剩余20个用户同时提交 (24) 记录第五轮测试结果 (25) 第六轮测试准备工作,设定30个用户开出的工作票或操作票内容同时提交,另外20个用户延时5分钟提交,正常提交用户其中20个使用IE5.0,10个使用IE6.0,延时提交用户使用IE5.0 (26) At 9:15 ,50个用户同时登录系统 (27) At 9:20 ,30个用户同时提交 (28) At 9:25 ,剩余20个用户同时提交 (29) 记录第六轮测试结果 (30) 第七轮测试准备工作,设定25个用户开出的工作票或操作票内容同时提交,另外25个用户分两次分别延时5、15分钟提交 (31) At 9:35 ,50个用户同时登录系统 HLJU Software Testing

(41) 第九轮测试准备工作,设定其中25个用户开出的工作票或操作票内容同时提交,15个用户延时5分钟提交,其余用户由系统强行提交 (32) At 9:40 ,25个用户同时提交 (33) At 9:45 ,剩余的其中15个用户同时提交 (34) At 9:55 ,其他10个用户同时提交 (35) 记录第七轮测试结果,参见第二轮测试-第六轮测试过程分别对IE5.0和IE6.0的情况进行测试 (36) 第八轮测试准备工作,设定其中25个用户开出的工作票或操作票内容不提交,由系统强行提交 (37) At 10:10 ,50个用户同时登录系统 (38) At 10:15 ,25个用户同时提交 (39) 其余用户的内容由系统强行提交 (40) 记录第八轮测试结果,参见第二轮测试-第六轮测试过程分别对IE5.0和IE6.0的情况进行测试 (41) 第九轮测试准备工作,设定其中25个用户开出的工作票或操作票内容同时提交,15个用户延时5分钟提交,其余用户由系统强行提交 HLJU Software Testing

2、模拟50个用户进行测试。其中,18台是PC机,另外32台机器的IP地址是Loadrunner模拟出来的。 (42) At 10:25 ,50个用户同时登录系统 (43) At 10:30 ,25个用户同时提交 (44) At 10:35 ,剩余的其中15个用户同时提交 (45) 剩余10个用户系统强制提交 (46) 记录第九轮测试结果,参见第二轮测试-第六轮测试过程分别对IE5.0和IE6.0的情况进行测试 2、模拟50个用户进行测试。其中,18台是PC机,另外32台机器的IP地址是Loadrunner模拟出来的。 (1) 在18台实际的PC机中抽取其中一台虚拟32个IP地址,包括自身的IP地址,这台机器上共33个IP地址,这33个IP地址只能全部使用IE5.0或者全部使用IE6.0 (2) 其余17台实际的PC机分别由17个人操作,另外一台机器由一位质控小组人员操作 HLJU Software Testing

(3) 对于异常情况,延时提交和强制提交全部由实际的机器来模拟 (4) 其余过程参见1 (3) 对于异常情况,延时提交和强制提交全部由实际的机器来模拟 (4) 其余过程参见1 3、模拟50个用户进行测试。其中,10台是PC机,另外40台机器的IP地址是用Loadrunner模拟出来的。 (1) 在10台实际的PC机中抽取其中一台虚拟40个IP地址,包括自身的IP地址,该机器上共41个IP地址,这41个IP地址只能全部使用IE5.0或者全部使用IE6.0 (2) 其余9台实际的PC机分别由9个人操作,另外一台机器由一位质控小组人员操作 (3) 对于异常情况,延时提交和强制提交全部由实际的机器来模拟 (4) 其余过程参见1 4、模拟75个用户进行测试。其中,35台是PC机,另外40台机器的IP地址是用Loadrunner模拟出来的。 HLJU Software Testing

(1) 在35台实际的PC机中抽取其中三台分别虚拟13、13、14个IP地址,这40个IP地址只能全部使用IE5. 0或者全部使用IE6 (1) 在35台实际的PC机中抽取其中三台分别虚拟13、13、14个IP地址,这40个IP地址只能全部使用IE5.0或者全部使用IE6.0 (2) 其余32台实际的PC机分别由32个人操作,另外三台机器由两位质控小组人员操作 (3) 对于异常情况,延时提交和强制提交全部由实际的机器来模拟 (4) 其余过程参见1 5、模拟100台用户进行测试。其中,40台是PC机,另外60台机器的IP地址是用分别用四台实际的PC机模拟出来的。记录测试结果。 (1) 在40台实际的PC机中抽取其中四台分别虚拟15个IP地址,这64个IP地址只能全部使用IE5.0或者全部使用IE6.0 (2) 其余36台实际的PC机分别由36个人操作,另外四台机器由四位质控小组人员操作 HLJU Software Testing

7、 为了保证结果的正确性,完全100台实际的PC机进行现场测试。过程参见1 测试过程: (3) 对于异常情况,延时提交和强制提交全部由实际的机器来模拟 (4) 其余过程参见1 6、 对5中所述情况重复测试两次。 7、 为了保证结果的正确性,完全100台实际的PC机进行现场测试。过程参见1 测试过程: 1、 一台PC机上创建15个虚拟的IP地址。首先,启动IP Wizard,如下:开始程序->Loadrunner->Tools->IP Wizard 点击“Add”,添加你计划虚拟的IP地址。但是注意不能添加已经被占用的IP地址。 2、 启动Virtual User Generator,并录制脚本,由于100个用户的账号和密码各不相同,所以,要修改脚本,设置参数。 HLJU Software Testing

LoadRunner内含集成的实时监测器,在负载测试过程的任何时候,都可以观察到应用系统的运行性能。 3、 启动Loadrunner Controller,先将刚才保存的脚本添加进来。然后点击“Scenario”菜单,激活其中的“Enable IP Spoofer”。 4、点击屏幕右方的“Generators”,添加已经建立的IP,然后connect建立连接。 5、对连接起来的不同用户(IP地址)分配不同的脚本,在Controller中的“design”中,点击“Load Generators”其中,每个脚本有一个用户执行。 6、 执行Scenario。 LoadRunner内含集成的实时监测器,在负载测试过程的任何时候,都可以观察到应用系统的运行性能。 当测试运行结束后,LoadRunner 收集汇总所有的测试数据,提供高级分析和汇报数据,这样便能迅速查找到性能问题并追溯原由。 HLJU Software Testing

1.测试个案(test case ,或称为测试用例)的生成 经验总结 1.测试个案(test case ,或称为测试用例)的生成 2.科学合理的安排和控制测试的执行 3.测试结果与标准输出的对比 4.不吻合的测试结果的分析、分类、记录和通报 5.总体测试状况的统计、报表的产生 6.自动测试与开发中产品每日构建的配合 7.图形界面的测试 HLJU Software Testing

2.应该针对特殊的目的来设计测试,然后针对一个或多个功能的重要方面进行测试。 本章小结 1.由于进行自动化测试,我们要放弃一些手工测试,所以在衡量自动化测试的成本时要考虑到我们因此放弃多少手工测试,少捕获了多少bug。 2.应该针对特殊的目的来设计测试,然后针对一个或多个功能的重要方面进行测试。 3.要正确估量自动化测试脚本开发和维护工作量,将关键而有许多次执行的测试用例自动化。 4.一般来说,手工测试可以取代任何类型、功能的自动测试,但在多用户并发等情况下,手工测试是很难实现的,这时自动测试就发挥作用了。另外,使用自动测试工具可以减少很多重复的手工劳动,精确复制缺陷,提高测试覆盖率,从而提高产品质量。 HLJU Software Testing

5.应该根据企业的特点来选择测试工具。首先,对商业化的测试工具进行评估;然后,在公司的实际项目中试用,通过这种方法来检验工具在特定的环境下是否具有供应商所宣传的特性,同时考察代理商的技术支持水准,这对将来工具的大规模应用非常重要。 6.虽然测试工具的应用可以提高测试的质量、测试的效率,但要成功实施自动化测试,测试工作就必须遵从系统的、结构化的和循序渐进的观念来进行。 HLJU Software Testing

习 题 1、自动化软件测试应该考虑哪些因素? 2、简述自动化测试和手工测试的优缺点。 习 题 1、自动化软件测试应该考虑哪些因素? 2、简述自动化测试和手工测试的优缺点。 3、自动化测试工具大致可以分为几类,并举例说明几种与之相应的测试工具? 4、简述应用自动化测试工具的目的? 5、选择测试工具时主要应该从哪几个方面进行考虑? 6、使用LoadRunner对本校网站进行压力测试,判断此网站能否在同一时间相应大量用户,得出测试结果。 HLJU Software Testing