文档库 最新最全的文档下载
当前位置:文档库 › 软件测试之测试需求分析与测试计划及方案

软件测试之测试需求分析与测试计划及方案

软件测试之测试需求分析与测试计划及方案
软件测试之测试需求分析与测试计划及方案

软件测试之测试需求分析与测试计划及方案

在项目启动之后,就要着手软件项目的计划,包括软件测试计划。软件测试计划是整

个开发计划的组成部分,同时,它又依赖于软件组织过程、项目的总体计划、质量文化和

方针。在测试计划活动中,首先要确认测试目标、范围和需求,其中“测试需求分析”是

关键任务,然后在测试需求基础上制定测试策略,并对测试任务、时间、资源、成本和风

险等进行估算或评估。

无论何时进行估算,我们都是在预测未来,并会接受某种程度的不确定性。软件项目

计划的目标是提供一个框架,不断收集信息,对不确定性进行分析,将不确定性的内容慢

慢转化为确定性的内容,该过程最终使得项目测试负责人能够对资源、成本及进度进行越

来越合理、准确的估算。这些估算是软件项目开始时在一个限定的时间框架内做出的,并

且随着项目的进展而不断更新。所以,测试计划强调的是一个过程,计划(Planning)的过程,而不仅仅是为了一个文档——“测试计划书”(Test Plan)。

测试计划活动过程伴随着需求文档的审查,而需求文档的评审反过来也有利于测试计

划的制定。而且,测试计划必须建立在软件需求定义之上,为软件的质量需求验证和确认

活动的开展进行规划和指导。

1.1软件测试的目标和基本需求

在分析测试需求之前,先要确定测试目标,而测试目标的确定,取决于质量要求。虽

然在理论上,对软件质量的要求是比较明确的,但对不同的软件开发项目,其质量要求是

不一样的。根据特定的质量要求,确定测试目标。然后再根据测试目标,来分析测试需求。

1.1.1质量要求

关于什么是软件质量,包括软件产品的质量属性,如功能性、易用性、性能、安全性、兼容性、可用性、可维护性、扩展性等。但是,仅仅根据这些质量属性不够,还要参考业

务领域专业知识、行业标准、地方标准或其他规范等,才能明确特定产品的质量要求。只

有明确质量要求,才能明确测试目标。让我们先讨论特定软件产品的质量要求。

对质量的具体要求,可以参考国际标准ISO/IEC 25030的相关描述,质量不仅局限于最终用户的需求(通常指外部质量要求、软件使用质量),还要考虑产品或项目的干系人(Stakeholders)的质量要求,包括组织的管理层、系统运维等,对软件内部质量也有具体要求,包括软件的可维护性、可扩充性等。从质量来看,用户的需求会显得更重要,我们会在使用质量(Quality in Use)上有更多的关注,使用质量的具体要求见图2-1。

手机也是大家熟悉的产品,不同的用户群对一部智能手机的要求也是不同的,如低档手机和高档手机有着不同的质量要求、老年人和年轻人对手机也有不同的期望,商务人士对手机也有一些特定的需求(如Blackberry的实实在在的全键盘)。低档手机的质量要求如下。

·通话正常、稳定。

·通话质量要有一定保障。

·待机时间长。

·安全,电池不能发生爆炸。

·外观大气美观,不要太重。

·通讯录、短信、闹钟等功能使用方便。

·支持手写输入功能。

但对智能手机,对手感、用户体验、性能、外观质感等有更高的要求。虽然不同的产品类型、不同的应用领域,功能的质量要求是有差异的,但一般来说,通用的功能质量要求如下。

·程序安装、启动正常,有相应的提示框、错误提示等。

·每项功能符合实际要求。

·每一项功能能正常运行、输出结果正确。

·能处理各种不正常的操作,对异常数据的输入可以进行提示、容错处理等。

·系统的界面清晰、美观。

·菜单、按钮操作正常、灵活,能处理一些异常操作。

·能接受正确的数据输入,如测试最大输入的文字数、单双字节、特殊符号等。

·数据的输出结果准确,格式清晰,可以保存和读取。

·功能逻辑清楚,符合使用者习惯。

·系统的各种状态按照业务流程而变化,并保持稳定。

·支持各种应用的环境。

·能配合多种硬件周边设备。

·软件升级后,能继续支持旧版本的数据。

·与外部应用系统的接口有效。

用户界面(User Interface,UI)是和用户进行交互的窗口。仅从这一点,就可以清楚地知道用户界面友好程度的重要性。用户界面是否友好直接影响用户对软件产品或软件服务的满意度,即我们经常提到的用户体验,用户界面设计就是给用户一个良好的体验,不仅使用软件简单、方便和明了,而且心情舒畅、愉悦。对于Web应用,更强调网页内容和文字表述,但这些往往是开发人员容易忽视的地方。对于开发人员来说,注意力常常集中在功能的实现上。文字不仅误导用户的操作或影响用户的体验,而且有时可能会引起法律方面的问题。测试人员应确保内容表达符合习惯,更专业、流畅,有时需要招聘1~2个语言学(文学、中文、英文、日文等)专业的人员参加测试队伍。在UI上,主要的质量要求如下。

·通用框架、浮动窗口和文字等整体上布局合理、位置恰当。

·文字没有乱码、换行正常,而且内容格式、顺序正确。

·文字标记和超链接可以打开和跳转成功。

·色彩搭配要协调,要形成对比强烈的色彩效果,也要恰到好处。

以前面Google Talk作为例子,其产品的质量要求一定会包括功能正确、性能好、易用,但这样的质量要求还不够明确,对设定测试目标帮助不大,还需要进一步分析其质量

要求。对于功能,可以逐条列出其主要功能,然后分析功能在质量上有没有一些特定的要求。例如:

(1)支持语音、视频通话,就要确定语音、视频通话的质量要求,是否支持电信级

业务服务水平即严格的QoS标准(服务质量)?支持高清视频(如720p、1080p等)通话吗?视频通话质量能够根据网络状况可调整吗?语音在延迟、回声、噪音、颤音等上面

有具体的质量要求吗?视频通话对带宽最低限制是多少?

(2)是否支持基于行业标准的会话发起协议(SIP)?

(3)单击姓名打开聊天窗口,可同时打开任意多个聊天窗口。可能就会问,最多能

打开多少个窗口?有没有性能问题?

(4)邮件、通讯录等涉及个人隐私,在安全性上有什么要求?

(5)口令设置有哪些参数约束?这些约束能否保证其较高的安全性?

(6)好友列表有没有限制(容量问题)?

(7)不同颜色的小球图标及不同的符号表示好友的在线状态,多少时间(如几十、

几百毫秒,几秒)刷新一次?

(8)正常连接情况下,添加好友的时间是多少?

对应Google日历,可能就简单些,其质量要求和一般Web应用软件的质量要求基

本一致,主要体现在功能、性能、安全性、易用性等主要方面的同时,可能还会有下列的

质量要求。

(1)功能:计算正确、显示正常、逻辑合理等。

(2)性能:正常时每个页面刷新显示时间不超过3秒,高峰时不超过10秒。

(3)安全性:登录安全,被邀请人只能看到当前事件,不能查看他人的其他事件等。

(4)易用性:日历能在不同显示方式之间方便、快捷切换,显示内容也能根据不同

方式改变、能支持“直接拖拽”操作日历等。

为了进一步理解产品质量要求,可以看看大家熟悉的拼音输入法有什么具体的质量要求。《Windows软件测试探秘》一书第6章就给出很好的实例,如表2-1所示。

1.1.2测试目标

软件测试的目标就是根据质量要求,逐项确定、验证软件的实际表现,提供软件产品

完整的质量信息;同时,为了帮助团队向客户提供一个高质量的软件产品,软件测试的目

标就是更早地、尽可能地将软件产品或软件系统中所存在的各种问题找出来,并促进各类

开发人员尽快地解决问题。衡量测试目标的实现,就是通过测试覆盖率来衡量,通过对测

试结果的分析,来明确产品质量要求、功能点或代码行(分支、条件等)的测试覆盖率。

例如:

·需求项和功能点覆盖率100%;

·代码行覆盖率95%。

但针对具体项目或具体产品的测试目标,不仅根据产品质量要求进一步明确测试目标,还要根据项目背景环境(如进度、预算等)、测试团队能力和现有的技术来确定测试目标。例如,预算和进度限制测试的充分性,包括是否有足够的时间和资源去做兼容性测试、性

能测试、安全性测试和可靠性测试等。即使对某项特定的测试,能够测试到什么深度和广度,都需要因地制宜地考量。因为从理论上讲,希望该有的测试都做了,每项测试都能做

到100%,但实际项目中,进度、资源、能力等都有限制,不可能达到理想的目标,也没

必要。例如单元测试,理想的目标是百分之百覆盖代码行、分支和条件,但在实际项目中,可能将单元测试的目标定为代码行的覆盖率50%、60%或80%。

再举一个例子。国际标准IEC 61508把系统安全完整性分为0、1、2、3.和4等5个级别,而作为《铁路应用—通信、信令和处理系统—控制和保护系统用软件》欧洲标准50128:2011,根据安全完整性,确定这一领域的软件系统的测试目标,即要所完成的测试.

测试的目标要有具体的指标,可以被度量,在测试执行结束之前或之后,能够判断测

试目标是否被达到。对各项质量要求的验证达到什么程度,能够给出数字描述的就尽量给出,从功能、性到安全性、兼容性等逐项给出明确的目标。

1.1.3基本的测试需求

先谈软件产品的功能测试需求。在功能测试中,不仅要完成业务逻辑的验证,还要进

行用户界面和输入空间的验证。例如,在讨论软件测试方法时,经常谈到黑盒方法的等价

类划分、边界值分析、决策表、因果分析等方法,实际上这些只是功能测试的冰山一角,

不仅要对输入空间进行验证,而且还要对用户界面、业务逻辑等进行验证。总之,为了更

全面地验证或评估软件功能的质量,需要在各个层次(单元、接口和系统)和各个方面(代码、文档和系统)进行测试。也就是说,在功能测试中,不光要进行不同层次的测试,还要针对不同空间或领域进行相应的测试。概括起来,功能测试的需求包括下列这些内容。

(1)单元之间调用、函数之间调用的各种参数的数据测试。

(2)系统的不同输入、结果输出的数据测试。

(3)数据库默认值、数据备份和恢复的测试。

(4)系统各个界面的验证。

(5)用户操作的易用性、用户体验的测试。

(6)单元逻辑、算法的测试,如通过代码评审发现算法问题。

(7)系统的业务逻辑验证,如端到端的测试。

(8)文档的验证,包括用户手册、安装文档逐行逐字的验证。

(9)各类关键代码的评审。

(10)功能的错误操作、异常操作的测试。

(11)功能一致性、多功能互操作的测试。

如果系统只是满足了功能要求,没有满足一些非功能特性(性能、安全性等)要求,

还是不能满足客户的需求,不能获得用户的信任。如某个网站功能(注册、信息查询等)

齐全,也可以被访问,但是,每打开一个页面都需要两分钟。结果,用户不能忍受,再也

不会访问这个网站。这种非功能性的需求满足和功能性的需求满足同样重要。

为了验证系统是否符合非功能特性的质量需求而进行的测试是系统非功能性测试。非

功能性测试需求覆盖软件系统的所有质量属性,包括性能、安全性、可靠性、兼容性、易

维护性和可移植性等,它们存在对应的关系.

但每一类测试可能需要单独考虑,性能测试和兼容性测试、安全性测试都不一样,考

虑的着眼点不一样。例如,性能测试的目的之一就是为了验证当前系统实际所具有的性能。如果实际性能达不到系统使用的需求,就需要改进设计,优化算法或程序代码,直至达到

要求。除了以上的目的之外,性能测试还可以进一步分为基准测试和规划测试,具体分析

如下。

·对于新建立的系统,测试人员并不了解某些具体的性能指标,所以性能测试的首要任务就是获取这些指标的标准值,然后基于由这些标准值所设定的基准,进一步制定产品性

能改进计划,也就是性能指标的变更需求计划。

·产品最终要被部署到运行环境中,在部署之前要进行规划,例如,根据用户的数量或数据负载来决定服务器的选型和数量,如果10万个用户需要4台双核CPU、内存4GB的服务器,如果是100万个用户是否需要16台双核CPU、内存8GB的服务器等。这些规

划的数据依赖于性能的规划测试。

·容量测试可以看做是性能测试的一种,或者认为系统的容量是系统的性能指标之一。如某个Web站点可以支持多少个并发用户、网络在线会议系统中与会者的人数。如果实

际容量已满足要求,就能帮助用户建立对产品的信心。如果不能满足要求,就应该寻求新

的解决方案,以提高系统的容量。若一时没有新的解决方案,就有必要在产品发布说明上

明确容量上的限制,避免引起软件产品使用的纠纷。

概念:

(1)负载测试(Load Test),也称压力测试(Stress test)、强度测试。负载测试通过模拟实际应用的软硬件环境及用户使用过程的系统负荷,逐渐加载或一次性加载,长

时间或超大负荷地运行软件,以测试系统的稳定性,并试图找出系统性能的瓶颈和异常的

地方等。通过负载测试,也可以确定系统的正常工作条件、极限条件等,并了解系统可靠

性等,从而提高软件系统的可靠性、稳定性,减少系统的宕机时间。

(2)性能测试(Performance test),通过测试确定系统运行特性的性能指标数据,如数据吞吐量、响应时间、CPU使用率等。性能测试可以分为3类:

·验证测试,针对系统验证事先(如产品规格说明书)已定义的性能指标;

·基准测试,就是在系统标准配置下获得有关的系统指标数据,其测试结果应具有高度的一致性、标准性,可作为将来性能改进的基准线;

·规划测试,是为软件部署而进行的测试,即在多种特定的环境下,获得系统不同性能的指标,从而决定在系统部署时采用什么样的软、硬件配置。

(3)容量测试(Capacity test),预先分析出反映软件系统应用特征的某项指标的

极限值,了解该软件系统的承载能力或提供服务的能力。系统在极限值状态下,主要功能

还能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载(数据量、事件规模等)。容量测试可以看作负载测试和性能测试的组合。

(4)安全性测试(Security test),检验系统权限设置的有效性,防范非法入侵的能力,数据备份和恢复的能力等。例如,测试人员可以假扮非法入侵者,试图采用各种办法

突破系统防线,修改权限或存取权限之外的数据。

(5)容错测试(Recovery test),检查软件在异常条件下是否具有防护性的措施或

者恢复某种灾难性破坏的手段或能力。容错性测试包括两个方面:

·输入异常数据或进行异常操作,以检验系统的保护性。如果系统的容错性好,系统只给出提示或内部消化掉,不会导致系统出错甚至崩溃;

·灾难恢复性测试。通过各种手段,让软件强制性地发生故障,然后验证系统已保存的用户数据是否丢失,系统和数据是否能尽快恢复或在指定时间间隔内恢复。

对于自动恢复,需验证重新初始化、检查点、数据恢复和重新启动等机制的正确性;

对于人工干预的恢复系统,还需估测平均修复时间,确定其是否在可接受的范围内。容错

测试和故障转移(fail-over)、可用性测试等有直接的关系。

1.2项目的测试需求

在掌控了软件项目的背景,了解了产品的质量要求和软件测试的基本需求之后,同时,测试人员也会阅读相关软件需求文档,参与需求评审。在这些基础之上,可以进行测试的

需求分析,即包括下面这些工作:

·明确测试范围,了解哪些功能点要测试、哪些功能点不需要测试;

·知道哪些测试目标优先级高、哪些目标优先级低;

·要完成哪些相应的测试任务才能确保目标的实现。

然后才能估算测试的工作量,安排测试的资源和进度。测试需求分析是测试设计和开

发测试用例的基础,测试需求分析得越细,对测试用例的设计质量的帮助越大,详细的测

试需求还是衡量测试覆盖率的主要依据。只有在做好测试需求的基础上,才能规划项目所

需的资源、时间以及所存在的风险等。

1.2.1测试需求分析的基本方法

无论是功能测试,还是非功能性测试,其测试需求的分析都有以下两个基本的出发点。

(1)从客户角度进行分析:通过业务流程、业务数据、业务操作等分析,明确要验

证的功能、数据、场景等内容,从而确定业务方面的测试需求。

(2)从技术角度分析:通过研究系统架构设计、数据库设计、代码实现等,分析其

技术特点,了解设计和实现要求,包括系统稳定可靠、分层处理、接口集成、数据结构、

性能等方面的测试需求。

如果有完善的需求文档(如产品功能规格说明书),那么功能测试需求可以根据需求

文档,再结合前面分析和自己的业务知识等,比较容易确定功能测试的需求。如果缺乏完

善的需求文档,就需要借助启发式分析方法,从系统业务目标、结构、功能、数据、运行

平台、操作等多方面进行综合分析,了解测试需求,并通过和用户、业务人员、产品经理

或产品设计人员、开发人员等沟通,逐步让测试需求清晰起来。

·业务目标:所有要做的功能特性都不能违背该系统要达到的业务目标,多问问如何更好地达到这些业务目标,如何验证是否实现这些业务目标?

·系统结构:产品是如何构成的?系统有哪些组件、模块?模块之间有什么样的关系?有哪些接口?各个组件又包含了哪些信息?

·系统功能:产品能做哪些事、处理哪些业务?处理某些业务时由哪些功能来支撑、形成怎样的处理过程?处理哪些错误类型?有哪些UI来呈现这些功能?

·系统数据:产品处理哪些数据?最终输出哪些用户想要的结果?哪些数据是正常的?又有哪些异常的数据?输入数据如何被转化、传递的?这中间有哪些过渡性数据?输出数据格式有什么要求?输出数据存储在哪里?

·系统运行的平台:系统运行在什么硬件上?什么操作系统?有什么特殊的环境配置?是否依赖第三方组件?

·系统操作:有哪些操作角色?在什么场景下使用?不同角色、场景有什么不同?有哪些是交集的?

上面这些分析,更多是从测试对象本身来进行分析,还包括用户角色分析、用户行为分析、用户场景分析等。我们还可以通过如下一些其他方面的资料,帮助我们更好地完成测试的需求分析。

·对竞争产品进行对比分析,明确测试的重点。

·质量存在哪些风险,包括安全性漏洞等。

·对过去类似产品或本产品上个版本所发现的缺陷进行分析,总结缺陷出现的规律,看看有没有漏掉的测试需求。

·在易用性、用户体验上有什么特别的需求需要验证?

·管理者或市场部门有没有事先特定的声明?

·有没有相应的行业规范、特许质量标准?

测试需求分析过程,可以从质量要求出发,来展开测试需求分析,如从功能、性能、安全性、兼容性等各个质量要求出发,不断细化其内容,挖掘其对应的测试需求,覆盖质量要求。也可以从开发需求(如产品功能特性点、敏捷开发的用户故事)出发,针对每一

软件测试课后习题

百度文库- 让每个人平等地提升自我 目录 第1章软件测试概述 (1) 第2章软件测试方法与过程 (4) 第3章黑盒测试 (7) 第4章白盒测试方法 (13) 第5章软件测试管理及自动化测试基础 (18) 第6章WINRUNNER测试工具 (20) 第7章LOADRUNNER测试工具 (22) 第8章JUNIT (24)

第1章软件测试概述 1.简述软件测试的意义。 解:随着计算机技术的迅速发展和广泛深入的应用,软件质量问题已成为开发和使用软件人员关注的焦点。而由于软件本身的特性,软件中的错误是不开避免的。不断改进的开发技术和工具只能减少错误的发生,但是却不可能完全避免错误。因此为了保证软件质量,必须对软件进行测试。软件测试是软件开发中必不可少的环节,是最有效的排除和防治软件缺陷的手段,是保证软件质量、提高软件可靠性的最重要手段。 2.什么是软件缺陷?它的表现形式有哪些? 解:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需实现的某种功能的失效或违背。 它的表现形式主要有以下几种:(1)软件未达到产品说明书中已经标明的功能;(2)软件出现了产品说明书中指明不会出现的错误;(3)软件未达到产品说明书中虽未指出但应当达到的目标;(4)软件功能超出了产品说明书中指出的范围;(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。 3.简单分析软件缺陷产生的原因,其中那个阶段引入的缺陷最多,修复成本又 最低? 解:软件缺陷产生的主要原因有:需求规格说明错误;设计错误;程序代码有误;其他。其中在需求分析阶段引入的缺陷最多,修复的成本又最低。 4.当用户登录某网站购物完毕并退出后,忽然想查查购物时付账的总金额,于 是按了浏览器左上角的“退回”按钮,就又回到了退出前的网页,你认为该购物软件有缺陷吗?如果有,属于哪一类? 解:有缺陷。其所属类别与软件产品说明书的要求有关。 5.什么是软件测试?简述其目的与原则。 解:软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期,对软件产品(包括阶段性产品)进行验证和确认的活动过程。 测试目的:(1)证明:获取系统在可接受风险范围内可用的信心;尝试在非正常情况和条件下的功能和特性;保证一个工作产品是完整的并且可用或可被集成。(2)检测:发现缺陷、错误和系统不足;定义系统的能力和局限性;提供组件、工作产品和系统的质量信息。(3)预防:澄清系统的规格和性能;提供预防或减少可能制造错误的信息;在过程中尽早检测错误;确认问题和风险,并

软件测试知识点总结

软件测试知识点总结 第一次课10.7软件测试概述 一软件测试定义:使用人工或者自动的手段来运行或测定它是否满足规定的需求,或弄预期结果与实际结果之间的差别。 二软件测试的分类 1.按照开发阶段划分 a)单元测试:模块测试,检查每个程序单元嫩否正确实现详细设计 说明中的模块功能等。 b)集成测试:组装测试,将所有的程序模块进行有序、递增的测试, 检验程序单元或部件的接口关系 c)系统测试:检查完整的程序系统能否和系统(包括硬件、外设和 网络、系统软件、支持平台等)正确配置、连接,并满足用户需 求。 d)确认测试:证实软件是否满足特定于其用途的需求,是否满足软 件需求说明书的规定。 e)验收测试:按项目任务或合同,供需双方签订的验收依据文档进 行的对整个系统的测试与评审,决定是否接受或拒收系统。 2.按照测试技术划分 白盒测试:通过对程序内部结构的分析、检测来寻找问题。检查是否所有的结构及逻辑都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。--结构测试 黑盒测试:通过软件的外部表现来发现错误,是在程序界面处进行

测试,只是检查是否按照需求规格说明书的规定正常实现。 灰盒测试:介于白盒测试与黑盒测试之间的测试。 3 按照测试实施组织划分:开发方测用户测试第三方测试 4 是否使备测软件运行:静态测试动态测试。 课后作业:1.软件测试与调试的区别? (1)测试是为了发现软件中存在的错误;调试是为证明软件开发的正确性。 (2)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。 (3)测试是有计划的,需要进行测试设计;调试是不受时间约束的。(4)测试经历发现错误、改正错误、重新测试的过程;调试是一个推理过程。 (5)测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的"飞跃"。 (6)测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。 (7)大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。 2.对软件测试的理解? 软件测试就是说要去根据客户的要求完善它.即要把这个软件还

软件测试技术习题参考答案

第1章软件测试概述 1、简述软件缺陷的含义。 答:软件缺陷是软件开发过程中潜在的缺陷,这些缺陷可能在软件运行后出现,因而使软件的性能和可靠性等方面与系统的设计需求不符。 2、说明软件缺陷、软件错误和软件失败的关系。 答:缺陷、缺点、偏差统称为缺陷,是软件故障的根源;错误、谬误、问题、异常、矛盾等统称为错误,软件错误出现的原因是软件缺陷所致;失败、事故、灾难统称失败,失败的直接原因是软件系统存在软件错误。 14、“软件测试是有风险的工作”,试解释这种说法的含义。 答:软件不测试,就会有风险;软件测试,同样也会有风险。因为,软件是个复杂的系统,其复杂性体现在软件实现的内容复杂性、开发过程的复杂性和组织工作的复杂性等方面。而软件测试的目的是为了发现故障,并加以排除。对一个复杂的软件系统来说,故障的排除往往可能又带来新的软件缺陷。所以,软件测试又会带来一定的风险。 第2章软件测试基础 2、条件覆盖是否高于判断覆盖的逻辑覆盖程度如果不是,请给出反例加以说明。 答:条件覆盖是高于判断覆盖的逻辑覆盖程度。 a 、用条件覆盖所设计的测试用例可使得程序中的每一个判断的每一个条件的可能 取值至少执行一次。 b、用判断覆盖所设计的测试用例可使被测程序中的每个判断的真分支和假分支至少经历 一次。 每个判断语句可能包含多个条件(比如,if (A>3&&B<7……)。条件覆盖针对判断语句的每一个条件的所有可能取值编写测试用例;判断覆盖只针对每一个判断语句整体的所有可能取值编写测试用例。所以,条件覆盖的逻辑覆盖程度高于判断覆盖。 4、已知某种计算机程序设计语言的标识符语法规则规定“标示符是由非数字开头的,有效 字符数为32个,最大字符数为128个的任意符号串”。试用等价类划分法设计测试用例。

软件测试经典案例

软件测试-测试用例的经典例子 一、等价类划分 问:某程序规定:"输入三个整数 a、 b、 c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。) 解: 分析题目中给出和隐含的对输入条件的要求: (1)整数 (2)三个数 (3)非零数 (4)正数 (5)两边之和大于第三边 (6)等腰 (7)等边 如果 a、 b 、 c满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一: 1)如果不满足条件(5),则程序输出为 " 非三角形 " 。 2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。 3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。

4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。列出等价类表并编号

覆盖有效等价类的测试用例: a b c覆盖等价类号码 3 4 5(1)--(7) 4 4 5(1)--(7),(8) 4 5 5(1)--(7),(9) 5 4 5(1)--(7),(10) 4 4 4(1)--(7),(11)覆盖无效等价类的测试用例: 二、边界值分析法 NextDate函数的边界值分析测试用例

在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为 1912≤year≤2050 。

三、错误推测法 测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况: I.输入的线性表为空表; II.表中只含有一个元素; III.输入表中所有元素已排好序; IV.输入表已按逆序排好; V.输入表中部分或全部元素相同。 四、因果图法 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零

软件测试需求分析完整版

软件测试需求分析 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

软件系统测试需求分析模版 产品名称: _____ 项目承担部门:_______________________________ 本文档使用部 门: 撰写人:_______________________________ _______________________________ 完成日期: _____ 评审负责人:评审日期:_______________________________ _______________________________ 目录

修订历史记录 1概述 测试需求分析的目的 测试需求分析的目的是明确应测什么,了解测试规模、复杂程度与可能存在的风险,其核心是产品质量符合用户明确的或者隐含的需求程度。 测试需求分析的依据 1)待测软件系统相关的需求文档,如《xxx系统软件需求规格说明》; 2)待测软件系统相关的设计文档,如《XXX系统设计文档》; 3)GB/《软件工程产品质量第1部分:质量模型》; 4)GB/T 《软件工程软件产品质量要求与评价(SQuaRE) 商业现货(COTS) 软件产 品的质量要求和测试细则》; 5)软件系统相关的协议、规范; 6)待测软件系统业务行标。 测试需求分析的方法 1)列出软件开发需求中具有可测试性的开发需求; 2)对1)中的每一条开发需求,形成可测试的分层描述的测试需求;

3)对2)形成的测试需求,从GB/《软件工程产品质量第1部分:质量模型》由定 义的软件内部/外部质量模型来确定软件产品的质量需求; 4)对3)所确定的质量要求,分析测试执行时需要实施的测试类型; 5)建立测试需求跟踪矩阵,对需求进行管理。 1.4定义 [列出测试需求说明书中用到的专业术语的定义和外文首字母词组的原词组、缩写词和符号。] 2软件产品说明 项目背景 [简要介绍产品的项目背景,行业、主要承担业务等。] 项目需求说明 填写相关信息或相关文档,如详见《XXX系统需求说明文档》。 项目整体设计说明 填写相关信息或相关文档,如详见《XXX系统总体设计》。 3测试需求分析 原始需求 原始需求是从用户需求、产品包需求、系统需求、测试经验库、协议规范等需求来源中提取的经过整理的输入集合。本文的原始需求亦即经过整理成文的业务需求,将每一条需求对应的系统、业务需求编号、业务需求说明及相关文档注明。其中系统名称为被测系统名称;需求版本号为业务需求版本号;业务需求的编号和业务需求名称引用需求分析文档编号及名称,描述引用需求分析文档描述。 产品测试需求列表

软件测试概论(TS)考试试题

软件测试概论(TS)考试试题 选择题 1) 以下关于测试和调试的说法中,正确的是(a )。(选择一项) a) 测试工作包括发现错误,以及确定错误的原因和确切位置,排除软件中的 错误 b) 测试就是调试,两者没有什么区别 c) 测试是在开发完成后的测试阶段才开始 d) 调试的目的是定位和纠正错误 2) 以下关于测试的定义中,错误的是(b)。(选择一项) a) 为找出错误而运行程序或系统的过程 b) 一切以评价程序或系统的属性、能力为目的的活动 c) 评价程序或系统的过程 d) 测试是在用户需求和开发技术之间找区别 3) 以下关于测试的目的描述,错误的是(a)。(选择一项) a) 为了说明程序中没有缺陷 b) 在于发现了迄今尚未发现的缺陷 c) 揭示潜伏在软件里的缺陷 d) 为软件产品的质量测量和评价提供依据 4) 通常情况下,软件测试至少要达到下列目标,其中错误的是(d)。(选择一项) a) 确保产品完成了它所承诺或公布的功能 b) 确保产品满足性能和效率的要求 c) 确保产品是健壮的、适应用户环境的 d) 确保产品的质量达到用户的需求 5) 下列软件测试的“行业规则”或者“工作常识”中,描述错误的是(c )。(选 择一项) a) 所有的测试都应追溯到用户需求 b) 应该在测试工作真正开始前的较长时间内就进行测试计划 c) 测试应从“大规模”开始,逐步转向“小规模” d) 为了达到最佳效果,应该由独立的第三方来构造测试 6) 软件工程是开发、运行、维护和修复软件的系统方法。软件工程具有如下的性质, 其中错误的是(a)。(选择一项)

a) 软件工程是一门综合性的交叉学科,它涉及计算机科学、工程科学、管理 科学、数学等领域 b) 软件工程要用工程科学中的观点来进行费用估算、制定进度、制定计划和 方案 c) 软件工程要用数学科学中的方法和原理进行软件生产的管理 d) 软件工程要用数学的方法建立软件开发中的各种模型和各种算法,如可靠 性模型、说明用户需求的形式化模型等 7) 在任何生命周期模型中,一个好的测试都应该具有一些特点,以下描述错误的特 点是(c)。(选择一项) a) 每个开发活动都有相对应的测试活动 b) 每个测试级别都有其特有的测试目标 c) 对于每个测试级别,不需要在相应的开发活动过程中进行相应的测试分析 和设计 d) 在开发生命周期中,测试员在文档初稿阶段就应该参与文档的评审 8) 在开发软件过程中有各种不同的方法。对特定项目而言,没有哪个模式一定是最 好的。以下不属于最常用的模式是(a)。(选择一项) a) 大爆炸模式 b) 边写边做模式 c) 瀑布模式 d) 螺旋模式 9) 下面描述敏捷软件开发的目中错误的是(c)。(选择一项) a) 通过过程和工具理解个人和交流的作用 b) 通过开发的文档理解运行的软件 c) 通过合同和谈判得到客户的协作 d) 在计划的执行中做出对变更的响应 10) 概括地说,软件测试过程模型中H模型不能揭示的是(d)。(选择一项) a) 软件测试不仅仅指测试的执行,还包括很多其他的活动 b) 软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地 进行 c) 软件测试要尽早准备,尽早执行 d) 软件测试是根据被测物的不同而同时进行的 11) 在Bugzilla中,如果一个缺陷的处理状态被开发人员置为Wontfix,则表明()。 (选择一项) a) 这个bug中描述的不是问题

软件测试案例分析

软件测试案例分析 Document number【980KGB-6898YT-769T8CB-246UT-18GG08】

对软件测试理解 软件测试作为软件质量保证的一种重要方法,近些年来, 软件测试越来越受到产业界、教育界和学术界的重视。软件测试,描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 1软件测试的方法 黑盒测试 在黑盒测试(或称功能测试)中,不考虑程序的内部结构和表现,其目的是确定程序的输入与输出是否与其规格一致,力图发现以下几类错误:是否有不正确或遗漏了的功能在接口上,输入能否正确地接受能否正确地输出结果 是否有数据结构错误或外部信息(例如数据文件)访问错误性能上是否能满足要求 是否有初始化或终止性错误 黑盒测试的主要缺点是依赖于规格的正确性(实际情况并非如此)和需要采用所有可能的输入作为测试用例才能保证模块的正确性。 白盒测试 在该方法对软件的过程性细节做细致检查,对程序所有逻辑进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。测试用例从程序的逻辑中产生。确定程序逻辑覆盖有几条原则,其中之一是语句覆盖,要求程序中的每条语句至少执行一次。这条原则是必要的,但不充分,因为部分错误并不能检测出来。

从上至下测试 从上至下测试从程序的顶点模块开始,然后逐步对较低级的模块进行测试。为了模仿被测试模块的低级模块,需要哑模块或桩子模块。从上至下测试的主要好处就是排除了系统测试和集成,它可以让人们看见系统的早期版本并证明系统的正确性。它的效果之一可以提高程序员的士气。从上至下测试的主要缺点是需要桩子模块,并且在桩子模块中的测试数据直到输入输出模块加入之前不能确定。某些模块的测试数据难以创建,因为桩子模块不能模拟数据流使得模块之间的数据流不能组织成有向无环图。 从下至上测试 从下至上测试策略从程序的最低级模块(不调用别的模块)开始。为了模拟高一级的模块需要驱动模块。当对所有的低一级模块测试完毕才对高一级模块进行测试。从下至上测试方法的优点之一是测试数据的建立不存在困难。尽管数据流不在有向无环图中,但驱动模块模拟所有的调用参数,如果关键模块位于调用模块的底部,则从上至下测试方法更优。从下至上测试的主要缺点是系统的早期版本直到最后模块测试完毕才产生,并且设计和测试一个系统不能重叠进行,因为不可在低级模块设计之前进行测试。 测试用例一般描述

软件测试需求分析报告

软件系统测试需求分析模版 产品名称:_____ 项目承担部门:_______________________________ 本文档使用部门:撰写人:_______________________________ _______________________________ 完成日期:_____ 评审负责人: 评审日期:_______________________________ _______________________________

目录 目录 (2) 修订历史记录 (3) 日期 (3) 版本 (3) 说明 (3) 作者 (3) 1概述 (4) 1.1测试需求分析的目的 (4) 1.2测试需求分析的依据 (4) 1.3测试需求分析的方法 (4) 1.4 定义 (5) 2 软件产品说明 (5) 2.1项目背景 (5) 2.2项目需求说明 (5) 2.3项目整体设计说明 (5) 3测试需求分析 (5) 3.1原始需求 (5) 3.2产品测试需求列表 (6) 3.3测试类型确定 (11) 3.4测试环境要求 (12) 4测试规格评估 (12) 4.1 测试类型评估 (12) 4.2测试用例密度 (13) 4.3 需求覆盖率 (13)

修订历史记录

1概述 1.1测试需求分析的目的 测试需求分析的目的是明确应测什么,了解测试规模、复杂程度与可能存在的风险,其核心是产品质量符合用户明确的或者隐含的需求程度。 1.2测试需求分析的依据 1)待测软件系统相关的需求文档,如《xxx系统软件需求规格说明》; 2)待测软件系统相关的设计文档,如《XXX系统设计文档》; 3)GB/T16260.1-2006《软件工程产品质量第1部分:质量模型》; 4)GB/T 25000.51-2010《软件工程软件产品质量要求与评价(SQuaRE) 商业 现货(COTS) 软件产品的质量要求和测试细则》; 5)软件系统相关的协议、规范; 6)待测软件系统业务行标。 1.3测试需求分析的方法 1)列出软件开发需求中具有可测试性的开发需求; 2)对1)中的每一条开发需求,形成可测试的分层描述的测试需求; 3)对2)形成的测试需求,从GB/T16260.1-2006《软件工程产品质量第1部 分:质量模型》由定义的软件内部/外部质量模型来确定软件产品的质量需求; 4)对3)所确定的质量要求,分析测试执行时需要实施的测试类型; 5)建立测试需求跟踪矩阵,对需求进行管理。

软件测试用例实例(非常详细)汇总

软件测试用例实例(非常详细)汇总

1、兼容性测试 在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。 测试 目的 配置说明操作系 统 系统 软件 外设应用软件结果 服务器Windo w2000( S) Windo wXp Windo w2000( P) Windo w2003 用例编号TestCase_LinkWorks_W orkEvaluate 项目名称LinkWorks

1.1.

1.2. 疲劳强度测试用例 强度测试也是性能测试是的一种,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。测试目的 测试说明 前提条件连续运行8小时,设置添加 10用户并发 测试需求输入/ 动作 输出/响应是否正常运行 功能1 2小时 4小时 6小时 8小时功能1 2小时 4小时 6小时

8小时 一、功能测试用例 此功能测试用例对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。主要测试技术方法为用户通过GUI (图形用户界面)与应用程序交互,对交互的输出或接受进行分析,以此来核实需求功能与实现功能是否一致。 用例标识LinkWorks_ WorkEvaluate _02 项目 名称 https://www.wendangku.net/doc/c36982284.html, 开发人员模块 名称 WorkEvaluate 用例参考工作考核系统界面设计

(完整版)软件测试计划范例

测试计划

目录 1.概述............................................................................................................................................ (1) 1.1产品简介1 1.2范围1 1.3限制条件1 1.4参考文档1 2.约定2 2.1测试目标2 2.2接收规范2 2.3资源和工具2 2.3.1资源2 2.3.2工具2 2.4送测要求2 2.5编号规则2 3.测试种类及测试规范3 3.1测试种类3 3.2测试方法及规范3 3.2.1功能测试3 3.2.2业务测试3 3.2.3压力测试3 3.2.4安装测试3 3.2.5验收测试3 4.测试重点及顺序4 4.1预测风险4 4.2测试重点4 4.2.1功能测试4 4.2.2业务测试4 5.暂停规范和再启动要求5 6.测试任务和进度6 7.测试提交物7

1.概述 1.1产品简介 本次开发是在销售助手一期的基础上进行的后续开发,包括新增客服功能模块、解决一期遗留的售前部分问题、完成必要的库房经管功能。二期结束后产品就成为一个比较完整的销售经管软件。 1.2范围 本测试计划是针对<销售助手二期概要设计说明书>中规定内容的测试计划,包括:?改进后的报价书 ?改进后的客户关怀 ?销售机会中新增加的客户反馈 ?销售机会中新增加的客户组织分析 ?销售机会中改进的竞争经管(待定) ?销售机会中改进的联系人 ?改进后的产品和价格配制器 ?新增的销售知识库 ?新增的联系活动经管 ?新增的客户请求模块 ?新增的客服活动模块 ?新增的客服合同模块 ?新增的客服计划模块 ?新增的客服知识库模块 ?新增的完成关联任务模块 ?公共部分新加或改进的日历浏览数据 ?公共部分新加或改进的报表功能 ?公共部分新加或改进的个人事务中心 1.3限制条件 本测试计划受限于产品开发人员提交测试的内容和时间的事实。根据开发人员提交模块的实际情况,本计划会做出相应修改。 1.4参考文档

软件测试的概述及方法

软件测试的概述及方法 摘要 从软件产业的发展初期到目前的大型软件开发过程,软件测试已成为其中一个不可分割的部分。随着软件规模的日益增大,软件测试问题也日益突出,现代社会对软件的依赖越来越强,高可信软件测试有着广泛的需求,基于缺陷模式的软件测试技术作为高可信软件的重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。本文从测试的基本概念入手,深入剖析软件测试相关理论。 关键字:软件测试、白盒测试、黑盒测试、类测试

目录 1 软件测试的发展史 (3) 2 软件测试的相关背景 (4) 3 软件测试的概述 (8) 3.1 软件测试的定义 (8) 3.2 软件测试的描述 (8) 3.3 软件测试的目的 (9) 3.4 软件测试的原则 (10) 4 软件测试的内容 (11) 4.1 验证 (11) 4.2 确认 (11) 5 软件测试的分类 (12) 5.1 常用分类 (12) 5.2 黑盒测试 (12) 5.3 白盒测试 (12) 5.4 静态测试 (15) 5.5 动态测试 (15) 6 软件测试中的类测试 (16) 6.1 测试中的关键 (16) 6.2 类测试技术 (16)

1 软件测试的发展史 软件测试方法之所以没能完全标准化和统一化,主要原因是因为软件产业产品到软件测试有各式各样的软件。但是目前仍有很多各样软件测试方法都基本可用的常用概念和方法。我们这里介绍的思路和方法就是可用于多数应用软件的测试。有六个有关软件测试方法的基本概念是很重要的:白箱测试,黑箱测试,灰箱测试,有效用例和无效用例,边界条件以及等价类测试。 20世纪60年代(软件工程建立前),为表明程序正确而进行测试。. 1972 年在北卡罗来纳大学举行了首届软件测试正式会议。. 1975年John Good Enough 和Susan Gerhart 在IEEE上发表了《测试数据选择的原理》的文章,软件测试被确定为一种研究方向。1979年,Glenford Myers 的《软件测试艺术》,对测试做了定义:测试是为发现错误而执行的一个程序或者系统的过程。20世纪80年代早期,“质量”的号角开始吹响。 软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。制定了各类标准。. 1983年,Bill Hetzel 在《软件测试完全指南》中指出:测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。20 世纪90 年代,测试工具盛行起来。. 1996年提出的测试能力成熟度TCMM (Testing Capability Maturity Model )、测试支持度TSM(Testability Support Model )、测试成熟度TMM (Testing Maturity Model )。. 到了2002年,Rick和Stefan 在《系统的软件测试》一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命过程。

软件测试案例库

软件测试技术 案例库

案例一:错误报告与管理 一、案例目的 1.熟悉错误报告的编写内容 2.熟悉错误管理的工作流程 3.了解测试管理的内容 二、案例内容: 1.测试酒店管理系统,编写有一定质量的错误报告 2.使用TestDirector测试管理软件,熟悉需求管理、测试计划、执行测试、错误管理 三、案例步骤: ?任务一:提交软件测试中发现的错误 1、安装酒店管理系统,测试该系统,针对所发现的错误,记录并提交错误以便开发人员 修改。 ?任务二:寻找软件测试中错误的触发条件,并编写有一定质量的错误报告。 1、1、测试酒店管理系统,根据任务一中提交错误报告存在的问题,重新编写错误报告, 错误报告的内容必须包括如下: 3、测试中需要考虑错误重现 4、错误报告通过TestDirector软件进行管理 ?TestDirector使用: ●●使用前设置 1、断开网络连接。在屏幕底部的工具栏上选择“本地连接”图标,右键点击,选择“禁 用”。 2、把计算机名改为“JF82-55”。控制面板—〉系统—〉网络标识—〉属性,修改计算机 名,重启机器。 3、启动TestDirector的相应服务。在控制面板中选择管理工具—〉组件服务—〉“本地 计算机上的服务”—〉选中“Advanced TestDirector Startstop Servic4e”—〉点右键选“启动”。 4、启动TestDirector。在屏幕底部的工具栏上出现粉红色图标TestDirector,右键选中并 点击,在弹出菜单中选择“Start TestDirector”。 5、从开始菜单中选择程序—〉TestDirector7、6,出现屏幕如图3-1。

软件测试标准和测试用例汇总

软件测试标准 前言 前一版的《软件测试标准》,在测试工作中发挥了很好的指导作用。本次修改在原标准基础上,提出了新的测试理念、工作方法、组织方式,使之更贴近实际工作,真正起到纲领的作用。 一、软件测试 1、软件测试的目的 软件测试是指为了度量和提高被测试对象的质量、对测试对象进行工程设计、使用和维护的与软件开发过程并发的生命周期过程。软件测试的目的为:验证软件产品的实现状态以及实现质量。 2、软件测试相关概念 2.1白盒测试 指基于程序结构的测试,测试目标是检查程序内部逻辑结构和逻辑路径,是代码级的测试。 2.2黑盒测试 基于程序功能的测试,根据输入输出的关系推断程序功能的正确性。 2.3测试用例 测试方案,包括数据输入和相应的期望输出。依据测试用例来执行具体操作。 2.4预防性测试 其原理为:只要测试在生命周期中进行得足够早,就能够提高待测软件的质量。 2.5测试风险分析 其目的为:确定测试对象、测试的优先级、测试的深度。 2.6软件测试模型 公司目前采用V模型,实现测试与软件开发的同步进行。 2.7等价类划分 将测试对象按某种约定划分为有限个组成部分,提高测试的有效性。 2.8边界值分析 分析测试对象的所有边界值及边界附近的临界值。 二、测试工作流程 三、开发—测试流程

程序员 测试员BUG管理 关闭BUG 得到BUG 修改BUG 版本更新新的开发任务 得到新版本 提交新BUG 验证BUG 执行新的测试任务BUG审核 定期检查、审核BUG 定期编译 说明: 1、新版本提供时间,由程序员与测试员按实际情况协调; 2、BUG 审核的范围包括对BUG 的抽查;对标注为不修改或待讨论BUG 的管理; 3、软件涉及到功能性修改时,应该先提供修改设计说明,讨论通过后方可进行修改。 四、测试角色与职责 角色 职责范围 管理 负责测试全过程组织管理 分析 负责进行测试分析、编写测试用例 执行 执行测试任务 文档管理 负责对测试文档、开发文档管理 五、BUG 主要参数 1、当前状态 记录BUG 的状态,包括已修改、未修改、已验证。 2、严重程度 BUG 严重程度分为四个级别 级别一:死机,数据丢失,主要功能完全丧失,系统悬挂 级别二:主要功能丧失,导致严重的问题,或致命的错误声明

软件测试流程规划

软件测试流程规划 一、引言 本文档规范了软件测试过程中的整体流程,明确了软件测试从开始到结束的各个阶段,以及在各阶段中的负责人、具体工作内容和必需的输入输出文档。另外,本文还介绍了各测试阶段需要的测试工具、测试点和测试步骤,并提供了各类测试文档的参考模板。 二、测试流程概述 1、流程介绍 一般来讲,软件测试是伴随着项目的立项而开始的。也就是说,软件项目一旦确立,测试工作也就开始了。在测试的过程中,前后要经过以下主要环节: 需求分析—>制定测试计划—>搭建测试环境—>测试用例设计—>测试执行—>BUG回归测试—>测试总结—>软件发布 对于以上流程环节,一般而言,需求分析属于需求分析人员的工作范畴,环境搭建、用例设计、测试执行以及回归测试等属于测试人员的工作范畴,测试负责人负责制定测试计划以及对各个环节的跟踪、实施、管理等。 2、流程图 功能测试 项目开始 需求阶段 测试计划 测试阶段 性能测试 用户界面测试 兼容性测试 安全性测试 接口测试 测试总结 软件发布

在这个阶段,主要是对于需求的收集、分析以及评估。 1.由需求分析人员统一收集需求,并整理成文档格式转发给项目经理、开发经理和测试经理; 2.项目经理召集开发经理、测试经理和需求分析人员进行会议讨论,了解具体每个需求的实际含义,并且明确各需求的有效性和可用性; 3.小组会议讨论,确定最终实现的需求和功能点,并整理出重点需求; 4.项目经理根据会议讨论结果编写需求说明,并且再次召集小组开会讨论,对需求说明进行修复、完善,并最终确定《需求规格说明书》。 负责人:项目经理 输入文档:需求说明文档 输出文档:《需求规格说明书》 四、测试计划阶段 作为测试的起始步骤和重要环节,测试计划是对测试全过程的组织、资源、原则等进行规定和约束,并制定测试全过程各个阶段的任务以及时间进度安排,并提出对各项任务的评估、风险分析和管理需求。用一句话概括就是:测试计划是从管理角度对整个测试活动进行规划和控制。 测试计划的主要内容可分以下几个方面: 1.测试概述(介绍项目测试的范围、目的以及组织形式) 2.测试进度(测试时间周期的安排) 3.测试策略(包括测试环境、测试工具及测试方法) 4.需求跟踪(确定系统测试项与需求之间的对应关系) 5.测试通过失败标准(指明测试何时通过何时结束) 6.测试挂起恢复标准(指明当测试过程无法进行下去时测试活动挂起以及恢复的标准) 7.资源分配(工作量的统计以及工作任务的安排) 8.应交付测试工作产品(明确测试需要提交的各类工作文档) 9.风险评估(预估测试存在的风险) 测试经理根据项目的总体进度、发布时间以及需求规格说明、开发计划制定相应的测试计划,完成后提交给项目经理。项目经理组织讨论会,连同开发经理、测试经理以及各模块负责人,对测试计划进行评审并确定。 负责人:测试经理 输入文档:《需求规格说明书》、《软件开发计划》 输出文档:《软件测试计划》

软件测试-课程教学大纲

4. 测试报告。要求给出对教学管理平台进行测试后的测试报告及测试总结。 5. 缺陷报告。提交测试出来的缺陷记录。 三、各单元教学内容及基本要求 第1单元软件测试概述 1.教学内容 软件测试发展 软件可靠性问题 软件缺陷概述 软件测试定义及原则 软件测试与软件开发 2.教学要求 正确理解软件测试发展以及软件测试的分类;正确理解软件测试的意义;熟悉软件工程与开发过程与软件测试的关系以及软件测试过程模型、软件测试原则、软件测试关键问题;了解软件测试与软件开发、质量保证的关系。 3.教学重点与难点 重点 软件缺陷识别。 难点 软件测试原则。 第2单元软件测试策略 1.教学内容 软件测试策略 软件测试分类 静态测试与动态测试 软件测试过程模型 测试用例的定义和特征 2.教学要求 掌握软件测试静态策略、动态策略及软件测试的分类,理解软件测试过程模型,理解不同的测试过程模型适应于不同的软件开发模型。 3.教学重点与难点 重点 (1)软件测试静态策略、软件测试动态策略。 (2)软件测试过程模型。

难点 软件测试静态策略。 第3单元黑盒测试方法 1.教学内容 等价类划分法设计测试用例 边界值法设计测试用例 决策表法设计测试用例 因果图法设计测试用例 场景法 2.教学要求 掌握黑盒测试方法,运用等价类划分、边界值分析以及因果图法、决策表法、场景转换法等设计测试用例。 3.教学重点与难点 重点 等价类划分法、因果图法、边界值法、决策表法设计测试用例。 难点 等价类划分法、因果图法设计测试用例。 第4单元白盒测试用例设计方法 1.教学内容 逻辑覆盖法 基本路径法 循环测试 静态分析法 2.教学要求 掌握白盒测试方法,运用逻辑覆盖测试方法和基本路经测试方法设计测试用例,运用循环测试及静态分析法进行白盒测试。 3.教学重点与难点 重点 逻辑覆盖法、基本路径法设计测试用例。 难点 基本路径集的确定。 第5单元单元测试 1.教学内容

需求分析与测试的重要性

需求分析与测试的重要性 读《软件工程案例教程》有感 对于学习软件工程这门课程,我认为有许多东西要学习。其实在我看来学习这门课程的精髓是学习一种方法。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。读完软件工程案例教程这本书,我觉得自己受益匪浅。 整本书的内容逻辑很清晰明了,由浅入深循序渐进,首先我就大概描述下我们所学的内容,第一章是从整体分析软件工程这门学科的发展和所处的社会环境,接着后面的几章深入分析了软件开放过程和模式、软件项目管理、计算机工程、需求分析、结构化分析建模以及基于UML面向对象分析建模和测试等。对于这本书我主要对需求分析和测试比较感兴趣,在这我要着重的谈一些自己的心得体会以及自己的看法。 一.需求分析 1.1需求分析的重要性 一款成功的软件是建立在成功的需求分析之上的,而高质量的需求来源于用户与开发人员之间有效的沟通与合作。当用户有一个问题可以用计算机系统来解决,而开发人员开始帮助用户解决这个问题,沟通就开始了。由此我们可以看出需求分析的重要性。 需求获取可能是最困难、最关键、最易出错及最需要沟通交流的活动。对需求的获取往往有错误的认识:用户知道需求是什么,我们所要做的就是和他们交谈从他们那里得到需求,只要问用户系统的目标特征,什么是要完成的,什么样的系统能适合商业需要就可以了,但是实际上需求获取并不是想象的这样简单,这条沟通之路布满了荆棘。首先需求获取要定义问题范围,系统的边界往往是很难明确的,用户不了解技术实现的细节,这样造成了系统目标的混淆。 其次是对问题的理解,用户对计算机系统的能力和限制缺乏了解,任何一个系统都会有很多的用户或者不同类型的用户,每个用户只知道自己需要的系统,而不知道系统的整体情况,他们不知道系统作为一个整体怎么样工作效率更好,也不太清楚那些工作可以交给软件完成,他们不清楚需求是什么,或者说如何以一种精确的方式来描述需求,他们需要开发人员的协助和指导,但是用户与开发人员之间的交流很容易出现障碍,忽略了那些被认为是"很明显"的信息。最后是需求的确认,因为需求的不稳定性往往随着时间的推移产生变动,使之难以确认。为了克服以上的问题,必须有组织的执行需求的获取活动。 1.2需求分析的原则 (1)需求分析必须能够表达和理解问题的数据域和功能域。数据域包括数据流、数据内容和数据结构,而功能域反映上述3方面的控制信息。 (2)需求分析要把一个复杂问题按功能进行分解并逐层细化。通常,软件系统要处理的问题如果太大、太复杂就很难理解,若划分成几部分,并确定各部分间的接口,就可完成整体的功能。在需求分析过程中,软件系统的用户需求中的数据、功能和行为都应细化。 (3)需求建模。模型可以帮助系统分析人员更好地理解软件系统的数据、功能和行为,这些模型是软件工程中下一阶段进行系统设计的基础。 1.3需求分析的注意事项

软件测试面试题及答案

软件开发——软件测试 1、测试的关键问题是() A.如何组织对软件的评审 B.如何验证程序的正确性 C.如何采用综合策略 D.如何选择测试用例 2、下面不属于软件测试步骤的是 A.集成测试 B.回归测试 C.确认测试 D.单元测试 3、自底向上集成需要测试员编写驱动程序。请判断这句话的正确与否。 A.T B.F 4、测试人员要坚持原则,缺陷未修复完坚决不予通过。请判断这句话的正确与否。 A.T B.F 5、软件测试类型按开发阶段划分是? A.需求测试、单元测试、集成测试、验证测试 B.单元测试、集成测试、确认测试、系统测试、验收测试 C.单元测试、集成测试、验证测试、确认测试、验收测试 D.调试、单元测试、集成测试、用户测试 6、如果我们可以通过覆盖率检测来判断我们是否对所有的路径都进行了测试,但是仍然可能存在未被检测出来的缺陷,原因是() A.全部选项 B.程序可能因为缺某些路径而存在问题 C.穷举路径的测试可能不好暴露数据敏感的错误 D.就算穷举路径测试也不能保证程序符合需求 7、下面哪些属于网游的测试内容? A.客户端性能 B.服务器端性能 C.从运行完 game.exe 打开游戏界面后可进行的各种操作、玩法D.界面 8、下述有关负载测试,容量测试和强度测试的描述正确的有? A.负载测试:在一定的工作负荷下,系统的负荷及响应时间。B.强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。 C.容量测试:容量测试目的是通过测试预先分析出反映软件系统应用

特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。 D.容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。 9、集成测试的过程包括有以下哪些? A.构建的确认过程 B.系统集成测试测试组提交过程 C.测试用例设计过程 D.Bug的报告过程 10、下面关于软件测试,描述正确的是? A.软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。 B.软件测试的测试目标是发现一些可以通过测试避免的开发风险。C.软件测试的原则之一是测试应该尽早进行,最好在需求阶段就开始介入 D.软件测试主要工作内容是验证(verification)和确认(validation)11、验收测试是由最终用户来实施的。请判断这句话的正确与否。A.T B.F 12、下面属于黑盒测试方法的是 A.语句覆盖 B.逻辑覆盖 C.边界值分析 D.路径覆盖 13、项目立项前测试人员不需要提交任何工件。请判断这句话的正确与否。 A.T B.F 14、下面属于白盒测试方法的是 A.等价划分方法 B.逻辑覆盖 C.边界值分析 D.错误推测法15、负载测试是验证要检验的系统的能力最高能达到什么程度。请判断这句话的正确与否。 A.T B.F 16、既可以用于黑盒测试,也可以用于白盒测试的方法的是()A.逻辑覆盖法 B.边界值法 C.基本路径法 D.正交试验设计法17、判断对错。系统测试计划属于项目阶段性关键文档,因此需要同行评审。 A.T B.F

软件测试工程师的职责概述

软件测试工程师的职责概述 软件测试工程师需要主要负责公司承接项目的测试和质量保证工作。下面是小编为您精心整理的软件测试工程师的职责概述。 软件测试工程师的职责概述1 职责: 1、主要负责路由器产品的系统测试和自动化测试工作; 2、参与集成测试、场景执行测试,对设备的特性从功能及性能进行验证; 3、针对模块测试用例和方案能够进行修改完善,工作定期总结经验文档; 4、参与软件开发的设计评审,完成专利等知识库建设; 5、参与路由产品的用例细化和自动化脚本编写,以及项目中自动化执行和日志分析、脚本维护工作,自动化长期发展规划; 任职资格:

1、计算机、通信、电子、网络工程等相关专业本科及以上学历; 2、2年以上路由器或交换机相关测试工作经验或自动化工作相关经验; 3、熟悉TCP/IP协议,熟悉使用路由器、以太网交换机等数通类产品; 4、熟悉产品开发及测试流程,熟悉测试理论和方法,了解自动化测试技术; 5、较好的沟通能力和独立工作能力,思路清晰,逻辑性好,严谨耐心,责任心强,具备良好的团队合作精神; 软件测试工程师的职责概述2 职责: 1)参与日常需求分析,编写测试计划、测试用例及测试执行,对测试结果进行验证; 2)根据项目需要参与项目全程跟踪项目测试,及时反馈相关工作进度; 3)进行测试记录和相应文档编写(测试报告,测试结果分析); 4)完成上级及部门其他领导交办的临时任务。

岗位要求: 1. 计算机相关专业,本科及以上学历,三年以上软件相关工作经验; 2. 熟悉软件工程、软件测试理论、方法和过程,掌握app、web测试方法和技能; 3. 熟练掌握SQL语句及Linux基本命令; 4. 能够根据软件相关文档独立设计与执行测试用例、分析测试结果、总结测试工作等; 5. 工作责任心强,细致,耐心;抗压能力强,能够接受高强度工作; 6. 具有较好的沟通、分析能力,良好的团队合作精神。 软件测试工程师的职责概述3 职责: 1.配合项目计划,负责公司软件产品以及系统整体的测试工作。 2.参与各类产品的需求评审工作,制定和编写测试方案与计划。

相关文档
相关文档 最新文档