[工学]软件测试技术实验.doc

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]软件测试技术实验

第1章 实验基础知识 1.1 软件测试概述 1.软件测试 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。 软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。 2.测试过程 为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、系统测试和验收测试。 代码会审由一组人通过阅读、讨论和争议对程序进行静态分析的过程。 单元测试集中在检查软件设计的最小单位——模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。 集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。 系统测试是测试整个系统,以证实它满足“需求规格说明书”所规定的功能、质量和性能等方面的特性。 验收测试的目的是向未来的用户表明系统能够像预定要求那样工作。与系统测试非常相似,主要区别是测试人员不同,验收测试由用户执行。 3.测试方法 软件测试的方法分为功能性测试和结构性测试。 功能测试是指在对程序进行功能抽象的基础上,将程序划分成功能单元,然后在数据抽象的基础上,对每个功能单元生成测试数据进行测试。进行功能测试时,被测程序被当作打不开的黑盒,因而无法了解其内部构造,因此又称为黑盒测试。 结构性测试是知道产品内部工作过程,检测产品内部动作是否按照规格说明书的规定正常进行。它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。此方法把测试对象看作一个透明的盒子,又叫白盒测试。 4.测试工具 软件测试的工作量很大(据统计,会用到40% 的开发时间;一些可靠性要求非常高的软件,测试时间甚至占到总开发时间的60% ),但测试却是在整个软件过程中极有可能应用计算机进行自动化的工作,原因是测试的许多操作是重复性的、非智力创造性的、需求细致注意力的工作。测试工具的应用已经成为了普遍的趋势。测试工具一般可分为白盒测试工具、黑盒测试工具、性能测试工具,另外还有用于测试管理(包括测试流程管理、缺陷跟踪管理、测试用例管理)的工具。 本实验课程中主要涉及到QuickTest Professional和WinRunner自动化测试工具。 测试用例的编写 1.测试用例软件测试的本质是针对要测试的内容确定一组测试用例。测试用例是为实施一次测试而向被测系统提供的输入数据、操作或各种环境设置。 测试用例应该包含基本的内容有输入和预期输出,输入实际有两种类型:前提(在测试用例执行前已经存在的环境)和由某种测试方法所标识的实际输入。预期输出也有两类:后果和实际输出。测试活动要建立必要的前提条件,提供测试用例输入、观测输出、然后将这些输出与预期输出进行比较,以确定该测试是否通过。开发良好的测试用例的其他信息(如表1)主要支持测试管理,测试用例需求被开发、评审、使用、管理和保存。 表1-1 测试用例 测试用例ID 目的 前提 输入 预期输出 后果 执行历史 日期 结果 执行人 有两种基本方法可以用来标识测试用例,即功能性测试和结构性测试。 功能性测试的基本观点是,任何程序都可以看作是将从定义域取值映射到输出值域的函数。这种观点常常在工程中使用,将系统看作是黑盒。采用功能性方法标识测试用例,所使用的唯一信息就是软件的规格说明。功能性测试用例具有两个显著的优点:(1)功能性测试与软件如何实现无关,所以如果实现发生变化,测试用例仍然有用;(2)测试用例开发可以与实现并行进行,因此可缩短总的开发时间。在缺点方面,功能性测试用例也常常带来两个问题:测试用例可能存在严重的冗余,此外可能还会有未测试的软件漏洞。功能性测试的主流方法主要有:边界值分析、健壮性分析、最坏情况分析、特殊值测试、输入等价类、输出等价类和基于决策树的测试。 结构性测试有时也叫白盒测试。结构性测试是知道软件产品内部工作过程,检测软件产品内部动作是否按照规格说明书的规定正常进行。结构性测试需要全面了解程序内部逻辑结构、对所有逻辑路径进行测试。结构性测试是穷举路径测试,并力求提高测试覆盖率。结构性测试的主要方法有:逻辑覆盖测试、基路径测试、数据流测试等方法。 在实际应用中,为全面的测试软件产品,一般将结构性测试和功能性测试结合起来使用。 2.软件缺陷分类 有多种方法可以对缺陷分类:以出现相应错误的开发阶段来划分、以相应失效产生的后果来划分、以解决难度来划分、以不解决难度会产生的风险来划分等等。在日常的软件测试中,通常给出的缺陷是根据缺陷后果的严重程度来进行划分,如下表2所示。

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档