软件测试 第 8 章 系统测试

78
软软软软 软软软软 软8软 软软 Kerry Zhu [email protected] http://blog.csdn.net/Ke rryzhu

Upload: jens

Post on 18-Mar-2016

206 views

Category:

Documents


5 download

DESCRIPTION

软件测试 第 8 章 系统测试. Kerry Zhu [email protected] http://blog.csdn.net/Kerryzhu. 系统性能问题. 系统太慢了,我泡了一杯茶回到座位,还没有看到响应. 软件系统安全性受到挑战. 1983 战争游戏 (电影) Matthew  Broderick )是一个疯狂的电脑游戏迷,一次他不经意地闯入了五角大楼的一个绝对机密的电脑系统中 ……. 更多例子. 各种系统测试. 本章内容. 8.1 什么是系统测试 8.2 概念:负载测试、压力测试和性能测试 8.3 负载测试技术 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 软件测试 第 8 章  系统测试

软件测试软件测试第 8 章 系统测试Kerry [email protected]

http://blog.csdn.net/Kerryzhu

Page 2: 软件测试 第 8 章  系统测试

[email protected]

系统性能问题

系统太慢了,我泡了一杯茶回到座位,还没有看到响应

Page 3: 软件测试 第 8 章  系统测试

[email protected]

软件系统安全性受到挑战

1983

战争游戏(电影)Matthew  Broderick )是一个疯狂的电脑游戏迷,一次他不经意地闯入了五角大楼的一个绝对机密的电脑系统中 ……

Page 4: 软件测试 第 8 章  系统测试

[email protected]

更多例子

Page 5: 软件测试 第 8 章  系统测试

[email protected]

各种系统测试

Page 6: 软件测试 第 8 章  系统测试

[email protected]

本章内容8.1 什么是系统测试8.2 概念:负载测试、压力测试和性能测试8.3 负载测试技术8.4 性能测试8.5 压力测试8.6 性能测试工具8.7 兼容性测试8.8 安全性测试8.9 容错性测试8.10 可靠性测试

Page 7: 软件测试 第 8 章  系统测试

[email protected]

本章内容8.1 什么是系统测试8.2 概念:负载测试、压力测试和性能测试8.3 负载测试技术8.4 性能测试8.5 压力测试8.6 性能测试工具8.7 兼容性测试8.8 安全性测试8.9 容错性测试8.10 可靠性测试

Page 8: 软件测试 第 8 章  系统测试

[email protected]

什么是系统测试?

用户的需求可以分为功能性需求和非功能性需求,而非功能性的需求被归纳为软件产品的各种质量特性,如安全性、兼容性和可靠性等 系统测试就是针对这些非功能特性展开的,就是验证软件产品符合这些质量特性的要求,从而满足用户和软件企业自身的非功能性需求。所以,系统测试分为负载测试、性能系统、容量测试、安全性测试、兼容性测试和可靠性测试等

Page 9: 软件测试 第 8 章  系统测试

[email protected]

系统测试的内容

详见表 8-1

Page 10: 软件测试 第 8 章  系统测试

[email protected]

本章内容8.1 什么是系统测试8.2 概念:负载测试、压力测试和性能测试8.3 负载测试技术8.4 性能测试8.5 压力测试8.6 性能测试工具8.7 兼容性测试8.8 安全性测试8.9 容错性测试8.10 可靠性测试

Page 11: 软件测试 第 8 章  系统测试

[email protected]

背景及其分析系统性能的改善是测试、调整、再测试、再调整

、……一个持续改进的过程——性能调优性能调优需要借助负载测试方法的帮助 负载测试和性能测试有较多相似之处,例如,测试方法比较接近、都关注系统的性能,而且多数情况下使用相同的测试工具 负载测试可以看作是性能测试所采用的一种技术 压力测试可以被看作是负载测试的一种,即高负载下的负载测试 容量测试也采用负载测试技术来实现

Page 12: 软件测试 第 8 章  系统测试

[email protected]

定义负载测试是通过模拟实际软件系统所承受的负载条件、改变系统负载大小和负载方式来发现系统中所存在的问题 压力测试是在强负载情况下(如大数据量、大量并发用户连接等)稳定性进行测试,查看应用系统在峰值(瞬间使用高峰)使用情况下的行为表现,更有效地发现系统稳定性的隐患和系统在负载峰值的条件下功能隐患等,确认系统是否具有良好的容错能力和可恢复能力。 性能测试是为获取或验证系统性能指标而进行的测

Page 13: 软件测试 第 8 章  系统测试

[email protected]

本章内容8.1 什么是系统测试8.2 概念:负载测试、压力测试和性能测试8.3 负载测试技术8.4 性能测试8.5 压力测试8.6 性能测试工具8.7 兼容性测试8.8 安全性测试8.9 容错性测试8.10 可靠性测试

Page 14: 软件测试 第 8 章  系统测试

[email protected]

8.3 负载测试技术

8.3.1 负载测试过程8.3.2 输入参数8.3.3 输出参数8.3.4 场景设置8.3.5 负载测试的执行8.3.6 负载测试的结果分析

Page 15: 软件测试 第 8 章  系统测试

[email protected]

负载测试过程 确定所要模拟的角色及其对应的关键业务操作路径。 确定输入 / 输出参数,制定负载测试方案。 准备测试环境,并完成相应的测试脚本的开发。 设计具体的测试场景,如负载水平、加载方式等。 执行测试,监控输出参数,如数据吞吐量、响应时间、资源占有率等。 对测试结果进行分析。 结果不满意,需要调整测试场景,进入下一个循环。

Page 16: 软件测试 第 8 章  系统测试

[email protected]

负载测试的构成

Page 17: 软件测试 第 8 章  系统测试

[email protected]

输入参数

并发用户数、并发连接数等。 思考时间( think time ),用户发出请求之间的间隔时间 加载的循环次数或持续时间 每次请求发送的数据量。 加载的方式或模式,如均匀加载、峰值交替加载等

负载测试是通过模拟用户的操作方式来考察系统的行为,所以人们肯定会问:如何模拟用户的行为?

Page 18: 软件测试 第 8 章  系统测试

[email protected]

参数实例

Page 19: 软件测试 第 8 章  系统测试

[email protected]

负载 RPS (Request Per Second)

并发连接数 (Simultaneous Browser Connections)

最大数据容量 思考时间 (Thinking Time)

RPS + SBC + Thinking Time = Concurrent users?

http://blog.csdn.net/Kerryzhu

Page 20: 软件测试 第 8 章  系统测试

[email protected]

加载模式

Page 21: 软件测试 第 8 章  系统测试

[email protected]

加载模式举例

动态模式 全天模式 队列模式 验证模式

Page 22: 软件测试 第 8 章  系统测试

[email protected]

负载模式 递增 恒值 动态 整天 队列

http://blog.csdn.net/Kerryzhu

Page 23: 软件测试 第 8 章  系统测试

[email protected]

DemoJMeter

http://blog.csdn.net/Kerryzhu

Page 24: 软件测试 第 8 章  系统测试

[email protected]

输出参数 数据传输的吞吐量( Transactions ) 数据处理效率( Transactions per second ) 数据请求的响应时间( Response time )内存和 CPU 使用率 连接时间( Connect Time )、发送时间( Sent Time ) 处理时间( Process Time )、页面下载时间第一次缓冲时间 每秒( SSL )连接数 每秒事务总数、每秒下载页面数 每秒点击次数、每秒 HTTP 响应数 每秒重试次数

Page 25: 软件测试 第 8 章  系统测试

[email protected]

举例

图 8-7 JMeter 性能测试结果示意图

Page 26: 软件测试 第 8 章  系统测试

[email protected]

场景设置

启动( Ramp up ) 持续期间( Duration ) 结束( Ramp down )

在性能测试执行前,以什么样方式启动负载方式、如何持续进行负载测试直至负载测试结束,这个过程的负载大小和方式、负载启动和结束以及各种检查点、验证点等设计,被称为场景设置。

Page 27: 软件测试 第 8 章  系统测试

[email protected]

场景类型http://blog.csdn.net/Kerryzhu

可以分为静态和动态两部分。静态部分是指设置模拟用户生成器、用户数量、用户组等,动态部分主要指添加性能计数器、检查点、阀值等,从而获得负载测试过程中反回来馈的数据——系统运行的动态状态。 可以依据业务模式变化、随时间段变化来进行设置 也可分为手工场景 和面向目标的场景

Page 28: 软件测试 第 8 章  系统测试

[email protected]

举例

依据业务模式变化来设计负载模式(来源MSDN)

Page 29: 软件测试 第 8 章  系统测试

[email protected]

同步点 同步点(或称集合点)用于同步虚拟用户恰好在某一时刻执行任务,确保众多的虚拟并发用户更准确、集中地进行某个设定的操作,达到更理想的负载模拟效果

Page 30: 软件测试 第 8 章  系统测试

[email protected]

负载测试执行

大量的虚拟用户要运行在多个客户端,并由控制器管理、代理( agent )驱动 负载测试的执行,需要针对不同维度的变化进行,包括时间维、负载维和系统维监控、详细的记录和适当的分析是十分重要的

•时间维:尝试观察系统在一段较长时间上的行为变化 •负载维:尝试在系统上改变负载来进行对比分析 •系统维:负载测试也可以针系统的不同组件、不同配置等进行

Page 31: 软件测试 第 8 章  系统测试

[email protected]

结果分析要善于捕捉被监控的数据曲线发生突变的地方——拐点

Page 32: 软件测试 第 8 章  系统测试

[email protected]

本章内容8.1 什么是系统测试8.2 概念:负载测试、压力测试和性能测试8.3 负载测试技术8.4 性能测试8.5 压力测试8.6 性能测试工具8.7 兼容性测试8.8 安全性测试8.9 容错性测试8.10 可靠性测试

Page 33: 软件测试 第 8 章  系统测试

[email protected]

8.4 性能测试

8.4.1 如何确定性能需求8.4.2 性能测试类型8.4.3 性能测试的步骤8.4.4 一些常见的性能问题8.4.5 容量测试

Page 34: 软件测试 第 8 章  系统测试

[email protected]

示例

Page 35: 软件测试 第 8 章  系统测试

[email protected]

确定性能需求

最终用户的体验,如 2-5-10原则 商业需求,如“比竞争对手的产品好” 技术需求,如 CPU 使用率不超过 70% 标准要求

只有具备了清楚而量化的性能指标,性能测试才能开始实施。

响应时间是用户的关注点,容量和数据吞吐量是(产品市场团队)业务处理方面的关注点,而系统资源占用率是开发团队的技术关注点

Page 36: 软件测试 第 8 章  系统测试

[email protected]

性能测试类型 性能验证测试,验证事先已定义的系统性能指标、系统能否满足系统的性能需求 性能基准测试,在系统标准配置下获得有关的性能指标数据,作为将来性能改进的基准线 性能规划测试,在多种特定的环境下,获得不同配置的系统的性能指标,从而决定在系统部署时采用什么样的软、硬件配置 容量测试可以看作性能的测试一种,因为系统的容量可以看作是系统性能指标之一

Page 37: 软件测试 第 8 章  系统测试

[email protected]

性能测试的步骤 确定性能测试需求; 计划和设计测试;包括确定关键业务流程、测试类型和测试方法、选择合适的测试工具、设计测试场景等 测试工具的选择; 配置测试环境,尽量接近实际运行环境,即建立仿真环境作为性能测试环境,测试结果才能可信; 实现测试设计(开发测试脚本); 执行测试; 分析测试结果; 重复上述 (4)~ (6)步骤,直至测试计划完成,结果满意; 提交性能测试报告。

Page 38: 软件测试 第 8 章  系统测试

[email protected]

示例加载

结果分析

Page 39: 软件测试 第 8 章  系统测试

[email protected]

一些常见的性能问题资源泄漏,包括内存泄漏 资源瓶颈,内部资源(线程、放入池的对象)变得稀缺 CPU 使用率达到 100% 、系统被锁定等 线程死锁、线程阻塞等 数据库连接成为性能瓶颈 查询速度慢或列表效率低 受外部系统影响越来越大

Page 40: 软件测试 第 8 章  系统测试

[email protected]

容量测试容量测试( Capacity test ),通过负载测试或其它测试方法,预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),在其极限值状态下系统主要功能还能保持正常运行 容量测试属于性能测试中的一种,一般采用逐步加载的负载测试方法,也可以先采用逐步加载方式,获得一个基本的容量值或容量范围,然后再考虑用一次性加载方式,来决定实际可支持的容量值。

Page 41: 软件测试 第 8 章  系统测试

[email protected]

本章内容8.1 什么是系统测试8.2 概念:负载测试、压力测试和性能测试8.3 负载测试技术8.4 性能测试8.5 压力测试8.6 性能测试工具8.7 兼容性测试8.8 安全性测试8.9 容错性测试8.10 可靠性测试

Page 42: 软件测试 第 8 章  系统测试

[email protected]

压力测试压力测试是在系统(如 CPU 、内存和网络带宽等)处于饱和状态下,测试系统是否还具有正常的会话能力、数据处理能力或是否会出现错误,以检查软件系统对异常情况的抵抗能力,找出性能瓶颈、功能不稳定性等问题。

Page 43: 软件测试 第 8 章  系统测试

[email protected]

压力测试的类型 稳定性压力测试,高负载下持续运行 24 小时以上的压力测试 破坏性压力测试,通过不断加载的手段,快速造成系统的崩溃,让问题尽快地暴露出来 渗入测试( soak test ),通过长时间运行,使问题逐渐渗透出来,从而发现内存泄漏、垃圾收集( GC )或系统的其他问题,以检验系统的健壮性 峰谷测试( peak-rest test ),采用高低突变加载方式进行,先加载到高水平的负载,然后急剧降低负载,稍微平息一段时间,再加载到高水平的负载,重复这样过程,容易发现问题的蛛丝马迹,最终找到问题的根源。

Page 44: 软件测试 第 8 章  系统测试

[email protected]

本章内容8.1 什么是系统测试8.2 概念:负载测试、压力测试和性能测试8.3 负载测试技术8.4 性能测试8.5 压力测试8.6 性能测试工具8.7 兼容性测试8.8 安全性测试8.9 容错性测试8.10 可靠性测试

Page 45: 软件测试 第 8 章  系统测试

[email protected]

8.6 性能测试工具

8.6.1 特性及其使用

8.6.2 开源工具

8.6.3 商业工具

Page 46: 软件测试 第 8 章  系统测试

[email protected]

特性及其使用

能模拟实际用户的操作行为,记录和回放多用户测试中的事务处理过程,自动生成相应的测试脚本能针对脚本进行修改,增加逻辑控制、完成参数化和数据关联 可以设置不同的应用环境和场景,通过虚拟用户执行相应的测试脚本 通过系统监控工具获得系统性能的相关指标的值

Page 47: 软件测试 第 8 章  系统测试

[email protected]

JMeter-1

Page 48: 软件测试 第 8 章  系统测试

[email protected]

JMeter-2

Page 49: 软件测试 第 8 章  系统测试

[email protected]

JMeter-3

Page 50: 软件测试 第 8 章  系统测试

[email protected]

开源工具 Siege ( http://www.joedog.org/JoeDog/Siege )是一个开源的 Web 压力测试和评测工具。 OpenSTA ,可以模拟大量的虚拟用户来完成性能测试,并通过 scrīpt 来完成丰富的自定义设置。详见 http://

portal.opensta.org/index.php 。 DBMonster 是一个生成随机数据、用来测试 SQL 数据库的压力测试工具,详见 http://dbmonster.kernelpanic.pl/ 。 LoadSim——网络应用程序的负载模拟器。 更多的性能测试工具,可访问 http://

www.opensourcetesting.org/performance.php

Page 51: 软件测试 第 8 章  系统测试

[email protected]

HP LoadRunner

Page 52: 软件测试 第 8 章  系统测试

[email protected]

LoadRunner 系统架构

Page 53: 软件测试 第 8 章  系统测试

[email protected]

商业工具 HP LoadRunnerIBM Rational Performance TesterRadview WebLoad Compuware QA Load Quest Benchmark Factory 微软 WAS ( Web Access Stress test ) Paessler Webserver Stress Tool MINQ PureLoad

Page 54: 软件测试 第 8 章  系统测试

[email protected]

本章内容8.1 什么是系统测试8.2 概念:负载测试、压力测试和性能测试8.3 负载测试技术8.4 性能测试8.5 压力测试8.6 性能测试工具8.7 兼容性测试8.8 安全性测试8.9 容错性测试8.10 可靠性测试

Page 55: 软件测试 第 8 章  系统测试

[email protected]

8.7 兼容性测试

8.7.1 兼容性测试的内容8.7.2 系统兼容性测试8.7.3 数据兼容性测试

Page 56: 软件测试 第 8 章  系统测试

[email protected]

什么是兼容性测试兼容性测试是在特定的或不同的硬件、网络环境和操作系统平台上、不同的应用软件之间,验证软件系统能否正常地运行,以及能否正确存取原先版本的用户数据所进行的测试

与硬件兼容 与操作系统、平台的兼容 与数据库系统的兼容 与浏览器的兼容 与第三方系统的兼容 与内部业务系统的兼容 与自身系统的不同版本的用户数据兼容等

Page 57: 软件测试 第 8 章  系统测试

[email protected]

兼容性测试的内容 硬件兼容性测试 数据兼容性测试 系统版本之间的兼容性

• 向后兼容是指新发布的软件版本可以使用该软件的以前版本所产生的数据。• 向前兼容是指在设计和开发软件一个新版本时,考虑如何和未来版本的数据兼容。

Page 58: 软件测试 第 8 章  系统测试

[email protected]

系统兼容性测试B/S 系统兼容性测试 C/S 系统兼容性测试

Page 59: 软件测试 第 8 章  系统测试

[email protected]

数据兼容性测试是否遵守统一的国际标准、国家标准或业界认可的事实标准等 提供相应的导入和导出功能 剪贴板或 ODBC 等类似方法

Page 60: 软件测试 第 8 章  系统测试

[email protected]

本章内容8.1 什么是系统测试8.2 概念:负载测试、压力测试和性能测试8.3 负载测试技术8.4 性能测试8.5 压力测试8.6 性能测试工具8.7 兼容性测试8.8 安全性测试8.9 容错性测试8.10 可靠性测试

Page 61: 软件测试 第 8 章  系统测试

[email protected]

8.7 兼容性测试

8.8.1 安全性测试的范围8.8.2 Web 安全性的测试8.8.3 安全性测试工具

Page 62: 软件测试 第 8 章  系统测试

[email protected]

什么是安全性测试

跨站点脚本( cross-site scripting , XSS )攻击; SQL 注入式漏洞;缓冲区溢出; 不安全的数据存储或传递; 不安全的配置管理; 有问题的访问控制,权限分配有问题;口令设置不严,包括长度、构成和更新频率;暴露的端口或入口;

软件安全性测试就是检验系统权限设置有效性、防范非法入侵的能力、数据备份和恢复能力等,设法找出上述各种安全性漏洞

Page 63: 软件测试 第 8 章  系统测试

[email protected]

安全性测试的范围系统级别的安全性应用程序级别的安全性 (重点)

用户权限 数据输入验证 敏感数据加密 数据存储安全性 用户口令 验证系统的日志文件是否得到保护 ……

Page 64: 软件测试 第 8 章  系统测试

[email protected]

Web 安全性测试

跨站脚本攻击 SQL 注入式攻击 URL 和 API 的身份验证 其它

Page 65: 软件测试 第 8 章  系统测试

[email protected]

3-D

3-D ( defacing, destruction, denial of service – DoS )

丑化、破坏、拒绝服务

Page 66: 软件测试 第 8 章  系统测试

[email protected]

跨站脚本攻击在页面某些输入域中使用跨站脚本(写入一段 javascript )来发送恶意代码给没有发觉的用户,让浏览器执行 document.write等危险指令 ,窃取用户的资料或信息。

Page 67: 软件测试 第 8 章  系统测试

[email protected]

输入域验证 HTML 标签: <…>…</…> 转义字符: &amp(&) ; &lt(<) ; &gt(>) ; &nbsp(空格 ) ; 脚本语言,如 JavaScript <script

language=‘javascript’>……</script> 特殊字符:‘ ’ < > /

防止:

最好进行更严格的保护和验证

Page 68: 软件测试 第 8 章  系统测试

[email protected]

SQL 注入式攻击 根据 SQL语句的编写规则,附加一个永远为“真”的条件,使系统中某个认证条件总是成立,从而欺骗系统、躲过认证,进而侵入系统

Username=Request.from(“username”)Password=Request.from(“password”)xSql=”select * from admin where username=’”&usename&” ’ and

password=’”&password &” ’”Rs.open xSql.com.0.3If not rs.eof thenSession(“login”)=trueResponse.redirect(“next.asp”)End if

or ‘1’ = ‘1’

Page 69: 软件测试 第 8 章  系统测试

[email protected]

安全性测试工具的评估标准 支持常见的 Web服务器平台 能同时提供对源代码和二进制文件进行扫描的功能 漏洞检测和纠正分析 检测实时系统的问题 不改变被测试的软件,不影响代码 良好的报告 非安全专业人士也易于上手 可管理部署的多种扫描器、尽可能小的错误误差等

Page 70: 软件测试 第 8 章  系统测试

[email protected]

常见的安全性测试工具 Acunetix Web Vulnerability Scanner 是一款商业级的 Web漏洞扫描程序。 Burp suite 是一个可以用于攻击Web 应用程序的集成平台, Nikto 是开源的 Web服务器扫描程序。 N-Stealth 是一款商业级的 Web服务器安全扫描程序。 Paros proxy 是基于 Java 的 web代理程序,可以评估Web 应用程序的漏洞。 SPI Dynamics WebInspect 是功能强大的 Web 应用程序扫描程序 TamperIE 是一个小巧的 XSS漏洞检测辅助工具 Tripwire 是一款最为常用的开放源码的完整性检查工具 Wapiti 是由 Python语言编写的、开源的安全测试工具,直接对网页进行扫描 Watchfire AppScan 是一款商业的 Web漏洞扫描程序,可以扫描许多常见的漏洞。 WebScarab 可以分析使用 HTTP 和 HTTPS协议进行通信的应用程序 Whisker 是使用 LibWhisker 的扫描程序,适合于 HTTP 测试 Wikto 可以检查 Web服务器中的漏洞,和 Nikto 比较接近。 常用的网络监控工具主要有 Nessus 、 Ethereal/

Wireshark 、 Snort 、 Switzerland 和 Netcat 。

Page 71: 软件测试 第 8 章  系统测试

[email protected]

本章内容8.1 什么是系统测试8.2 概念:负载测试、压力测试和性能测试8.3 负载测试技术8.4 性能测试8.5 压力测试8.6 性能测试工具8.7 兼容性测试8.8 安全性测试8.9 容错性测试8.10 可靠性测试

Page 72: 软件测试 第 8 章  系统测试

[email protected]

场景设置

功能层次的容错性测试,也称负面测试( negative test )、例外测试( exception test )。

系统层次的容错性测试,主要是灾难恢复性测试或故障转移测试。

容错性测试就是在各种异常条件下对系统的功能进行测试,以检验系统是否具有防护性的措施或者某种灾难性恢复的手段或能力。容错性测试可以分为两个层次:

Page 73: 软件测试 第 8 章  系统测试

[email protected]

负面测试

无效等价类的测试用例就是一种负面的测试 在一些异常的或恶劣的条件下进行操作 探索性测试

负面测试是从逆向思维出发,检查系统在异常条件下或用户的非法操作下系统是如何响应的,是否有异常行为或执行了不应该执行的动作

Page 74: 软件测试 第 8 章  系统测试

[email protected]

故障转移机制

Page 75: 软件测试 第 8 章  系统测试

[email protected]

故障转移测试故障转移测试就是验证故障转移机制能否正常实现,满足事先的设计要求。故障转移测试是在软件系统发生故障的情况下,检验系统的恢复能力,验证系统已保存的用户数据是否丢失、系统和数据是否能尽快恢复或在指定时间内恢复,包括验证重新初始化、检查点、数据恢复和重新启动 等机制的正确性 典型示例见表 8-6 所示

Page 76: 软件测试 第 8 章  系统测试

[email protected]

本章内容8.1 什么是系统测试8.2 概念:负载测试、压力测试和性能测试8.3 负载测试技术8.4 性能测试8.5 压力测试8.6 性能测试工具8.7 兼容性测试8.8 安全性测试8.9 容错性测试8.10 可靠性测试

Page 77: 软件测试 第 8 章  系统测试

[email protected]

可靠性测试

规定的时间 规定的运行环境条件 规定的功能

软件可靠性是软件系统在规定的时间内及规定的环境条件下,完成规定功能的能力 , 软件可靠性主要包含以下三个要素

可靠性的最常用的度量是平均无故障时间,例如通过压力测试,并借助软件失效模式、影响分析来获得有关可靠性数据

Page 78: 软件测试 第 8 章  系统测试

[email protected]

Q & A

http://blog.csdn.net/Kerryzhu