《软件测试方法和技术》由会员分享,可在线阅读,更多相关《软件测试方法和技术(66页珍藏版)》请在金锄头文库上搜索。
1、软件学院软件学院软软件件件件测试测试方法和技方法和技方法和技方法和技术术1 系统集成的模式2 功能测试3 系统测试,回归测试4 性能测试5 压力测试6 安全性、可靠性和容错性测试7 验收测试软件学院软件学院1 1 1 1 系系系系统统集成的模式集成的模式集成的模式集成的模式软件集成测试前的准备软件集成测试前的准备 人员安排人员安排测试计划测试计划测试内容测试内容测试方法测试方法软件学院软件学院集成测试的模式集成测试的模式集成测试的模式集成测试的模式渐增式测试模式与非渐增式测试模式渐增式测试模式与非渐增式测试模式非渐增式测试模式非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起
2、结合成所要的程序,如大棒模式。渐增式测试模式渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。软件学院软件学院2 2 功能测试功能测试功能测试功能测试 目的和内容目的和内容 p 程序安装、启动正常,有相应的提示框、错误提示等p 每项功能符合实际要求p 系统的界面清晰、美观p 菜单、按钮操作正常、灵活,能处理一些异常操作p 能接受正确的数据输入,对异常数据的输入有提示、容错处理等p 数据的输出结果准确,格式清晰,可以保存和读取p 功能逻辑清楚,符合使用者习惯p 系统的各种状态按照业务流程而变化,并保持稳定p 支持各种应用的环境
3、p 能配合多种硬件周边设备p 软件升级后,能继续支持旧版本的数据p 与外部应用系统的接口有效 软件学院软件学院功能测试的方法功能测试的方法功能测试的方法功能测试的方法 v等价等价类类划分法划分法v边边界界值值分析法分析法v错误错误推推测测法法v因果因果图图法法v组组合分析法合分析法我要测试所我要测试所有的功能有的功能软件学院软件学院等价等价等价等价类类划分法划分法划分法划分法划分好等价类测试:防止遗漏测试案例。划分好等价类测试:防止遗漏测试案例。软件学院软件学院边边界界界界值值分析法分析法分析法分析法例子:排序程序,边界条件有:p 序列为空;p 序列仅有一个数据;p 序列为满,用猜错法补充一下
4、测试用例;p 序列已经按要求排好序;p 序列的顺序与要求的顺序恰好相反;p 序列中的所有数据全部相等。 因为错误最容易发生在边界值附近,所以边界值分析法对于多变量函数的测试很有效,尤其是对于像c/c 数据类型要求不是很严格的语言有利 。软件学院软件学院错误错误推推推推测测法法法法这个错误到底在哪?这个错误到底在哪?软件学院软件学院因果因果因果因果图图法法法法软件学院软件学院组组合分析法合分析法合分析法合分析法 组合分析是一种基于每对参数组合的测试技术,主要考虑参数之间的影响是主要的错误来源和大多数的错误起源于简单的参数组合。在产品汉化过程在产品汉化过程中哪个组合出错中哪个组合出错了?了?软件学
5、院软件学院3 3 系统测试系统测试系统测试系统测试p压力力测试 (stress test) p容量容量测试 (capacity test) p性能性能测试 (performance test) p安全安全测试 (security test) p容容错测试 (recovery test) 软件学院软件学院回归测试的目的回归测试的目的p 所做的修改达到了预定的目的,如错误得到了改正,新功能得到了实现,能够适应新的运行环境等;p 不影响软件原有功能的正确性。回归测试的方法回归测试的方法p 再测试全部用例 p 基于风险选择测试 p 基于操作剖面选择测试 p 再测试修改的部分 回归测试回归测试回归测试回
6、归测试 软件学院软件学院回归测试回归测试回归测试回归测试 软件学院软件学院4 4 性能性能性能性能测试测试 性能测试通常会使用特定的测试工具,来模拟超常的数据量、负载等,性能测试通常会使用特定的测试工具,来模拟超常的数据量、负载等,监测系统的各项性能指标,如监测系统的各项性能指标,如cpucpu和内存的使用情况、响应时间、反应和内存的使用情况、响应时间、反应速度等。速度等。 一定要设法破坏一定要设法破坏它它!软件学院软件学院性能性能性能性能测试测试概念和目的概念和目的概念和目的概念和目的性能性能测试的目的:的目的: 为了验证系统是否达到用户提出的性能指标,同为了验证系统是否达到用户提出的性能指
7、标,同时发现系统中存在的性能瓶颈,起到优化系统的时发现系统中存在的性能瓶颈,起到优化系统的目的目的。性能性能测试指指标的来源:的来源:用户对各项指标提出的明确需求;如果用户没有用户对各项指标提出的明确需求;如果用户没有提出性能指标则根据用户需求、测试设计人员的提出性能指标则根据用户需求、测试设计人员的经验来设计各项测试指标。(需求经验来设计各项测试指标。(需求 经验)经验)主要的性能指主要的性能指标:服务器的各项指标(服务器的各项指标(cpucpu、内存占用率等)、后、内存占用率等)、后台数据库的各项指标、网络流量、响应时间台数据库的各项指标、网络流量、响应时间软件学院软件学院性能性能性能
8、性能测试测试要点要点要点要点p测试环境应尽量与产品运行环境保持一致,应单独运行尽量避免与其他软件同时使用。p性能测试一般使用测试工具和测试人员编制测试脚本来完成。p性能测试的重点在于前期数据的设计与后期数据的分析。p性能测试的用例主要涉及到整个系统架构的问题,所以测试用例一旦生成,改动一般不大,所以做性能测试的重复使用率一般比较高。软件学院软件学院性能性能性能性能测试测试的方法和技巧的方法和技巧的方法和技巧的方法和技巧两种两种负载类型型“flat”测试ramp-up测试对于企于企业级的系的系统,性能,性能测试的方法主要有:的方法主要有:性能规划测试渗入测试峰谷测试软件学院软件学院两种两种两种两
9、种负载类负载类型型型型“flatflat”测试: : 对于一次于一次给定的定的测试,应该取响取响应时间和吞吐量的平均和吞吐量的平均值。精确地。精确地获得得这些些值的唯的唯一方法是一方法是一次一次加加载所有的用所有的用户,然后在,然后在预定的定的时间段内持段内持续运行。运行。虚拟用户的数量虚拟用户的数量软件学院软件学院两种两种两种两种负载类负载类型型型型 ramp-upramp-up测试: : 用用户是交是交错上升的(每几秒增加上升的(每几秒增加一些新用一些新用户)。)。ramp-upramp-up测试不能不能产生精确和可生精确和可重重现的平均的平均值,这是因是因为由于用由于用户的增加是每次的增
10、加是每次一部分,系一部分,系统的的负载在不断地在不断地变化。其化。其优点是,点是,可以看出随着系可以看出随着系统负载的改的改变,测量量值是如何改是如何改变的的据此据此选择要运行的要运行的flatflat测试的范的范围。软件学院软件学院性能性能性能性能规规划划划划测试测试性能性能规划划类型的型的测试其目其目标是找出在特定的是找出在特定的环境境下,下,给定定应用程序的性能可以达到何种程度。例用程序的性能可以达到何种程度。例如,如果要以如,如果要以5 5秒或更少的响秒或更少的响应时间支持支持8,0008,000个个当前用当前用户,需要多少个服,需要多少个服务器?器?要确定系要确定系统的容量,需要考的
11、容量,需要考虑几个因素几个因素: :用户中有多少是并发与服务器通信的。每个用户的请求间时间间隔是多少。软件学院软件学院如何加如何加载用用户以模以模拟负载状状态?最好的方法是模最好的方法是模拟高峰高峰时间用用户与服与服务器通信的器通信的状况状况。v如果用户负载状态是在一段时间内逐步达到的如果用户负载状态是在一段时间内逐步达到的, ,选选择择ramp-upramp-up测试,每隔几秒增加测试,每隔几秒增加x x个用户个用户; ;v如果所有用户是在一个非常短的时间内同时与系如果所有用户是在一个非常短的时间内同时与系统通信,就应该使用统通信,就应该使用flatflat测试,将所有的用户同测试,将所有的
12、用户同时加载到服务器时加载到服务器 什么是确定容量的最好方法?什么是确定容量的最好方法?结合两种合两种负载类型的型的优点,并运行一系列的点,并运行一系列的测试 如:首先使用如:首先使用ramp-upramp-up测试确定系统支持的用户范测试确定系统支持的用户范围围该范围内不同的并发用户负载进行一系列的该范围内不同的并发用户负载进行一系列的flatflat测试,更精确地确定系统的容量测试,更精确地确定系统的容量。性能性能性能性能规规划划划划测试测试 (2)(2)软件学院软件学院渗入渗入渗入渗入测试测试渗入渗入测试是一种比是一种比较简单的性能的性能测试。渗入。渗入测试所需所需时间较长,它使用固定数
13、目的并,它使用固定数目的并发用用户测试系系统的的总体健壮性。体健壮性。这些些测试将会通将会通过内存泄漏、内存泄漏、增加的垃圾收集增加的垃圾收集(gc)或系或系统的其他的其他问题,显示示因因长时间运行而出运行而出现的任何性能降低。的任何性能降低。 建建议运行两次运行两次测试一次使用一次使用较低的用低的用户负载(要在系(要在系统容量之下,以便不会出容量之下,以便不会出现执行行队列),列),一次使用一次使用较高的高的负载(以便出(以便出现积极的极的执行行队列)列)。软件学院软件学院峰谷峰谷峰谷峰谷测试测试兼有容量兼有容量规划划ramp-upramp-up测试和渗入和渗入测试的特征的特征, ,目目标是
14、确定从高是确定从高负载(例如系(例如系统高峰高峰时间的的负载)恢复、)恢复、转为几乎空几乎空闲、然后再攀升到高、然后再攀升到高负载、再降低的能力。、再降低的能力。软件学院软件学院性能性能性能性能测试测试的的的的过过程程程程评估系估系统制定制定测试资产执行基行基线&基准基准测试分析分析结果果验证需求需求完完成成调试系系统识别探索性探索性测试非决定性非决定性结果果不符合不符合标准准调试之后重新之后重新进行基准行基准测试开开发探索探索性的性的测试符合所符合所有的有的标准准软件学院软件学院故障故障故障故障转转移移移移测试测试failover failover 测试: :故障故障转移移(failover
15、)(failover)和故障恢复和故障恢复(failback).(failback).服服务器的器的failoverfailover测试的目的的目的: : 检查系系统是否具是否具备某种灾某种灾难性恢复的手段性恢复的手段. 当系当系统局部或全部出局部或全部出错时, 能否在指定能否在指定时间内修正内修正错误. 具有良好故障恢复的系具有良好故障恢复的系统, 当遇到当遇到软件件原因或无法克服的自然原因原因或无法克服的自然原因时, 能能够进行故障的行故障的转移与恢移与恢复复. 使用使用户最低限度的感受到故障的最低限度的感受到故障的发生生. .在服在服务器的器的failover测试中中, 将包括多种情况将
16、包括多种情况, 如如:客户机或服务器掉电; 客户机与服务器网络中断; 服务器相关的程序crash; 系统中全部或部分core server出现掉电/网络中断情况.软件学院软件学院failoverfailover测试测试的方法和技巧的方法和技巧的方法和技巧的方法和技巧p将将测试系系统全部全部对象描象描绘出来出来- -系系统结构构图p对图中的所有可能中的所有可能发生的故障点生的故障点设计测试用例用例. .软件学院软件学院5 5 压压力力力力测试测试在一种需要反常(如长时间的峰值)数量、频率或资源的方式下,执行可重复的负载测试,以检查程序对异常情况的抵抗能力,找出性能瓶颈找出性能瓶颈。从本质上来说,
17、测试者是想要破坏程序。步骤:步骤: 测试压力估算测试压力估算 测试环境准备测试环境准备 问题的分析问题的分析 累积效应累积效应 软件学院软件学院压压力力力力测试测试例例例例图图试试这个游戏站点的承受力试试这个游戏站点的承受力软件学院软件学院压压力力力力测试类测试类型型型型v 并并发性能性能测试(重点)(重点)v 疲疲劳强度度测试v 大数据量大数据量测试 软件学院软件学院并并并并发发性能性能性能性能测试测试考察客户端应用的性能,测试的入口是客户端考察客户端应用的性能,测试的入口是客户端并发性能测试的过程,是一个负载测试和压力并发性能测试的过程,是一个负载测试和压力测试的过程。即逐渐增加并发虚拟用
18、户数负载,测试的过程。即逐渐增加并发虚拟用户数负载,直到系统的瓶颈或者不能接收的性能点,通过直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标、资源监控指标等来确综合分析交易执行指标、资源监控指标等来确定系统并发性能的过程。并发性能测试是负载定系统并发性能的过程。并发性能测试是负载压力测试中的重要内容。压力测试中的重要内容。ramp-upramp-up测试 软件学院软件学院疲疲疲疲劳强劳强度度度度测试测试 通常是采用系统稳定运行情况下能够支持的最大并发用户数或者日常运行用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。 疲劳强
19、度测试案例制定的原则是保证系统长疲劳强度测试案例制定的原则是保证系统长期不间断运行的业务量,并且应该尽量去满足该期不间断运行的业务量,并且应该尽量去满足该条件。条件。 软件学院软件学院大数据量大数据量大数据量大数据量测试测试独立的数据量独立的数据量测试 针对某些系统存储、传输、统计、查询等业务进行大 数据量测试 综合数据量合数据量测试 和压力性能测试、负载性能测试、并发性能测试、疲劳性能测试相结合的综合测试方案 软件学院软件学院系系系系统统瓶瓶瓶瓶颈颈分析分析分析分析举举例例例例-1-1交易的响交易的响应时间如果很如果很长,远远超超过系系统性能需性能需求,表示耗求,表示耗费cpu的数据的数据库
20、操作,例如排序,操作,例如排序,执行行aggregate functions(例如(例如sum、min、max、count)等)等较多,可考多,可考虑是否有索引是否有索引以及索引建立的是否合理;尽量使用以及索引建立的是否合理;尽量使用简单的表的表联接;水平分割大表格等方法来降低接;水平分割大表格等方法来降低该值。 软件学院软件学院系系系系统统瓶瓶瓶瓶颈颈分析分析分析分析举举例例例例-2-2unix资源源监控(控(nt操作系操作系统同理)中指同理)中指标内内存存页交交换速率(速率(paging rate),如果),如果该值偶偶尔走高,表明当走高,表明当时有有线程程竞争内存。如果持争内存。如果持续
21、很很高,高,则内存可能是瓶内存可能是瓶颈。也可能是内存。也可能是内存访问命中命中率低。率低。“swap in rate”和和“swap out rate”也也有有类似的解似的解释。 软件学院软件学院系系系系统统瓶瓶瓶瓶颈颈分析分析分析分析举举例例例例-3-3unix资源源监控(控(nt操作系操作系统同理)中指同理)中指标cpu占用率(占用率(cpu utilization),如果),如果该值持持续超超过95%,表明瓶,表明瓶颈是是cpu。可以考。可以考虑增增加一个加一个处理器或理器或换一个更快的一个更快的处理器理器 。合理使用。合理使用的范的范围在在60%至至70%。软件学院软件学院系系系系统
22、统瓶瓶瓶瓶颈颈分析分析分析分析举举例例例例-4-4unix资源源监控(控(nt操作系操作系统同理)中指同理)中指标磁磁盘交交换率(率(disk rate),如果),如果该参数参数值一直很一直很高,表明高,表明i/o有有问题。可考。可考虑更更换更快的硬更快的硬盘系系统、重新部署、重新部署业务逻辑等,另外等,另外设置置tempdb in ram,减低,减低max async io,max lazy writer io等措施都会降低等措施都会降低该值。 软件学院软件学院6 6 安全性测试,可靠性和容错性测安全性测试,可靠性和容错性测安全性测试,可靠性和容错性测安全性测试,可靠性和容错性测试试试试 安
23、全性测试、可靠性测试和容错性测试的测试目的不同,其手段和方法也不同,但都属于系统测试的范畴,有一定的联系,如软件可靠性要求通常包括了安全性的软件可靠性要求通常包括了安全性的要求要求。安全性测试、可靠性测试和容错性测试的技术比较深、实施比较难,但在应用系统中越来越重要。软件学院软件学院安全性测试安全性测试安全性测试安全性测试根据根据cmmi3的定义,安全性是的定义,安全性是“使伤害或损害的风险使伤害或损害的风险限制在可接受的水平内限制在可接受的水平内”。软件学院软件学院安全性安全性安全性安全性测试测试 安全性测试是检查系统对非法侵入的防范能力。安全测试期间,测试人员假扮非法入侵者,采用各种办法试
24、图突破防线。例如:p 想方设法截取或破译口令;p 专门开发软件来破坏系统的保护机制;p 故意导致系统失败,企图趁恢复之机非法进入;p 试图通过浏览非保密数据,推导所需信息等等。理论上讲,只要有足够的时间和资源,没有不可进入的系统。因此系统安全设计的准则是,使非法侵入的代价超过被保护信息的价值,此时非法侵入者已无利可图。软件学院软件学院可靠性测试可靠性测试可靠性测试可靠性测试 可靠性(reliability)是产品在规定的条件下和规定的时间内完成规定功能的能力,它的概率度量称为可靠度。软件可靠性是软件系统的固有特性之一,它表明了一个软件系统按照用户的要求和设计的目标,执行其功能的可靠程度。软件可
25、靠性与软件缺陷有关,也与系统输入和系统使用有关。理论上说,可靠的软件系统应该是正确、完整、一致和健壮的。 l规定的时间规定的时间 l规定的环境条件规定的环境条件l规定的功能规定的功能软件学院软件学院可靠性测试结果的评估可靠性测试结果的评估成熟性度量可以通过错误发现率ddp(defect detection percentage)来表现。在测试中查找出来的错误越多,实际应用中出错的机会就越小,软件也就越成熟。ddp=测试发现的错误数量测试发现的错误数量/已知的全部错误数量已知的全部错误数量已知的全部错误数量是测试已发现的错误数量加上可能会发现的错误数量之和。软件学院软件学院容错性测试容错性测试容
26、错性测试容错性测试 容错性测试是检查软件在异常条件下自身是否具有防护性的措施或者某种灾难性恢复的手段。如当系统出错时,能否在指定时间间隔内修正错误并重新启动系统。容错性测试包括两个方面:输入异常数据或进行异常操作,以检验系统的保护性输入异常数据或进行异常操作,以检验系统的保护性。如果系统的容错性好的话,系统只给出提示或内部消化掉,而不会导致系统出错甚至崩溃。灾难恢复性测试灾难恢复性测试。通过各种手段,让软件强制性地发生故障,然后验证系统已保存的用户数据是否丢失、系统和数据是否能尽快恢复。软件学院软件学院从质量三个纬度看系统测试从质量三个纬度看系统测试从质量三个纬度看系统测试从质量三个纬度看系统
27、测试 质量量维度度测试类型型 可靠性可靠性完整性完整性测试:侧重于评估测试对象的强壮性(防止失败的能力),语言、语法的技术兼容性以及资源利用率的测试。该测试针对不同的测试对象实施和执行,包括单元和已集成单元。 结构构测试:侧重于评估测试目标是否符合其设计和构造的测试。通常对基于 web 的应用程序执行该测试,以确保所有链接都已连接、显示正确的内容以及没有孤立的内容。功能功能配置配置测试:侧重于确保测试对象在不同的硬件和/或软件配置上按预期运行的测试。该测试还可以作为系统性能测试来实施。 功能功能测试:侧重于核实测试对象按计划运行,提供需求的服务、方法或用例的测试。该测试针对不同的测试对象实施和
28、执行,包括单元、已集成单元、应用程序和系统。 安装安装测试:侧重于确保测试对象在不同的硬件和/或软件配置上,以及在不同的条件下(磁盘空间不足或电源中断)按预期安装的测试。该测试针对不同的应用程序和系统实施和执行。 安全安全测试:侧重于确保只有预期的主角才可以访问测试对象、数据(或系统)的测试。该测试针对多种测试对象实施和执行。 软件学院软件学院从质量三个纬度看系统测试从质量三个纬度看系统测试从质量三个纬度看系统测试从质量三个纬度看系统测试 (2)(2)质量量维度度 测试类型型 功能功能容量容量测试:侧重于核实测试对象对于大量数据(输入和输出或驻留在数据库内)的处理能力的测试。容量测试包括多种测
29、试策略,如创建返回整个数据库内容的查询;或者对查询设置很多限制,以至不返回数据;或者返回每个字段中最大数据量的数据条目。性能性能 基准基准测试:一种性能测试,该测试将比较(新的或未知的)测试对象与已知的参照负载和系统的性能。 竞争争测试:侧重于核实测试对象对于多个主角对相同资源(数据记录、内存等)的请求的处理是否可以接受的测试。 负载测试:一种性能测试,用于在测试的系统保持不变的情况下,核实和评估系统在不同负载下操作极限的可接受性。 评测包括负载和响应时间的特征。如果系统结合了分布式构架或负载平衡方法,将执行特殊的测试以确保分布和负载平衡方法能够正常工作。 性能曲性能曲线:在该测试中,将监测测
30、试对象的计时配置文件,包括执行流、数据访问、函数和系统调用,以确定并解决性能瓶颈和低效流程。 强强度度测试:一种性能测试,侧重于确保系统可在遇到异常条件时按预期运行。系统面对的工作强度可以包括过大的工作量、不充足的内存、不可用的服务/硬件或过低的共享资源。 软件学院软件学院7 7 验收测试验收测试验收测试验收测试7.1 验收测试的过程和主要内容7.2 产品规格说明书的验证7.3 用户界面和可用性测试7.4 兼容性测试7.5 可安装性和可恢复性测试7.6 验收测试报告和用户验收测试软件学院软件学院什么是验收测试什么是验收测试什么是验收测试什么是验收测试验收测试验收测试(acceptancetes
31、t):在软件产品完成了功能测试在软件产品完成了功能测试和系统测试之后、产品发布之前所进行的软件测试活动和系统测试之后、产品发布之前所进行的软件测试活动它是技术测试的最后一个阶段它是技术测试的最后一个阶段,也称为交付测试。也称为交付测试。 软件学院软件学院7.1 7.1 7.1 7.1 验验收收收收测试测试的的的的过过程和主要内容程和主要内容程和主要内容程和主要内容前提前提: : 系统或软件产品已通过了系统测试的软件系统。系统或软件产品已通过了系统测试的软件系统。测试内容测试内容: :验证系统是否达到了用户需求规格说明书(可能包括项验证系统是否达到了用户需求规格说明书(可能包括项目或产品验收准则
32、)中的要求,测试试图尽可能地发现目或产品验收准则)中的要求,测试试图尽可能地发现软件中存留的缺陷,从而为软件进一步改善提供帮助,软件中存留的缺陷,从而为软件进一步改善提供帮助,并保证系统或软件产品最终被用户接受。主要包括易用并保证系统或软件产品最终被用户接受。主要包括易用性测试、兼容性测试、安装测试、文档(如用户手册、性测试、兼容性测试、安装测试、文档(如用户手册、操作手册等)测试等几个方面的内容。操作手册等)测试等几个方面的内容。 软件学院软件学院测试步骤测试步骤测试步骤测试步骤v制定制定测试计划,划,测试项,测试策略及策略及验收通收通过准准则,并,并经过客客户参与的参与的计划划评审。v建立
33、建立测试环境,境,设计测试用例,并用例,并经过评审。v准准备测试数据,数据,执行行测试用例,用例,记录测试结果。果。v分析分析测试结果,根据果,根据验收通收通过准准则分析分析测试结果,作出果,作出验收是否通收是否通过及及测试评价。价。l测试项目通目通过;l测试项目没有通目没有通过,并且不存在,并且不存在变通方法,需要很大的修改;通方法,需要很大的修改;l测试项目没有通目没有通过,但存在,但存在变通方法,在通方法,在维护后期或下一个版本改后期或下一个版本改进;l测试项目无法目无法评估或者无法估或者无法给出完整的出完整的评估。此估。此时必必须给出原因。出原因。如果是因如果是因为该测试项目没有目没有
34、说明清楚,明清楚,应该修改修改测试计划。划。 v提交提交测试报告告软件学院软件学院验收标准和注意事项验收标准和注意事项验收标准和注意事项验收标准和注意事项验收测试完成标准验收测试完成标准:n完全执行了验收测试计划中的每个测试用例。完全执行了验收测试计划中的每个测试用例。n在验收测试中发现的错误已经得到修改并且通过了在验收测试中发现的错误已经得到修改并且通过了测试或者经过评估留待下一版本中修改。测试或者经过评估留待下一版本中修改。n完成软件验收测试报告。完成软件验收测试报告。注意事项注意事项:n必须编写正式的、单独的验收测试报告必须编写正式的、单独的验收测试报告n验收测试必须在实际用户运行环境中
35、进行验收测试必须在实际用户运行环境中进行n由用户和测试部门共同执行。如公司自开发产品,应由用户和测试部门共同执行。如公司自开发产品,应由测试人员,产品设计部门,市场部门等共同进行。由测试人员,产品设计部门,市场部门等共同进行。软件学院软件学院7.2 7.2 产品规格说明书的验证产品规格说明书的验证产品规格说明书的验证产品规格说明书的验证产口规格说明书的审核产口规格说明书的审核n从客户的角度和立场进行审核工作。从客户的角度和立场进行审核工作。n检验套用标准的正确性,不要和行业规范相抵触。检验套用标准的正确性,不要和行业规范相抵触。n审查、研究同类产品。审查、研究同类产品。n验证产品规格说明书的完
36、整性、准确性、一致性、合理性等验证产品规格说明书的完整性、准确性、一致性、合理性等特性。特性。产口规格说明书的验证产口规格说明书的验证n已经实现的特性标识为通过。已经实现的特性标识为通过。n特性没有实现特性没有实现,报告报告bug并在报告中体现。并在报告中体现。n特性基本实现特性基本实现,但与产品说明书内容不一致但与产品说明书内容不一致,报报bug并在报告中并在报告中体现。体现。n特性基本实现特性基本实现,但存在一些问题或错误。但存在一些问题或错误。软件学院软件学院什么是适用性什么是适用性什么是适用性什么是适用性( ( usability)?usability)?pp 容易发现容易发现容易发现
37、容易发现(easy to discover)(easy to discover)pp 简单易学简单易学简单易学简单易学(easy to learn)(easy to learn)pp 易于使用易于使用易于使用易于使用(easy to use)(easy to use)pp 可用性可用性可用性可用性(availability)(availability)软件学院软件学院microsoftmicrosoft的适用性的适用性的适用性的适用性测试测试-180 适用性测试工程师适用性测试工程师- 25 适用性测试实验室适用性测试实验室软件学院软件学院7.3 7.3 用户界面和可用性测试用户界面和可用性测
38、试用户界面和可用性测试用户界面和可用性测试用户界面的用户界面的7个要素个要素:n符合标准和规范。符合标准和规范。n直观性。直观性。n一致性。一致性。n灵活性。灵活性。n舒适性。舒适性。n正确性。正确性。n实用性。实用性。易用性测试没有具体量化的指标,主观性较强。易用性测试没有具体量化的指标,主观性较强。软件学院软件学院符合标准和规范符合标准和规范符合标准和规范符合标准和规范通常标准是已经确立的,多数用户已经熟悉并接受了这些通常标准是已经确立的,多数用户已经熟悉并接受了这些标准和规范、或已经认同了这些信息所代表的意义。标准和规范、或已经认同了这些信息所代表的意义。例:例:如果软件在某一个平台上运
39、行,就需要把该平台的标准和如果软件在某一个平台上运行,就需要把该平台的标准和规范作为产品规格说明书的补充内容,在建立测试案例时规范作为产品规格说明书的补充内容,在建立测试案例时和产品规格说明书一样作为依据和产品规格说明书一样作为依据 软件学院软件学院直观性和一致性直观性和一致性直观性和一致性直观性和一致性直观性直观性:-首先了解所需的功能或期待的响应应该明显,并在预期的首先了解所需的功能或期待的响应应该明显,并在预期的地方出现。地方出现。-其次要考虑用户界面的组织和布局是否合理。其次要考虑用户界面的组织和布局是否合理。一致性一致性:-包括软件本身的一致性,以及软件与其他软件的一致性包括软件本身
40、的一致性,以及软件与其他软件的一致性。软件学院软件学院灵活性灵活性灵活性灵活性用户喜欢可以灵活选择的软件,软件可以选择不同的状态用户喜欢可以灵活选择的软件,软件可以选择不同的状态和方式,完成相应的功能。但灵活性也可能发展为复杂性,和方式,完成相应的功能。但灵活性也可能发展为复杂性,太多的状态和方式的选择增加的不仅仅是用户理解和掌握太多的状态和方式的选择增加的不仅仅是用户理解和掌握的困难程度。多种状态之间的转换,增加了编程的难度,的困难程度。多种状态之间的转换,增加了编程的难度,更增加了软件测试人员的工作量。更增加了软件测试人员的工作量。例:例:软件学院软件学院舒适性、正确性、实用性舒适性、正确
41、性、实用性舒适性、正确性、实用性舒适性、正确性、实用性舒适性舒适性:恰当的表现、合理的安排、必要的提示或更正能力等是要考虑恰当的表现、合理的安排、必要的提示或更正能力等是要考虑的因素,包括容错处理和性能。的因素,包括容错处理和性能。正确性正确性:正确性的问题一般都很明显,比较容易发现。正确性的问题一般都很明显,比较容易发现。 实用性实用性:实用性不是指的是软件本身是否实用,而仅仅指的是具体特性实用性不是指的是软件本身是否实用,而仅仅指的是具体特性是否实用。大型软件的开发或周期较长经过几次反复的软件开发中是否实用。大型软件的开发或周期较长经过几次反复的软件开发中容易产生一些没有实用性的功能。容易
42、产生一些没有实用性的功能。 软件学院软件学院7.4 7.4 兼容性测试兼容性测试兼容性测试兼容性测试软件兼容性测试是指验证软件之间是否正确地交软件兼容性测试是指验证软件之间是否正确地交互和共享信息。互和共享信息。 注意:注意:从项目管理的角度出发,使平台清单在满足客户要求的前从项目管理的角度出发,使平台清单在满足客户要求的前提下尽可能的小是十分重要的,否则将会给编码和测试带来巨大的工提下尽可能的小是十分重要的,否则将会给编码和测试带来巨大的工作量。作量。 兼容性包括:兼容性包括:n硬件兼容。硬件兼容。n软件之间兼容。软件之间兼容。n数据之间兼容。数据之间兼容。软件学院软件学院向前和向后兼容向前
43、和向后兼容向前和向后兼容向前和向后兼容n向后兼容是指可以使用软件的以前版本。向后兼容是指可以使用软件的以前版本。n向前兼容指的是可以使用软件的未来版本。向前兼容指的是可以使用软件的未来版本。 软件学院软件学院多版本的测试多版本的测试多版本的测试多版本的测试一个庞大而又艰巨的任务,需要对所有可能的软一个庞大而又艰巨的任务,需要对所有可能的软件组合等价分配,验证软件之间正确交互的最件组合等价分配,验证软件之间正确交互的最小有效集合。小有效集合。 通常我们的做法是:通常我们的做法是:n将软件分类。例如:字处理,电子表格,数据库,图将软件分类。例如:字处理,电子表格,数据库,图形处理,游戏等。从每种类
44、型中选择部分测试软件。形处理,游戏等。从每种类型中选择部分测试软件。n按软件的流行程度选择较流行的软件。按软件的流行程度选择较流行的软件。n按年份,选取一定年份内的程序和版本。按年份,选取一定年份内的程序和版本。软件学院软件学院7.5 7.5 可安装性和可恢复性测试可安装性和可恢复性测试可安装性和可恢复性测试可安装性和可恢复性测试可安装性测试可安装性测试:n系统软件安装系统软件安装n应用软件安装应用软件安装n产品升级安装产品升级安装n等等等等软件学院软件学院可安装性测试可安装性测试可安装性测试可安装性测试安装测试注意事项安装测试注意事项:n是否需要专业人员安装。是否需要专业人员安装。n安装说明
45、书有无对安装环境做限制和要求。安装说明书有无对安装环境做限制和要求。n过程是否简单、易掌握。过程是否简单、易掌握。n过程中是否有明显的、合理的提示信息。过程中是否有明显的、合理的提示信息。n是否会出现不可预见或不可修复的错误。是否会出现不可预见或不可修复的错误。n安装程序是否占用系统资源与原系统冲突,是否会影安装程序是否占用系统资源与原系统冲突,是否会影响原系统安全性。响原系统安全性。n软件安装的完整性和灵活性。软件安装的完整性和灵活性。n许可证号码与注册号码的验证。许可证号码与注册号码的验证。n升级安装后原有程序是否可正常运行。升级安装后原有程序是否可正常运行。n卸载测试。卸载测试。软件学院
46、软件学院可恢复性测试可恢复性测试可恢复性测试可恢复性测试n恢复测试主要检查系统的容错能力。当系统出恢复测试主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误或重新启错时,能否在指定时间间隔内修正错误或重新启动系统。动系统。n恢复测试首先要通过各种手段,让软件强制性恢复测试首先要通过各种手段,让软件强制性地发生故障,然后验证系统是否能尽快恢复。地发生故障,然后验证系统是否能尽快恢复。p对于自动恢复需验证重新初始化、检查点、数据恢对于自动恢复需验证重新初始化、检查点、数据恢复和重新启动等机制的正确性;复和重新启动等机制的正确性;p对于人工干预的恢复系统,还需估测平均修复时间,对于人
47、工干预的恢复系统,还需估测平均修复时间,确定其是否在可接受的范围内。确定其是否在可接受的范围内。软件学院软件学院怎样进行文档测试怎样进行文档测试怎样进行文档测试怎样进行文档测试好的文档能达到提高易用性、提高可靠性、降低z6尊龙旗舰厅的技术支持好的文档能达到提高易用性、提高可靠性、降低z6尊龙旗舰厅的技术支持的费用的目的,从而提高了产品的整体质量。的费用的目的,从而提高了产品的整体质量。 非代码的文档测试主要检查文档的正确性、完备性和可理非代码的文档测试主要检查文档的正确性、完备性和可理解性。解性。p验证正确性验证正确性p验证完备性验证完备性p验证可理解性验证可理解性软件驱动的文档还得像程序一样运行起来测试。软件驱动的文档还得
48、像程序一样运行起来测试。 软件学院软件学院7.67.6验收测试报告和用户验收测试验收测试报告和用户验收测试验收测试报告和用户验收测试验收测试报告和用户验收测试测试是指软件开发公司组织内部人员模拟各类用户行对即测试是指软件开发公司组织内部人员模拟各类用户行对即将面市软件产品(称为将面市软件产品(称为版本)进行测试,试图发现错误并版本)进行测试,试图发现错误并修正。修正。经过经过测试调整的软件产品称为测试调整的软件产品称为版本。紧随其后的版本。紧随其后的测试测试是指软件开发公司组织各方面的典型用户在日常工作中实是指软件开发公司组织各方面的典型用户在日常工作中实际使用际使用版本,并要求用户报告异常情况、提出批评意见。版本,并要求用户报告异常情况、提出批评意见。然后软件开发公司再对然后软件开发公司再对版本进行改错和完善。版本进行改错和完善。验收测试报告,也称为发布报告(验收测试报告,也称为发布报告(releasereport)软件学院软件学院q & aq & a