ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:404.50KB ,
资源ID:8674852      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8674852.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件测试实验指导书.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件测试实验指导书.docx

1、软件测试实验指导书软件测试实验指导书 西安理工大学计算机科学与工程学院 2011年3月目 录第1章 实验基础知识 11.1 软件测试概述 11.2 测试用例的编写 2第2章 实验要求 42.1 实验总体要求 42.1.1 实验意义和目的 42.1.2 实验内容安排 42.1.3 实验过程要求 42.2 实验报告要求 52.3 实验成绩评价 52.3.1 实验成绩评价结构及比例 52.3.2 考核方式 5第3章 实验内容与指导 63.1 单元测试 63.1.1 实验类型 63.1.2 实验目的 63.1.3 背景知识 63.1.4 实验设备 93.1.5 实验内容 93.1.6 实验步骤 93.

2、1.7 实验要求 93.2缺陷管理 103.2.1 实验类型 103.2.2 实验目的 103.2.3 背景知识 103.2.4 实验设备 123.2.5 实验内容 123.2.6 实验步骤 123.2.7 实验要求 123.3自动化功能测试 133.3.1 实验类型 133.3.2 实验目的 133.3.3 背景知识 133.3.4 实验设备 133.3.5 实验内容 133.3.6 实验步骤 143.3.7 实验要求 143.4自动化性能测试 153.4.1 实验类型 153.4.2 实验目的 153.4.3 背景知识 153.4.4 实验设备 153.4.5 实验内容 153.4.6 实

3、验步骤 163.4.7 实验要求 20第1章 实验基础知识1.1 软件测试概述1软件测试软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。 软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。 2测试过程为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、系统测试和验收测试。代码会审由一组人通过阅读、讨论和争议对程序进行静态分析的过程。单元测试集中在检查软件设计

4、的最小单位模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。系统测试是测试整个系统,以证实它满足“需求规格说明书”所规定的功能、质量和性能等方面的特性。验收测试的目的是向未来的用户表明系统能够像预定要求那样工作。与系统测试非常相似,主要区别是测试人员不同,验收测试由用户执行。3测试方法软件测试的方法分为功能性测试和结构性测试。功能测试是指在对程序进行功能抽象的基础上,将程序划分成功能单元,然后在数据抽象的基础上,对每个功能单元生成测试数据进行测试。进行功能测试时,被测程序

5、被当作打不开的黑盒,因而无法了解其内部构造,因此又称为黑盒测试。结构性测试是知道产品内部工作过程,检测产品内部动作是否按照规格说明书的规定正常进行。它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。此方法把测试对象看作一个透明的盒子,又叫白盒测试。4测试工具软件测试的工作量很大(据统计,会用到40% 的开发时间;一些可靠性要求非常高的软件,测试时间甚至占到总开发时间的60% ),但测试却是在整个软件过程中极有可能应用计算机进行自动化的工作,原因是测试的许多操作是重复性的、非智力创造性的、需求细致注意力的工作。测试工具的应用已经成为了普遍的趋势。测试

6、工具一般可分为白盒测试工具、黑盒测试工具、性能测试工具,另外还有用于测试管理(包括测试流程管理、缺陷跟踪管理、测试用例管理)的工具。本实验课程中主要涉及到eclipse开发平台、Junit单元测试工具、Selenium自动化功能测试工具和Jmeter性能测试工具。1.2 测试用例的编写1测试用例软件测试的本质是针对要测试的内容确定一组测试用例。测试用例是为实施一次测试而向被测系统提供的输入数据、操作或各种环境设置。测试用例应该包含基本的内容有输入和预期输出,输入实际有两种类型:前提(在测试用例执行前已经存在的环境)和由某种测试方法所标识的实际输入。预期输出也有两类:后果和实际输出。测试活动要建

7、立必要的前提条件,提供测试用例输入、观测输出、然后将这些输出与预期输出进行比较,以确定该测试是否通过。开发良好的测试用例的其他信息(如表1)主要支持测试管理,测试用例需求被开发、评审、使用、管理和保存。表1-1 测试用例测试用例ID测试用例名称测试目的前置条件操作步骤与输入预期结果实际结果执行人日期 执行人有两种基本方法可以用来标识测试用例,即功能性测试和结构性测试。功能性测试的基本观点是,任何程序都可以看作是将从定义域取值映射到输出值域的函数。这种观点常常在工程中使用,将系统看作是黑盒。采用功能性方法标识测试用例,所使用的唯一信息就是软件的规格说明。功能性测试用例具有两个显著的优点:(1)功

8、能性测试与软件如何实现无关,所以如果实现发生变化,测试用例仍然有用;(2)测试用例开发可以与实现并行进行,因此可缩短总的开发时间。在缺点方面,功能性测试用例也常常带来两个问题:测试用例可能存在严重的冗余,此外可能还会有未测试的软件漏洞。功能性测试的主流方法主要有:边界值分析、健壮性分析、最坏情况分析、特殊值测试、输入等价类、输出等价类和基于决策树的测试。结构性测试有时也叫白盒测试。结构性测试是知道软件产品内部工作过程,检测软件产品内部动作是否按照规格说明书的规定正常进行。结构性测试需要全面了解程序内部逻辑结构、对所有逻辑路径进行测试。结构性测试是穷举路径测试,并力求提高测试覆盖率。结构性测试的

9、主要方法有:逻辑覆盖测试、基路径测试、数据流测试等方法。在实际应用中,为全面的测试软件产品,一般将结构性测试和功能性测试结合起来使用。2软件缺陷分类有多种方法可以对缺陷分类:以出现相应错误的开发阶段来划分、以相应失效产生的后果来划分、以解决难度来划分、以不解决难度会产生的风险来划分等等。在日常的软件测试中,通常给出的缺陷是根据缺陷后果的严重程度来进行划分,如下表2所示。在实际应用中可以根据具体情况对严重程度来划分不同的等级。 3测试用例的选择选择测试用例是软件测试员最重要的一项任务,不正确的选择可能导致测试量过大或过小,甚至测试目标不对。从工程实践的角度讲,测试用例有几条基本准则:(1) 测试

10、用例的代表性:能够代表各种合理和不合理的、合法的和非法的、边界和越界的,以及 极限的输入数据、操作和环境设置等;(2) 测试结果的可判定性:即测试执行结果的正确性是可判定的或可评估的;(3) 测试结果的可再现性:即对同样的测试用例,系统的执行结果应当是相同的。表1-2 缺陷划分表编号缺陷等级举例1轻微词语拼写错误2中等误导或重复信息3使人不悦被截取的名称4影响使用有些交易没有处理5严重丢失交易6非常严重不正确的交易处理7极为严重经常出现非常严重的错误8无法忍受数据库破坏9灾难性系统停机10容易传染扩展到其他系统的系统停机第2章 实验要求2.1 实验总体要求2.1.1 实验意义和目的本实验课程配

11、合软件测试技术理论课同步开设,其中包括设计型实验。本实验课程着眼于理论与应用的结合,注重培养学生软件测试的实际动手能力,增强软件工程项目的质量管理意识。通过实验教学,使学生掌握软件测试的方法和技术,并能运用软件测试工具进行自动化测试。本实验课程要求学生完成适当的上机实习,并写出相应的实验报告。验证型题目使学生熟悉常用的软件测试工具。设计型题目使学生掌握软件测试的基本理论和基本方法,培养基本的应用能力。2.1.2 实验内容安排实验内容安排如表2-1所示。表2-1 实验内容安排编号实验性质实验要求实验项目名称学时备注1设计必做单元测试22设计必做软件缺陷管理23验证必做自动化功能测试24验证必做自

12、动化性能测试22.1.3 实验过程要求实验前要充分做好准备工作:1复习和掌握与本实验有关的知识内容;2预习、思考实验内容;3对实验内容进行分析和设计。实验过程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。在指定的实验时间内,必须到实验室内做实验。对于上机过程中出现的问题,尽量先独立思考和解决;对于难以解决的问题可以和同学交流或询问老师;对于同一个实验题目,可以考虑多种方法来实现,然后比较并选择出一种较为有效的方法来实现。2.2 实验报告要求实验后,应及时整理出实验报告,实验报告提交电子文档,实验报告具体内容见附录1:实验报告。2.3 实验成绩评价2.3.

13、1 实验成绩评价结构及比例实验课程的总成绩由实验考勤和实验报告成绩组成,其中实验考勤占10%,实验过程占20%,实验报告占70%。2.3.2 考核方式实验考核主要是三个方面:1上机实验考勤。每次上机应主动在指导老师处签到,冒签等不诚信行为一旦被发现,取消本次实验成绩。如果学生需要请假,必须提前出具正式假条(需要班主任或者辅导员签字),不接受事后假条(如有特殊情况,需要有辅导员或班主任的情况说明)。2实验过程考核。每次实验课,指导教师根据实验过程情况,对每个学生的表现进行记录。3实验报告提交。应根据指导教师要求按时提交每次实验的数据。如果发现学生抄袭、伪造实验数据,或实验报告和设计报告抄袭、雷同

14、,则涉及的所有学生的该课程实验成绩记为0分。第3章 实验内容与指导3.1 单元测试3.1.1 实验类型实验类型为设计型,2个学时。3.1.2 实验目的(1) 掌握白盒测试方法,并按单元测试的要求设计测试用例。(2) 能熟练应用junit测试工具进行单元测试;(3) 能应用Ant进行自动化测试;(4) 进行代码覆盖检查;3.1.3 背景知识1、 逻辑覆盖结构性测试力求提高测试覆盖率。逻辑覆盖是对一系列测试过程的总称,它是在使用白盒测试法时,选用测试用例执行程序逻辑路径的方法。逻辑覆盖按覆盖程度由低到高大致分为以下几类:(1) 语句覆盖:设计若干测试用例,使程序中每一可执行语句至少执行一次;(2)

15、 判断覆盖:设计用例,使程序中的每个逻辑判断的取真取假分支至少经历一次;(3) 条件覆盖:设计用例,使判断中的每个条件的可能取值至少满足一次;(4) 判断/条件覆盖:设计用例,使得判断中的每个条件的所有可能结果至少出现一次,而且判断本身所有可能结果也至少出现一次;(5) 条件组合覆盖。设计用例,使得每个判断表达式中条件的各种可能组合都至少出现一次;显然,满足的测试用例也一定是满足、的测试用例。(6) 路径覆盖。设计足够的测试用例,使程序的每条可能路径都至少执行一次。如果把路径覆盖和条件组合覆盖结合起来,可以设计出检错能力更强的测试数据用例。2、 基本路径测试如果把覆盖的路径数压缩到一定限度内,

16、例如,程序中的循环体只执行零次和一次,就成为基本路径测试。它是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中,程序的每一个可执行语句至少要执行一次。 程序的控制流图控制流图是描述程序控制流的一种图示方法。基本控制构造的图形符号如图所示。符号称为控制流图的一个结点,一组顺序处理框可以映射为一个单一的结点。控制流图中的箭头称为边,它表示了控制流的方向,在选择或多分支结构中分支的汇聚处,即使没有执行语句也应该有一个汇聚结点。边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。图3-1 控制流图

17、的各种图形符号如果判定中的条件表达式是复合条件时,即条件表达式是由一个或多个逻辑运算符(OR,AND,NAND,NOR)连接的逻辑表达式,则需要改复合条件的判定为一系列只有单个条件的嵌套的判定。例如对应图3-2. (a) 的复合条件的判定,应该画成如图3-2. (b) 所示的控制流图。 条件语句 if a OR b 中条件a和条件b各有一个只有单个条件的判定结点。图3-2 复合逻辑下的控制流图 计算程序环路复杂性 进行程序的基本路径测试时,程序的环路复杂性给出了程序基本路径集合中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。所谓独立路径,是指包括一组以前没

18、有处理的语句或条件的一条路径。如在图3-3(b)所示的控制流图中,一组独立的路径是: path1:1 - 11 path2:1 - 2 - 3 - 4 - 5 - 10 - 1 - 11 path3:1 - 2 - 3 - 6 - 8 - 9 - 10 - 1 - 11 path4:1 - 2 - 3 - 6 - 7 - 9 - 10 - 1 - 11路径path1,path2,path3,path4组成了图3-3 (b) 所示控制流图的一个基本路径集。只要设计出的测试用例能够确保这些基本路径的执行,就可以使得程序中的每个可执行语句至少执行一次,每个条件的取真分支和取假分支也能得到测试。基本路

19、径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。 (a) 程序流程图 (b) 控制流图 图3-3 程序流程图与对应的控制流图 通常环路复杂性可用以下三种方法求得。 将环路复杂性定义为控制流图中的区域数。 设E为控制流图的边数,N为图的结点数,则定义环路复杂性为 V(G)EN2。 若设P为控制流图中的判定结点数,则有 V(G)P1。因为图5.14(b)所示控制流图有4个区域。其环路复杂性为4。 它是构成基本路径集的独立路径数的上界。可以据此得到应该设计的测试用例的数目。 导出测试用例利用逻辑覆盖方法生成测试用例,确保基本路径集中每条路径的执行。3、 单元测试的步骤通常单元测试在编码

20、阶段进行。在源程序代码编制完成,经过评审和验证,确认没有语法错误之后,就开始进行单元测试的测试用例设计。利用设计文档,设计可以验证程序功能、找出程序错误的多个测试用例。对于每一组输入,应有预期的正确结果。模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。这些辅助模块分为两种:(1) 驱动模块:相当于被测模块的主程序。它接收测试数据,把这些数据传送给被测模块,最后输出实测结果。(2) 桩模块:用以代替被测模块调用的子模块。桩模块可以做少量的数据操作,不需要把子模块所有功能都带进来,但不允许什么事情也不做。 被测模块、与它相关的驱

21、动模块及桩模块共同构成了一个“测试环境”,如图3-1所示。图3-1 单元测试环境3.1.4 实验设备主流PC机一套,windows操作系统eclipse开发平台 、ant开源工具;3.1.5 实验内容1、用java语言编写一个WEB项目,针对一个或多个类,选用白盒测试或黑盒测试中的一种方法方法设计用例。2、编写junit测试代码,并进行测试。3、编写ant自动化测试脚本,使所有junit测试代码自动完成测试,并生成html格式测试报告4、测试代码覆盖率,并生成html格式代码覆盖测试报告。3.1.6 实验步骤(1) 根据白盒法设计测试用例,并撰写单元测试计划书;(2) 根据每个测试用例,编写基

22、本Junit的单元测试脚本;(3) 通过编写ant脚本生成html格式的测试报告;(4) 生成html格式的代码覆盖测试报告;3.1.7 实验要求1、提交单元测试计划书(包含详细的白盒测试用例),要求格式规范,内容完整,描述清晰。2、提交所有的代码和测试代码,要求代码组织合理;3、提交ant生成的html格式报告。4、提交生成的html格式代码覆盖测试报告3.2自动化功能测试3.2.1 实验类型实验类型为验证型,2个学时。3.2.2 实验目的1、掌握selenium测试工具的基本原理和方法;2、掌握selenium IDE测试和RC测试;3.2.3 背景知识 Selenium是一个用于Web应

23、用程序测试的工具。Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,Mozilla和Firefox等。这个工具的主要功能包括:测试与浏览器的 兼容性-测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能-创建衰退测试检验软件功能和用户需求。Selenium 已经演化成了几个并行的子项目,它们分别是:Selenium Core、SeleniumIDE、Selenium Remote Control 和Selenium onRails。Selenium Core 是测试工具的核心,也是其他子项目的依托。它是一个内嵌于浏览器中的Java

24、Script 和iframe 的自动化测试引擎。其最近一个发布版本是在2007 年9 月发布的0.8.3。Selenium IDE 是一个针对Selenium 测试的集成开发环境。它是作为Firefox 的扩展来实现的,允许录制、编辑和调试Selenium 测试。目前的最新版本是0.8.7。Selenium Remote Control 提供了一个Selenium Server,它以Ajax 方式来控制浏览器。你可以通过普通的HTTP 请求与Selenium Server交互,这使得你能够用许多主流编程语言(比如Java、.NET、Perl、Python、Ruby)来编写自动化的Web 应用U

25、I 测试。Selenium Remote Control目前的最新版本是2007 年9 月发布的0.9.2。Selenium on Rails 是一个专门用于为测试Rails 应用程序提供便利的插件。它原来是由Jonas Bengtsson 在其个人网站上发布的,2006年8 月刚刚搬迁到Selenium 的官方主页。3.2.4 实验设备主流PC机一套,windows操作系统、WEB项目、selenium 、tomcat ;3.2.5 实验内容1、制定功能测试计划和内容,编写功能测试用例2、安装selenium IDE 和 server;3、利用selenium IDE,根据功能测试用例,录制

26、功能测试脚本,并进行保存和回放;4、启动 selenium server,利用java语言和junit编写功能测试代码,对WEB项目中所有的功能进行测试;3.2.6 实验步骤(1) 根据软件需求,编写测试计划和测试用例;(2) 根据测试用例,录制测试脚本;启动firefox,点击“工具-selenium IDE”,启动selenium IDE插件,进入录制状态在firefox地址栏中输入URL,并进行操作,selenium IDE自动记录用户的操作步骤操作完成后,点击selenium IDE插件中的录制按钮,停止录制。(3) 根据测试用例,基于senelium RC模式编写测试脚本;Selen

27、ium RC使用方法详见selenium使用指南V1.0_夏辉.doc(4) 撰写实验报告3.2.7 实验要求1、撰写实验报告,主要填写本人上机测试步骤和测试内容;2、提交录制的测试脚本和编写的测试脚本(100%测试通过);3.3自动化性能测试3.3.1 实验类型实验类型为验证型,2个学时。3.3.2 实验目的1、掌握性能测试的基本原理和方法;2、掌握jmeter测试工具使用方法3、掌握IBM Performance tester工具使用方法4、掌握性能测试的分析方法3.3.3 背景知识Apache jmeter 是一个100的纯java桌面应用,用于压力测试和性能测量。它最初被设计用于Web

28、应用测试但后来扩展到其他测试领域。Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性 能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。Jmeter能够进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。 3.3.4 实验设备主流PC机一套,windows操作系统、WEB项目、jmeter、tomcat、badboy;3.3.5 实验内容1、制定性能测试计划

29、和内容,编写性能测试用例2、安装jmter和tomcat3、利用jmeter,根据性能测试用例,编写功能测试脚本4、运行jmeter,获得运行结果5、针对不同性能测试用例,分析性能测试结果3.3.6 实验步骤一、实验环境准备安装jdk1.5及以上版本安装badboy配置JAVA_HOME和CLASSPATH。从apache官方网站http:/jakarta.apache.org/jmeter/index.html下载Jmeter二进制文件并解压缩,启动%JMeter%binjmeter.bat批处理文件,显示jmeter可视化界面。启动tomcat二、建立测试计划(Test Plan)测试计划

30、描述了执行测试过程中JMeter的执行过程和步骤,一个完整的测试计划包括一个或者多个线程组(Thread Groups)、逻辑控制(Logic Controller)、实例产生控制器(Sample Generating Controllers)、侦听器(Listener)、定时器(Timer)、比较(Assertions)、配置元素(Config Elements)。打开JMeter时,它已经建立一个默认的测试计划,一个JMeter应用的实例只能建立或者打开一个测试计划。现在我们开始填充一个测试计划的内容,这个测试计划向一个jsp文件和一个servlet发出请求,我们需要JMeter模拟五个请求者(也就是五个线程),每个请求者连续请求两次,下面的章节介绍了详细的操作步骤。三、增加负载信息设置我们需要模拟五个请求者,每个请求者在测试过程中连续请求两次。详细步骤如下:1. 选中可视化界面中左边树的Test Plan节点,单击右键,选择AddThread Group,界面右边将会出现他的设置信息框。2. Thread Group有三个和负载信息相关的参数: 线程数(Number of Threads): 设置发送请求的用户数目 请求间隔

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1