概述
一、 系统测试概念
系统测试
- 软件或硬件的系统测试是在一个完整的、集成的系统上进行的测试,以评估系统是否符合其规定的要求。
- 系统测试属于黑盒测试的范围,因此不需要了解代码或逻辑的内部设计。
- 系统测试是一种限制性更强的测试; 它试图检测“相互组合”内和整个系统内的缺陷。
- 系统测试是在功能需求规范 (FRS) 和/或系统需求规范 (SRS) 的上下文中对整个系统执行的。
为什么需要系统测试
- 某些属性只能在系统级别验证
安装、可用性、兼容性和可维护性等 - 我们可能会涉及这个级别的用户
用例可能不会映射到任何特定的集成单元 - 考虑系统环境
系统测试过程
二、系统测试方法
安全性测试:安全测试检查系统对非法侵入的防范能力。安全测试期间,测试人
员假扮非法入侵者,采用各种办法试图突破防线。
可扩展性测试:验证代码设计是否良好允许更多的功能在必要时可以被插入到适
当的位置中
理智测试:软件主要功能成分的简单测试以保证它是否能进行基本的测试。
冒烟测试:对软件的主要功能进行快餐式测试,最早来自于硬件测试实践,以确
定新的硬件在第一次使用时不会着火。用于确认代码中的更改会按预期运行,且
不会破坏整个版本的稳定性。
探索测试:一边测试一边探索,是一个交互式的过程,在某种意义上讲是一个自
由形式的测试过程
随机测试:测试人员通过随机的尝试系统的功能,试图是系统中断。
回归测试:发生修改后重新测试先前的测试以保证修改的正确性
可靠性测试:对系统在规定条件下在指定时间内执行期需要功能的能力进行的测
试
可安装性测试:安装程序是否正确的测试
可维护性测试:测试系统是否满足可维护性指标,缺陷纠正、性能改进、特性增
加引起的
可访问性测试:可用性(Usability)、**可访问性(Accessibility)**和可维护性
(Maintainability)。探求人们怎样才能轻松利用网站以及反馈那些可以改进设计
和实施的信息。
1.GUI software testing(图形用户界面测试)
- GUI 测试是测试使用图形用户界面的产品的过程,以确保它符合其书面规范。
- GUI测试包括两部分:一是界面设计与界面实现的验证吻合(吻合),二是确认界面处理的正确性。
- GUI软件测试的难点
- 可能的界面空间巨大
- 事件驱动特性
- GUI 测试覆盖不同于传统的结构化覆盖,没有合适的自动化工具。
- 糟糕的设计使得界面和功能混杂在一起,界面的修改会导致更多的错误,同时也会增加测试难度和工作量。
- 极富主观性的界面美学
- 为了进行更好的GUI测试,提倡界面与功能分离的设计。
- 设计测试用例时分三步
(1)界面元素的划分,根据界面的复杂程度确定界面层次。
(2)在不同的接口层次中标识不同的测试策略。
(3)测试数据分析,提取测试用例。
2.Usability testing
- 是一种用于通过对用户进行测试来评估产品的技术。
- 专注于衡量人造产品满足其预期用途的能力。
3.Performance testing
- 性能测试用于确定计算机、网络、软件程序或设备的速度或有效性。
- 可能涉及在实验室中进行的定量测试 还可以评估定性属性,例如可靠性、可扩展性和互操作性。
- 性能测试通常与压力测试一起进行。
- 性能测试的目标是消除瓶颈并提高系统可靠性。
4.Compatibility testing(兼容性测试)
兼容性测试是软件非功能性测试的一部分,在应用程序上进行以评估应用程序与计算环境的兼容性。
计算环境可能包含以下部分或全部要素:
硬件平台计算能力(IBM 360、HP 9000等)。
网络硬件的带宽处理能力
外围设备的兼容性(打印机、DVD 驱动器等)
操作系统(MVS、UNIX、Windows 等)
数据库(Oracle、Sybase、DB2 等)
其他系统软件(Web 服务器、网络/消息传递工具等)
浏览器兼容性(Firefox、Netscape、Internet Explorer、Safari 等)
运营商兼容性(Verizon、Sprint、Orange、O2、AirTel 等)
向后兼容性。 (向后)
不同的编译器(正确编译代码)
在多个主机/访客模拟器上运行
5.Load testing
- 是对系统或设备提出需求并测量其响应的过程。
- 与多用户系统最相关,通常是使用客户端/服务器模型构建的系统,例如 Web 服务器。
- 当施加在系统上的负载超出正常使用模式时,为了测试系统在异常高或峰值负载下的响应,它被称为压力测试。
6.Volume testing
- 批量测试是指使用一定数量的数据测试软件应用程序。
- 量测是面向数据的,其目的是展示系统能够处理的数据量确认目标。
- 这个金额可以
是数据库大小
是接口文件的大小 - 方法和步骤:
(1) 分析外部数据和分类系统,
(2) 对每种类型的数据源分析量的限制,
(3) 为每种类型的数据源准备大量数据并测试系统,
(4) 分析测试结果,与预期比较确定当前系统容量瓶颈,
(5) 优化系统,重复上述步骤,直到系统达到预期的批量处理能力。
7.Stress testing
- 指的是更强调稳健性、可用性和重负载下的错误处理的测试,而不是在正常情况下被认为是正确的行为。
- 旨在使系统发生故障。
- 压力测试的目标是提高可恢复性。
- 此类测试方式需要执行系统下的异常数量、频率或资源。
- 压力测试属于边界测试。
- 其中之一称为灵敏度测试技术。
- 研究系统在短时间内响应高峰活动。
8.Security testing
9.Scalability testing
10.Sanity testing11.Smoke testing
12.Exploratory testing
13.Ad hoc testing
14.Regression testing
15.Reliability testing
16.Recovery testing
- 恢复测试是测试应用程序从崩溃、硬件故障和其他类似问题中恢复的能力的活动。
- 在某些情况下,系统必须是容忍的,运行过程出错不能使整个系统功能停止。
- 在其他情况下,一个系统的错误必须在一定期限内予以纠正,否则会产生严重的经济损失。
- 恢复测试利用各种人工干预手段使软件出错,验证系统恢复能力。
- 如果系统本身可以自动回复,检查恢复和重启是正确的。
- 如果此恢复需要人工干预,则应考虑是否在有限范围内平均修复时间。
17.Installation testing
18.Maintenance testing
19.Accessibility testing
三、系统测试流程
- 系统测试评估整个应用程序的功能和性能。
- 与单元测试和集成测试类似,系统测试也需要遵循一定的过程。
- 戴明循环
- Shewhart提出
- Deming介绍到日本
- 应用于软件质量——PDCA过程
- Plan:
人们定义目标,并确保实现这些目标需要条件和方法。 - Do:
按计划做事 - Check:
通过考试到
确定它是否被调度 - Act:
如果没有预定,或者不符合预期,选择合适的行动进行纠正
最后
以上就是开心奇迹为你收集整理的8.系统测试一、 系统测试概念二、系统测试方法三、系统测试流程的全部内容,希望文章能够帮你解决8.系统测试一、 系统测试概念二、系统测试方法三、系统测试流程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复