欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    软件质量保证与测试实验指导书.docx

    • 资源ID:904109       资源大小:418.28KB        全文页数:40页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件质量保证与测试实验指导书.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 背景知识结构性测试是知道产品内部工作过程,检测产品内部动作是否按照规格说明书的规定正常进行。结构性测试允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。一、逻辑覆盖结构性测试力求提高测试覆盖率。逻辑覆盖是对一系列测试过程的总称,它是在使用白盒测试法时,选用测试用例执行程序逻辑路径的方法。逻辑覆盖按覆盖程度由低到高大致分为以下几类:(1) 语句覆盖:设计若干测试用例,使程序中每一可执行语句至少执行一次;(2) 判断覆盖:设计用例,使程序中的每个逻辑判断的取真取假分支至少经历一次;(3)条件覆盖:设计用例,使判断中的每个条件的可能取值至少满足一次;(4) 判断/条件覆盖:设计用例,使得判断中的每个条件的所有可能结果至少出现一次,而且判断本身所有可能结果也至少出现一次;(5) 条件组合覆盖。设计用例,使得每个判断表达式中条件的各种可能组合都至少出现一次;显然,满足的测试用例也一定是满足、的测试用例。(6) 路径覆盖。设计足够的测试用例,使程序的每条可能路径都至少执行一次。如果把路径覆盖和条件组合覆盖结合起来,可以设计出检错能力更强的测试数据用例。二、基本路径测试如果把覆盖的路径数压缩到一定限度内,例如,程序中的循环体只执行零次和一次,就成为基本路径测试。它是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中,程序的每一个可执行语句至少要执行一次。程序的控制流图控制流图是描述程序控制流的一种图示方法。基本控制构造的图形符号如图所示。符号。称为控制流图的一个结点,一组顺序处理框可以映射为一个单一的结点。控制流图中的箭头称为边,它表示了控制流的方向,在选择或多分支结构中分支的汇聚处,即使没有执行语句也应该有一个汇聚结点。边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。顺序结构IF选择结构 WHILE重复结构 SlTIL重复结构CAsE多分支结构图3/控制流图的各种图形符号如果判定中的条件表达式是复合条件时,即条件表达式是由一个或多个逻辑运算符(OR,AND,NAND,NOR)连接的逻辑表达式,则需要改复合条件的判定为一系列只有单个条件的嵌套的判定。例如对应图3-2.(a)的复合条件的判定,应该画成如图3-2.(b)所示的控制流图。条件语句ifaORb中条件a和条件b各有一个只有单个条件的判定结点。计算程序环路复杂性进行程序的基本路径测试时,程序的环路复杂性给出了程序基本路径集合中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。所谓独立路径,是指包括一组以前没有处理的语句或条件的一条路径。如在图3-3(b)所示的控制流图中,一组独立的路径是:pathl:1-11palh2:1-2-3-4-5-10-1-11path3:1-2-3-6-8-9-10-1-11palh4:1-2-3-6-7-9-10-1-11路径Path1,path2,path3,path4组成了图3-3(b)所示控制流图的一个基本路径集。只要设计出的测试用例能够确保这些基本路径的执行,就可以使得程序中的每个可执行语句至少执行一次,每个条件的取真分支和取假分支也能得到测试。基本路径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。图3-3程序流程图与对应的控制流图通常环路复杂性可用以下三种方法求得。- 将环路复杂性定义为控制流图中的区域数。- 设E为控制流图的边数,N为图的结点数,则定义环路复杂性为V(G)=E-N+2o- 若设P为控制流图中的判定结点数,则有V(G)=P÷U因为图5.14(b)所示控制流图有4个区域。其环路匏杂性为4o它是构成基本路径集的独立路径数的上界。可以据此得到应该设计的测试用例的数目。导出测试用例利用逻辑覆盖方法生成测试用例,确保基本路径集中每条路径的执行。3.1.4 实验设备主流PC机一套,要求安装WindOWS操作系统、ViSUalC+开发工具和OFFICE工具;3.1.5 实验内容1.题目一:使用逻辑覆盖测试方法测试以下程序段voidDoWork(intx,i11ty,i11tz)(1 intk=0,j=0;2 if(x>3)&&(ZVlO)3 (4 k=x*y-l;5 j=sqrt(k);6 )7 if(x=4)(y>5)8 j=x*y÷10;9 j=j%3;10说明:程序段中每行开头的数字(I-IO)是对每条语句的编号。(1)画出程序的控制流图(用题中给出的语句编号表示)。(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。2 .题目二:三角形问题在三角形计算中,要求输入三角型的三个边长:A、B和Co当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印”等腰三角形”,若是等边三角形,则提示“等边三角形画出程序流程图、控制流程图、计算圈复杂度V(g),找出基本测试路径。3 .题目三:计算生日是星期几已知公元1年1月1日是星期一。编写一个程序,只要输入年月日,就能回答那天是星期儿。应用逻辑覆盖方法和基路径测试方法为上面的问题设计测试用例。4 .题目四:选择排序下面是选择排序的程序,其中da匕IiSt是数据表,它有两个数据成员:一是元素类型为Elemem的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素Vi的关键码操作getKey(),一是交换两数组元素内容的操作Swap。:voidSelectSort(datalist&list)/对表list.VO到listVn-l进行排序,n是表当前长度。for(inti=0;i<list.n-1;i+)intk=i;H在list.Vi.key到list.Vn-H.key中找具有最小关键码的对象for(intj=i+1;j<list.n;j+)if(IisLVLjLgetKey()<list.Vk.getKey()k=j;当前具最小关键码的对象if(k!=i)Swap(list.Vi,Iist.Vk);交换)(1) 试计算此程序段的McCabe复杂性;(2) 用基本路径覆盖法给出测试路径;(3) 为各测试路径设计测试用例。3.1.6 实验步骤(1) 根据白盒测试技术设计测试用例,主要考虑逻辑覆盖测试(语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖、路径覆盖)和基路径测试技术:(2) 根据所学知识确定优化策略(原则:用最少的用例检测出更多的缺陷、软件测试的充分性与冗余性考虑),设计两套测试用例集;(3) 根据设计的两套测试用例集进行测试、参照表2所示的缺陷等级给出缺陷列表;(4)计算测试用例的分支覆盖率、条件覆盖率和语句覆盖率等测试管理指标;3.1.7 实验要求(1)根据题目要求编写测试用例(参照表1进行用例设计);(2)实验结果要求给出两套测试用例集测试效果比较;计算测试用例的分支覆盖率、条件覆盖率和语句覆盖率等测试管理指标;(3)撰写实验报告;3.1.8 实验思考(1)使用公式e-n+pe-n+2p确定的McCabe基路径与实际分析的是否完全一致?(2)DD-路径和MM-路径的区别与联系。3.2黑盒测试用例设计3.2.1 实验类型实验类型为验证型,2个学时。3.2.2 实验目的(1) 能熟练应用黑盒测试技术进行测试用例设计;(2) 对测试用例进行优化设计;3.2.3 背景知识黑盒测试也叫功能测试,是指在对程序进行功能抽象的基础上,将程序划分成功能单元,然后在数据抽象的基础上,对每个功能单元生成测试数据进行测试。进行功能测试时,被测程序被当作打不开的黑盒,因而无法了解其内部构造。一、等价类测试等价类测试方法是把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。使用等价类划分方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。等价类的划分有两种不同的情况:有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。用等价类划分法设计测试用例步骤:(1)形成等价类表,每一等价类规定一个唯一的编号;(2)设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;(3)设计一个新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖。二、边界值测试1 .边界值分析边界值分析是考虑边界条件而选取测试用例的一种功能测试方法。边界值分析关注输入空间的边界,以标识测试用例,因为错误更可能出现在输入变量的极值附近。边界值分析的基本思想是:使用在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值。2 .健壮性测试健壮性是指在异常情况下,软件还能正常运行的能力。健壮性考虑的主要部分是预期输出,而不是输入。健壮性测试是边界值分析的一种简单扩展。除了变量的5个边界分析取值还要考虑略超过最大值(max)和略小于最小值(min)时的情况。3 .最坏情况测试最坏情况测试将意味着更大工作量,n变量函数的最坏情况测试会产生5的n次方个测试用例,而边界值分析只产生4n+l个测试用例。三、基于决策表的测试决策表适合描述不同条件集合下采取行动的若干组合的情况。使用决策表标识测试用例,则把条件解释为输入,行动解释为输出。有时条件最终引用输入的等价类,行为引用被测试软件的主要功能处理部分,规则解释为测试用例。对于有限条目决策表,如果有n个条件,则必须有2条规则。如果不关心条目实际地表明条件是不相关的,则没有不关心条目的规则统计为1条规则,规则中每出现一个不关心条目,该规则数乘一次2。3.2.4 实验设备主流PC机一套,要求安装WindoWS操作系统、ViSUaIC+开发工具和OFFICE工具;3.2.5 实验内容1 .题目一:电话号码问题某城市电话号码由三部分组成。它们的名称和内容分别是:(1)地区码:空白或三位数字;(2)前缀:非。或T的三位数字;(3)后缀:4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。2 .题目二,三角形问题根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。“一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。”3 .题目三:日期问题用决策表测试法测试以下程序:该程序有三个输入变量month、dayyear(month、day和year均为整数值,并且满足:lmonth12和IWdayW31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为2004年11月29日,则该程序的输出为2004年12月1日。(I)分析各种输入情况,列出为输入变量month.day、year划分的有效等价类。(2)分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即列出所有的动作桩)。(3)根据(1)和(2),画出简化后的决策表。4 .题目四:找零钱最佳组合假设商店货品价格(R)皆不大于100元(且为整数),若顾客付款在100元内(P),求找给顾客最少货币个(张)数?(货币面值50元10元,5元,I元四种)3.2.6 实验步骤(1) 根据黑盒测试技术设计测试用例,主要考虑等价类划分和边界值分析测试技术;(2) 根据所学知识确定优化策略(原则:用最少的用例检测出更多的缺陷、软件测试的充分性与冗余性考虑),设计两套测试用例集;(3) 根据设计的两套测试用例集进行测试;3.2.7 实验要求(1) 根据题目要求编写测试用例(参照表1进行用例设计);(2) 实验结果要求给出两套测试用例集测试效果比较;(3) 撰写实验报告;3.2.8 实验思考(1) 在实际的测试中,如何设计测试用例才能达到用最少的测试用例检测出最多的缺陷;(2) 在进行用例设计时,如何考虑软件测试用例的充分性和减少软件测试用例的冗余性;3.3单元测试3.3.1 实验类型实验类型为设计型,4个学时。3.3.2 实验目的(1)掌握单元测试技术,并按单元测试的要求设计测试用例。(2) 能熟练应用功能性测试技术进行测试用例设计;(3) 能熟练应用结构性测试技术进行测试用例设计;(4) 对测试用例进行优化设计;(5) 熟悉测试管理中的量化指标。3.3.3 背景知识一、单元测试的内容(1)模块接口测试:对通过被测模块的数据流进行测试。为此,对模块接口,包括参数表、调用子模块的参数、全程数据、文件输入/输出操作都必须检查。(2)局部数据结构测试:设计测试用例检查数据类型说明、初始化、缺省值等方面的问题,还要查清全程数据对模块的影响。(3)路径测试:选择适当的测试用例,对模块中重要的执行路径进行测试。对基本执行路径和循环进行测试可以发现大量的路径错误。(4)错误处理测试:检查模块的错误处理功能是否包含有错误或缺陷。例如,是否拒绝不合理的输入:出错的描述是否难以理解、是否对错误定位有误、是否出错原因报告有误、是否对错误条件的处理不正确;在对错误处理之前错误条件是否已经引起系统的干预等。(5)边界测试:要特别注意数据流、控制流中刚好等于、大于或小于确定的比较值时出错的可能性。对这些地方要仔细地选择测试用例,认真加以测试。此外,如果对模块运行时间有要求的话,还要专门进行关键路径测试,以确定最坏情况下和平均意义下影响模块运行时间的因素。这类信息对进行性能评价是十分有用的。二、单元测试的步骤通常单元测试在编码阶段进行。在源程序代码编制完成,经过评审和验证,确认没有语法错误之后,就开始进行单元测试的测试用例设计。利用设计文档,设计可以验证程序功能、找出程序错误的多个测试用例。对于每一组输入,应有预期的正确结果。模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。这些辅助模块分为两种:(1)驱动模块:相当于被测模块的主程序。它接收测试数据,把这些数据传送给被测模块,最后输出实测结果。(2)桩模块:用以代替被测模块调用的子模块。桩模块可以做少量的数据操作,不需要把子模块所有功能都带进来,但不允许什么事情也不做。被测模块、与它相关的驱动模块及桩模块共同构成了一个“测试环境”,如图3-1所示。图3-1单元测试环境3.3.4 实验设备主流PC机一套,要求安装WindoWS操作系统、VC开发工具和OFFICE工具;3.3.5 实验内容题目一:针对三角形问题进行单元测试三角形问题:接受三个正整数a、b、C作为输入,用做三角形的边。三边必须满足条件:0<a、b>c<1000;程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形。该程序的实现已经用C语言实现,请参考附录1(略)。3.3.6 实验步骤(1) 根据功能测试技术设计测试用例,主要考虑边界测试、等价类(弱一般、强一般、弱健壮性、强健壮性)和基于决策表等技术;(2) 根据结构性测试技术设计测试用例,主要考虑路径测试、数据流等测试技术;(3) 根据所学知识确定优化策略(原则:用最少的用例检测出更多的缺陷、软件测试的充分性与冗余性考虑),设计两套测试用例集;(4) 根据设计的两套测试用例集进行测试、参照表2所示的缺陷等级给出缺陷列表;(5) 计算测试用例的分支覆盖率、条件覆盖率和语句覆盖率等测试管理指标;3.3.7 实验要求(1) 以实验报告的形式撰写单元测试的测试用例。(2) 实验结果要求给出两套测试用例集测试效果比较(根据实验步骤中的4、5两步进行撰写);3.3.8 实验思考(1) 在实际的测试中,如何设计测试用例才能达到用最少的测试用例检测出最多的缺陷;(2) 在进行用例设计时,如何考虑软件测试用例的充分性和减少软件测试用例的冗余性;.为了高效地进行软件测试,目前还有哪些测试技术可以使用?3.4 QuickTest Professional 初级使用3.4.1实验类型实验类型为验证型,2个学时。3.4.2实验目的了解QUiCkTeSt测试工具的操作界面,了解QUiCkTeSt测试工具的测试模式和过程,并能使用 QuickTest测试工具录制测试脚本、执行并分析测试脚本。3.4.3背景知识Mercury QuickTest Professional是一款先进的自动化测试解决方案,用于创建功能和回归测试。 它自动捕获、验证和重放用户的交互行为。使用QuickTest Professional关键字视图、自动文档 (Auto-documentation)和活动屏幕(Active Screen),无需一行代码,就可以创建和修改测试脚本, 同时满足了技术型和非技术型用户的需求,让各个公司有能力部署更高质量的应用。QiIiekTeSI主要应用在回归测试中。QUiCkTeSI针对的是GUl应用程序,包括传统的WindoWS应 用程序,以及现在越来越流行的Web应用。一、QUiCkTeSt 窗口在开始录制测试脚本之前,先熟悉QUiCkTeSt的窗口。QuickTest的主窗口如图3-2所示。TrUeborS Recoiding QuickTeH ProfessionalMenu bur - e<M View trwft Test Rep DebUJ Took He>HI% "C 一 0自 Q W0S 会。口 ttIoofthirTesting toolbarAction toolbarIl Q .一 Record AnUn ,w> <uTest pone ff Welcome: Metcuv T outTabkTiewYotknUser NameHz*Stotus barActive ScreenEnter *me<cj' r fe 'UseNarte'* ed box.EM E 9cryptec smg ,40236343e70d Cck Ihe 'Stgryln'* mage.,Vnefdi/* *4023322 Wlcomo Mwcuy UsefHfirte L pttwod 31 Sgn4n口 Find a Flht M<cuySdect the nNew Yk, Aemntbe ox bst Select the "Dec" itm r the,TiomMortth* fis, Select the nW <en n the FsDW hlFind A FIlghtlRegistered users Cansign here to find the lwvt fare?participating airlines巨 fomPortftomMort P- homDay图3-2QUiCkTeSt的主窗口QuickTest的主窗口包含下列的组件: Titlebar:显示目前测试脚本的名称。 Menubar:显示QUiCkTeSl的菜单。 Filetoolbar:管理测试脚本常用的工具列。FiIetOOIbar如图3-3所示。OpenPrintDataResultsOptionsObjectTableRepositoryI口百后倒或旧困|旧。色INewSaveActiveDebugTestQualityObjectScreenViewerSettingsCenterSpyConnection图3-3FiIetoolbar Testtoolbar:录制测试脚本常用的工具列。Testtoolbar如图3-4所示。SplitStartAnalogRecordStopActionTransactionRecordingRunActionCheckpointTransactionRecording图3-4Testtoolbar Debugtoolbar:对测试脚本除错常用的工具列。DebUgtOOlbar如图35所示。StepStepClearAilIntoOutBreakpointsPauseStepInsertZRemoveOverBreakpoint图3-5Debugtoolbar Actiontoolbar:包含常用的功能按钮,以及一个显示测试动作(action)的下拉式清单(list),方便你检视整个测试脚本中的测试动作。 Testpane:包含KeyWordVieW以及EXpertView。 ActiveScreenpane:包含ActiveScreeno DataTable:当你对测试脚本做参数化时存放参数数据的地方,除了一个Global的数据表外,每一个action也会有各自的资料表。 DebugViewerpane:协助你对测试脚本除错(debug)oDebugViewerpane包含WatchExpressionsVariables以及Command。 Statusbar:显示测试脚本的状态。二、QuickTest测试开发流程QuickTest的测试流程包含七大阶段:1 .录制测试脚本前的准备在测试前需要先确认应用程序以及QuickTesl是符合测试需求。确认你已经知道如何对应用程序进行测试,例如要测那些功能、操作步骤、输入的数据、预期的结果等。同时应该检查一下QUiCkTeSl的设定,1TestSettings(Test>Settings)以及OPIiOnS对话窗口(Tools>Options),以确保QUiCkTeSt会适切的录制并储存信息。例如,你应该确认一下QuickTest的ObjeCtRePOSitOry是以什么模式储存信息的。2 .录制测试脚本当浏览网站或是操作应用程序时,QuickTest会在KeyWordVieW中以表格的方式显示录制的操作步骤。每一个操作步骤都是使用者在录制时的操作,如在网页上点选一个超级链接(link),或是按下窗口上的按钮。3 .加强测试脚本 在测试脚本中加入检查点,可以检查网页超级链接、对象属性或是字符串,以验证应用程序的功能是否正确。 将录制的固定值(hardcode)参数以取代,使用多组的数据测试应用程序。 使用逻辑(logic)或是条件(C

    注意事项

    本文(软件质量保证与测试实验指导书.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开