您好,欢迎访问三七文档
软件测试实验课程指导书2016信息技术学院软件工程系郭烨第1章实验基础知识1.1软件测试概述1.软件测试软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。2.测试过程为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、系统测试和验收测试。代码会审由一组人通过阅读、讨论和争议对程序进行静态分析的过程。单元测试集中在检查软件设计的最小单位——模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。系统测试是测试整个系统,以证实它满足“需求规格说明书”所规定的功能、质量和性能等方面的特性。验收测试的目的是向未来的用户表明系统能够像预定要求那样工作。与系统测试非常相似,主要区别是测试人员不同,验收测试由用户执行。3.测试方法软件测试的方法分为功能性测试和结构性测试。功能测试是指在对程序进行功能抽象的基础上,将程序划分成功能单元,然后在数据抽象的基础上,对每个功能单元生成测试数据进行测试。进行功能测试时,被测程序被当作打不开的黑盒,因而无法了解其内部构造,因此又称为黑盒测试。结构性测试是知道产品内部工作过程,检测产品内部动作是否按照规格说明书的规定正常进行。它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。此方法把测试对象看作一个透明的盒子,又叫白盒测试。4.测试工具软件测试的工作量很大(据统计,会用到40%的开发时间;一些可靠性要求非常高的软件,测试时间甚至占到总开发时间的60%),但测试却是在整个软件过程中极有可能应用计算机进行自动化的工作,原因是测试的许多操作是重复性的、非智力创造性的、需求细致注意力的工作。测试工具的应用已经成为了普遍的趋势。测试工具一般可分为白盒测试工具、黑盒测试工具、性能测试工具,另外还有用于测试管理(包括测试流程管理、缺陷跟踪管理、测试用例管理)的工具。1.2测试用例的编写1.测试用例软件测试的本质是针对要测试的内容确定一组测试用例。测试用例是为实施一次测试而向被测系统提供的输入数据、操作或各种环境设置。测试用例应该包含基本的内容有输入和预期输出,输入实际有两种类型:前提(在测试用例执行前已经存在的环境)和由某种测试方法所标识的实际输入。预期输出也有两类:后果和实际输出。测试活动要建立必要的前提条件,提供测试用例输入、观测输出、然后将这些输出与预期输出进行比较,以确定该测试是否通过。有两种基本方法可以用来标识测试用例,即功能性测试和结构性测试。功能性测试的基本观点是,任何程序都可以看作是将从定义域取值映射到输出值域的函数。这种观点常常在工程中使用,将系统看作是黑盒。采用功能性方法标识测试用例,所使用的唯一信息就是软件的规格说明。功能性测试用例具有两个显著的优点:(1)功能性测试与软件如何实现无关,所以如果实现发生变化,测试用例仍然有用;(2)测试用例开发可以与实现并行进行,因此可缩短总的开发时间。在缺点方面,功能性测试用例也常常带来两个问题:测试用例可能存在严重的冗余,此外可能还会有未测试的软件漏洞。功能性测试的主流方法主要有:边界值分析、健壮性分析、最坏情况分析、特殊值测试、输入等价类、输出等价类和基于决策树的测试。结构性测试有时也叫白盒测试。结构性测试是知道软件产品内部工作过程,检测软件产品内部动作是否按照规格说明书的规定正常进行。结构性测试需要全面了解程序内部逻辑结构、对所有逻辑路径进行测试。结构性测试是穷举路径测试,并力求提高测试覆盖率。结构性测试的主要方法有:逻辑覆盖测试、基路径测试、数据流测试等方法。在实际应用中,为全面的测试软件产品,一般将结构性测试和功能性测试结合起来使用。2.软件缺陷分类有多种方法可以对缺陷分类:以出现相应错误的开发阶段来划分、以相应失效产生的后果来划分、以解决难度来划分、以不解决难度会产生的风险来划分等等。在日常的软件测试中,通常给出的缺陷是根据缺陷后果的严重程度来进行划分,如下表2所示。在实际应用中可以根据具体情况对严重程度来划分不同的等级。3.测试用例的选择选择测试用例是软件测试员最重要的一项任务,不正确的选择可能导致测试量过大或过小,甚至测试目标不对。从工程实践的角度讲,测试用例有几条基本准则:(1)测试用例的代表性:能够代表各种合理和不合理的、合法的和非法的、边界和越界的,以及极限的输入数据、操作和环境设置等;(2)测试结果的可判定性:即测试执行结果的正确性是可判定的或可评估的;(3)测试结果的可再现性:即对同样的测试用例,系统的执行结果应当是相同的。第2章实验要求2.1实验总体要求2.1.1实验意义和目的本实验课程着眼于理论与应用的结合,注重培养学生软件测试的实际动手能力,增强软件工程项目的质量管理意识。通过实验教学,使学生掌握软件测试的方法和技术,并能运用软件测试工具进行自动化测试。本实验课程要求学生完成适当的上机实习,并写出相应的实验报告。验证型题目使学生熟悉常用的软件测试工具。设计型题目使学生掌握软件测试的基本理论和基本方法,培养基本的应用能力。2.1.2实验内容安排见后2.1.3实验过程要求实验前要充分做好准备工作:1.复习和掌握与本实验有关的知识内容;2.预习、思考实验内容;3.对实验内容进行分析和设计。在指定的实验时间内,必须到实验室内做实验。对于上机过程中出现的问题,尽量先独立思考和解决;对于难以解决的问题可以和同学交流或询问老师;对于同一个实验题目,可以考虑多种方法来实现,然后比较并选择出一种较为有效的方法来实现。2.2实验报告要求实验后,应及时整理出实验报告2.3实验成绩评价2.3.1实验成绩评价结构及比例实验课程的总成绩由实验考勤和实验报告成绩组成,其中实验考勤占10%,实验过程占20%,实验报告占70%。2.3.2考核方式实验考核主要是三个方面:1.上机实验考勤。每次上机应主动在指导老师处签到如果学生需要请假,必须提前出具正式假条(需要班主任或者辅导员签字),不接受事后假条(如有特殊情况,需要有辅导员或班主任的情况说明)。2.实验过程考核。每次实验课,指导教师根据实验过程情况,对每个学生的表现进行记录。3.实验报告提交。应根据指导教师要求按时提交每次实验的数据。如果发现学生抄袭、伪造实验数据,或实验报告和设计报告抄袭、雷同,则涉及的所有学生的该课程实验成绩记为0分。第3章实验内容实验一测试计划编制4学时测试计划是描述测试目的、范围、方法和测试工作内容的重要文档。科学、合理、有效地制订软件测试计划是成功完成测试任务的必要前提。(一)实验目的:1.了解测试计划的内容和格式2.熟悉测试计划的编制过程3.学会针对某个特定的软件项目编写软件测试计划(二)实验环境操作系统:windowsXP及其以上版本(三)实验任务:学生分组,每组3~5人,各组选择一个小型软件作为测试对象。充分了解测试对象,仔细阅读、分析需求规格说明书和设计说明书,对该软件结构、功能、性能进行分析,制订测试计划。每组提交一份测试计划文档。(四)实验内容与步骤:1.确定分组,每组3~5人,作为模拟测试项目组,并选定项目组长。2.项目成员参与选定待测软件产品。3.由项目组长主持,分析、研究待测产品。4.讨论、分析《需求规格说明书》,制订系统测试及验收测试的策略;确定功能、性能、压力负载测试等工作重点。5.讨论、分析《概要设计说明书》,制订集成测试及确认测试的策略;确定测试方法及重点测试内容。6.讨论、分析《详细设计说明书》,制订单元测试策略、方法及主要内容。7.由项目组长主持,讨论测试工作具体分工及进度安排。8.根据讨论结果与讨论记录,参照附件1编写软件测试计划。(五)实验要求1.测试计划是对每个软件产品,或是对各个开发阶段的产品开展测试的策略,是描述测试目的、范围、方法和软件测试的重点等的文档。2.测试计划的目的:识别任务、分析风险、规划资源和确定进度。测试计划在策略和方法上高度说明如何计划、组织和管理测试项目。最终以系列文档的形式确定下来。3.测试计划须包含的内容:1)产品基本情况:产品运行平台、应用领域、特点、功能、产品规格2)测试需求说明:所要测试的功能项、侧重点3)测试策略和记录:描述如何公正、客观地开展测试、遵循的标准4)测试资源配置:各测试阶段的任务、所需的资源5)计划表6)问题跟踪报告:问题的性质、发现者、修改者、问题发生的频率、发现问题的测试案例、测试环境、问题分类7)测试计划的评审和结果等:4.测试计划包含足够的信息使测试人员明白需要完成的工作,拟定软件测试计划需要测试项目管理人员的积极参与。每组同学针对所选定的软件产品,参考附件1提供的测试计划框架,编写软件测试计划。实验二白/黑盒测试测试用例设计12学时(一)实验目的1.认识白/黑盒测试原理2.掌握白/黑盒测试过程3.掌握白/黑盒测试用例的设计方法(二)实验条件操作系统:windowsXP及其以上版本(三)实验任务针对测试对象,选择其中4个模块进行功能测试。分别采用白盒、黑盒测试方法设计测试用例,执行测试、并记录测试结果。比较上述测试方法,完成实验报告。(四)实验内容与步骤1.分析测试对象,选择4个待测模块。(白盒、黑盒各两个)2.分析待测模块的程序结构,画出功能模块图(黑盒)及程序结构图(白盒)3.白盒测试用例设计:分别采用条件覆盖、判定-条件覆盖、条件组合覆盖、基本路径覆盖等方法设计测试用例。(至少两种方法)4.黑盒测试用例设计:分别采用等价类划分法、边界值法、因果图法、判定表法等几种方法设计测试用例。(至少两种方法)5.完成测试用例一览表。(五)实验要求1.测试项目组每位成员必须完成白盒、黑盒各三个测试用例(方法各异)的设计。要求列出设计过程。如:白盒(基本路径法):(1)根据程序结构画出控制流图(2)计算程序复杂系数(3)列出基本路径(4)测试用例表黑盒(等价类划分法):(1)等价类分析(2)等价类表(3)测试用例表2.测试用例一览表按照如下要求填写。(参照测试用例模板)实验三测试执行(6学时)(一)实验目的1.熟悉目标系统操作界面的组成2.了解目标管理系统结构。3.掌握目标系统测试过程。(二)实验环境操作系统:windowsXP及其以上版本(三)实验任务1.针对实验二中的测试用例逐个执行测试、并记录测试结果。2.比较上述测试方法,完成实验报告。3.参照附录3格式,记录测试结果实验四软件测试报告(4学时)(一)实验目的1.了解测试报告的内容和格式2.掌握软件测试评估方法3.学会编写软件测试报告(二)实验条件操作系统:windowsXP及其以上版本(三)实验任务对软件产品的测试结果进行覆盖率分析、评估,撰写测试报告(四)实验内容与步骤1.由项目组长主持,对已测软件产品进行分析,判定测试任务是否完成。2.将测试结果进行统计汇总,编制各项统计报表。3.对测试结果进行覆盖率分析,对测试质量及软件产品质量进行评估。4.参照附件4编写测试报告。(五)实验要求1.测试报告由测试项目组成员共同完成,并注明每人完成的部分。2.测试报告首页必须填写软件产品名称、测试项目组成员,项目组长、测试完成日期。附件1软件测试计划第1章引言1.1目的简述本计划的目的,旨在说明各种测试阶段任务、人员分配和时间安排、工作规范等。1.2名词解释列出本计划中使用的专用术语及其定义;列出本计划中使用的全部缩略语全称及其定义。缩名词或术语英文解释中中文解释1.3参考资料列出本计划各处参考的经过核准的全部文档和主要文献。1.4时间进度说明测试开始时间与发布时间。第2章项目背景2.1项目来源与目标2.2测试范围说明本计划涵盖的测试范围,列出测试对象中将接受测试或将不接受测试的那些性能和功能。2
本文标题:软件测试实验指导书
链接地址:https://www.777doc.com/doc-4276384 .html