软件质量保证与测试实验指导书.docx
软件质量保证与测试实验指导目录第1章实验基础知识11.1 软件测试概述11.2 测试用例的编写1第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 白盒测试用例设计73.1.1 实验类型73.1.2 实验目的73.1.3 背景知识73.1.4 实验设备93.1.5 实验内容93.1.6 实验步骤IO3.1.7 实验要求IO3.1.8 实验思考113.2 黑盒测试用例设计113.2.1 实验类型Il3.2.2 实验目的Il3.2.3 背景知识113.2.4 实验设备123.2.5 实验内容123.2.6 实验步骤133.2.7 实验要求133.2.8 实验思考133.3 单元测试143.3.1 实验类型143.3.2 实验目的143.3.3 背景知识143.3.4 实验设备153.3.5 实验内容153.3.6 实验步骤153.3.7 实验要求1533.8 实验思考1633.9 QuickTestProfessional初级使用1733.9.1 验类型1733.9.2 验目的1733.9.3 景知识1733.9.4 验设备1933.9.5 验内容1933.9.6 验步骤2033.9.7 验要求2333.10 QuickTestProfessional高级使用2433.10.1 类型2433.10.2 目的2433.10.3 知识24354实验设备3233.10.5 内容3233.10.6 步骤3333.10.7 要求3333.11 LoadRunner的使用3433.11.1 类型3433.11.2 目的3433.11.3 LoadRunner功能简介3433.12 WEB系统测试3533.12.1 类型3533.12.2 目的3533.12.3 知识3533.12.4 设备3633.12.5 内容3733.12.6 步骤3733.12.7 要求37第1章实验基础知识1.1软件测试概述1 .软件测试软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。2 .测试过程为了保证测试的质量,将测试过程分成儿个阶段,即:代码审查、单元测试、集成测试、系统测试和验收测试。代码会审由一组人通过阅读、讨论和争议对程序进行静态分析的过程。单元测试集中在检查软件设计的最小单位模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题,系统测试是测试整个系统,以证实它满足“需求规格说明书”所规定的功能、质量和性能等方面的特性。验收测试的目的是向未来的用户表明系统能够像预定要求那样工作。与系统测试非常相似,主要区别是测试人员不同,验收测试由用户执行。3 .测试方法软件测试的方法分为功能性测试和结构性测试。功能测试是指在对程序进行功能抽象的基础上,将程序划分成功能单元,然后在数据抽象的基础上,对每个功能单元生成测试数据进行测试。进行功能测试时,被测程序被当作打不开的黑盒,因而无法了解其内部构造,因此又称为黑盒测试。结构性测试是知道产品内部工作过程,检测产品内部动作是否按照规格说明书的规定正常进行。它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。此方法把测试对象看作一个透明的盒子,又叫白盒测试。4 .测试工具软件测试的工作量很大(据统计,会用到40%的开发时间;一些可靠性要求非常高的软件,测试时间甚至占到总开发时间的60%),但测试却是在整个软件过程中极有可能应用计算机进行自动化的工作,原因是测试的许多操作是重复性的、非智力创造性的、需求细致注意力的工作。测试工具的应用已经成为了普遍的趋势。测试工具一般可分为白盒测试工具、黑盒测试工具、性能测试工具,另外还有用于测试管理(包括测试流程管理、缺陷跟踪管理、测试用例管理)的工具。本实验课程中主要涉及到QuickTestProfessional和LOadRUnner自动化测试工具。1.2测试用例的编写1 .测试用例软件测试的本质是针对要测试的内容确定一组测试用例。测试用例是为实施一次测试而向被测系统提供的输入数据、操作或各种环境设置。测试用例应该包含基本的内容有输入和预期输出,输入实际有两种类型:前提(在测试用例执行前已经存在的环境)和由某种测试方法所标识的实际输入。预期输出也有两类:后果和实际输出。测试活动要建立必要的前提条件,提供测试用例输入、观测输出、然后将这些输出与预期输出进行比较,以确定该测试是否通过。开发良好的测试用例的其他信息(如表1)主要支持测试管理,测试用例需求被开发、评审、使用、管理和保存。«1-1测试用例测试用例ID目的前提输入预期输出后果执行历史日期结果执行人有两种基本方法可以用来标识测试用例,即功能性测试和结构性测试。功能性测试的基本观点是,任何程序都可以看作是将从定义域取值映射到输出值域的函数。这种观点常常在工程中使用,将系统看作是黑盒。采用功能性方法标识测试用例,所使用的唯一信息就是软件的规格说明。功能性测试用例具有两个显著的优点:(I)功能性测试与软件如何实现无关,所以如果实现发生变化,测试用例仍然有用;(2)测试用例开发可以与实现并行进行,因此可缩短总的开发时间。在缺点方面,功能性测试用例也常常带来两个问题:测试用例可能存在严重的冗余,此外可能还会有未测试的软件漏洞。功能性测试的主流方法主要有:边界值分析、健壮性分析、最坏情况分析、特殊值测试、输入等价类、输出等价类和基于决策树的测试。结构性测试有时也叫白盒测试。结构性测试是知道软件产品内部工作过程,检测软件产品内部动作是否按照规格说明书的规定正常进行。结构性测试需要全面了解程序内部逻辑结构、对所有逻辑路径进行测试。结构性测试是穷举路径测试,并力求提高测试覆盖率。结构性测试的主要方法有:逻辑覆盖测试、基路径测试、数据流测试等方法。在实际应用中,为全面的测试软件产品,一般将结构性测试和功能性测试结合起来使用。2 .软件缺陷分类有多种方法可以对缺陷分类:以出现相应错误的开发阶段来划分、以相应失效产生的后果来划分、以解决难度来划分、以不解决难度会产生的风险来划分等等。在日常的软件测试中,通常给出的缺陷是根据缺陷后果的严重程度来进行划分,如下表2所示。在实际应用中可以根据具体情况对严重程度来划分不同的等级。3 .测试用例的选择选择测试用例是软件测试员最重要的一项任务,不正确的选择可能导致测试量过大或过小,甚至测试目标不对。从工程实践的角度讲,测试用例有几条基本准则:(1)测试用例的代表性:能够代表各种合理和不合理的、合法的和非法的、边界和越界的,以及极限的输入数据、操作和环境设置等;(2)测试结果的可判定性:即测试执行结果的正确性是可判定的或可评估的;(3)测试结果的可再现性:即对同样的测试用例,系统的执行结果应当是相同的。«1-2缺陷划分表编号缺陷等级举例1轻微词语拼写错误2中等误导或重复信息3使人不悦被截取的名称4影响使用有些交易没有处理5严重.丢失交易6非常严重不正确的交易处理7极为严重经常出现非常严重的错误8无法忍受数据库破坏9灾难性系统停机10容易传染扩展到其他系统的系统停机第2章实验要求2.1 实验总体要求2.1.1 实验意义和目的本实验课程配合软件质量保证与测试理论课同步开设,其中包括验证型、设计型实验。本实验课程着眼于理论与应用的结合,注重培养学生软件测试的实际动手能力,增强软件工程项目的质量管理意识。通过实验教学,使学生掌握软件测试的方法和技术,并能运用软件测试工具进行自动化测试。本实验课程要求学生完成适当的上机实习,并写出相应的实验报告。验证和设计题单独完成。验证型题目使学生熟悉常用的软件测试工具。设计型题目使学生掌握软件测试的基本理论和基本方法,培养基本的应用能力。2.1.2 实验内容安排实验内容安排如表2-1所示。«2-1实验内容安排实验项目编号实验性质实验要求实验项目名称学时备注1验证必做白盒测试用例设计22验证必做黑盒测试用例设计23设计必做单元测试24验证必做QuickTestProfessional初级使用25验证必做QuickTestProfessional高级使用26验证必做LoadRunner的使用27综合选做Web系统测试22.1.3实验过程要求实验前要充分做好准备工作:1 .复习和掌握与本实验有关的知识内容;2 .预习、思考实验内容;3 .对实验内容进行分析和设计。实验过程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。在指定的实验时间内,必须到实验室内做实验。对于上机过程中出现的问题,尽量先独立思考和解决;对于难以解决的问题可以和同学交流或询问老师;对于同一个实验题目,可以考虑多种方法来实现,然后比较并选择出一种较为有效的方法来实现。对于设计型和验证型实验,实验时一人一组,独立上机。2.2 实验报告要求实验后,应及时整理出实验报告。2.3 实验成绩评价2.3.1 实验成绩评价结构及比例实验课程的总成绩由实验考勤和实验报告成绩组成,其中实验考勤占10%,实验过程占50%,实验报告占40%。2.3.2 考核方式实验考核主要是三个方面:1 .上机实验考勤。每次上机应主动在指导老师处签到,冒签等不诚信行为一旦被发现,取消本次实验成绩。累计缺席实验课3次及3次以上者,期末实验成绩为。分。如果学生需要请假,必须提前出具正式假条(需要班主任或者辅导员签字),不接受事后假条(如有特殊情况,需要有辅导员或班主任的情况说明)。2 .实验过程考核。每次实验课,指导教师根据实验过程情况,随机抽查同学,进行当次实验的答辩。3 .实验报告提交。应根据指导教师要求按时提交每次实验的数据。如果发现学生抄袭、伪造实验数据,或实验报告和设计报告抄袭、雷同,则涉及的所有学生的该课程实验成绩记为。分。第3章实验内容与指导3.1 白盒测试用例设计3.1.1 实验类型实验类型为验证型,2个学时。3.1.2 实验目的(1)掌握白盒测试技术,并能应用白盒测试技术设计测试用例;(2)对测试用例进行优化设计;3.1.3 背景知识结构性测试是知道产品内部工作过程,检测产品内部动