软件测试是一个过程,是哲学思想在软件工程中的运用,更是质量目标的扩展和延伸。软件测试构成了具有丰富内容的三维空间。

  1. 测试目标— 质量特性的验证

  1. 正确性测试 (Correctness testing) 或功能性测试:是基于产品功能规格说明书、从用户角度针对产品特定的功能和特性所进行的验证活动,以确认每个功能是否得到完整的实现,用户能否正常使用这些功能。功能测试一般要在完成集成测试后进行,而且是针对应用系统、在实际运行环境下而进行的测试。
  2. 性能测试(Performance testing):是测试在一定条件下系统行为表现,是否在设计的性能指标范围内。如测试网站在并发用户数为10、100、1000、10000等情况下,页面的响应时间是否在3秒或5秒内,响应时间最长是否不超过15秒或30秒。性能测试不同于负载测试(Stress/load testing),性能测试是在定义的各种条件下去衡量系统的有关性能指标,而负载测试只测试在一些极端条件下,系统还能否正常工作,或加载到系统崩溃而找出系统性能的瓶颈,所以也可以和性能测试结合起来做。
  3. 可靠性测试(Reliability testing):是评估软件在运行时的可靠性,即通过测试确认平均无故障时间(MTTF, Mean Time To Failure)或最初平均寿命,即故障发生前平均工作时间(MTTFF, Mean-Time -TO-First-Failure)。可靠性测试强调随机输入,并通过模拟系统实现,很难通过实际系统的运行来实现。可靠性测试,一般伴随着强壮性测试(Robustness/strong testing)。
  4. 安全性测试(Safety or Security testing):是测试系统在应付非授权的内部/外部访问、非法侵入或故意的损坏时的系统防护能力,以检验系统有能力使可能存在来自于内/外部的伤害或损害的风险限制在可接受的水平内。软件可靠性要求,通常包括了安全性的要求。但是软件的可靠性不能完全取代软件的安全性,因为安全性还涉及到数据加密、保密、存取权限等方面的要求。
  5. 容错性测试(Tolerance testing):是检查软件在异常条件下自身是否具有防护性的措施或者某种灾难性恢复的手段。如当系统出错时,能否在指定时间间隔内修正错误并重新启动。容错性测试看作由系统异常处理测试和恢复测试组成。
  6. 恢复测试 (Recovery testing),在系统崩溃、硬件故障、或者其他灾难发生之后,重新恢复系统和数据的能力测试,包括确定软件系统的平均修复时间(MTTR,Mean Time to Repair)。
  7. 兼容性测试 (Compatibility testing),测试在各种的硬件/软件/操作系统/网络环境下的软件表现,包括硬件接口、软件新旧版本兼容、已存在数据的兼容能力。

2. 测试方法 — 哲学的思考

测试的方法技术,经过多年的发展,已经相当成熟,方法比较多。如白盒测试方法 (White-box test) 、灰盒测试方法(Gray-box test)和黑盒测试方法(Black-box test),就是一种哲学思想在软件测试中的体现和延伸。从哲学观点看,分析问题和解决问题的方法有两种:白盒子方法和黑盒子方法。如果我们对被测的对象/世界(软件)认知很少,可以不用了解其内部结构,完全只关注其外部的变化,如外部的输入、外部作用或被测的对象所处的条件以及被测的对象输出的结果,就可以完成测试,这就是黑盒测试方法。随着对被测的对象的认知越来越多,就可以采用灰盒测试方法;当我们完全认知被测的对象时,就可以用白盒测试方法。也见:  测试方法的辩证统一 (1)和  第7回 软件测试方法的应用之道。

3. 测试阶段 - 生命周期的显现

随着软件开发的生命周期所包含的活动——进程的不断推进,测试与之对应,也划分了不同的测试阶段,包括单元测试、集成测试、系统测试和验收测试等,我们将在后面陆续讨论。

预知后事如何,请读下回分解: 第9回  验证和确认——缺一不可

版权所有,软件测试演义® ——系列讨论的目录,见: 软件测试演义——中高级系列(序)

第8回 测试的三维空间相关推荐

  1. mysql有闪回吗_mysql 闪回测试

    由于前面出现过几个需求,或者误操作,或者测试,需要我把某张表恢复到操作之前的一个状态,前面在生产中有过几次经历,实在太痛苦了,下面是一张表被误删除了,我的步骤是: 1  用全备恢复整个库(恢复到其他环 ...

  2. 第27回 测试结果分析和质量报告

    如同代码是程序员的成果之一,测试报告和质量报告是测试人员的主要成果之一.对于一个好的测试报告,是建立在正确的.足够的测试结果的基础之上,不仅要提供必要的测试结果的实际数据,同时要对结果进行分析,发现产 ...

  3. ant java 返回,在Java中直接操作ant回测试和生成测试报告

    在Java中直接操作ant来测试和生成测试报告 Ant是大家熟悉的构建工具,一般情况下,大家都是使用build.xml文件来配置使用Ant,这样的Ant已经是十分强大的.但有些怪异的场景需求特殊,你可 ...

  4. [转]软件测试演义——中高级系列(序)

    [转]软件测试演义--中高级系列(序) 2015-06-11 转自:软件测试演义--中高级系列(序) 目前,软件测试团队主要集中在大型外资企业,国内软件测试水平还处在发展阶段,人们对测试理解不够全面. ...

  5. 迟到的感谢——2006最有价值博客的候选人( 个人回顾)

    感谢 CSDN编辑的特别推荐,使我荣幸成为2006最有价值博客的候选人,也感谢朋友们的厚爱和支持,使我暂时领先,在此鞠一躬,向大家表示衷心的感谢! 我进入CSDN博客比较迟,时值2006年5月,也纯属 ...

  6. CornerNet:实现demo、可视化heatmap、测试各类别精度

    CornerNet:实现demo.可视化heatmap.测试各类别精度 文章目录 CornerNet:实现demo.可视化heatmap.测试各类别精度 前言 实现demo 方案一 方案二 可视化he ...

  7. ACL'21 | debug完的神经网络,如何测试是否仍然存在bug?

    文 | Sherry 回归测试 熟悉软件工程的小伙伴们一定知道回归测试:修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误. 它可以大幅降低系统测试.维护升级等阶段的成本. ...

  8. openGauss 2.1.0 闪回特性

    点击上方"蓝字" 关注我们,享更多干货! openGauss 2.1.0于2021年9月30日发布,是openGauss的一个Preview版本,该版本生命周期仅为半年.该版本的新 ...

  9. Unity手游iOS内存分析和测试

    内存是Unity手游的硬伤,如果没有做好内存的相关管理和详细的测试,游戏极有可能出现卡顿.闪退等影响用户体验的现象.在此,笔者为我们介绍了一些Unity手游内存分析和测试过程中比较实用的测试场景案例. ...

最新文章

  1. html5通html5通,HTML5 history详解
  2. List<Map<String, Object>>——多层嵌套的数据结构
  3. mysql导入数据库某张表_MSSQLServer2005 导出导入数据库中某张表的数据
  4. 工业交换机故障分析的原则
  5. Android笔记 意图传值demo
  6. 1201-统计数字问题
  7. 二-Java基础-作业-基础语法
  8. BootStrap学习(1)
  9. ipc.Client: Retrying connect to server: h1/192.168.1.61:9000. Already tried 0 time(s);解决方法
  10. C/c++ http请求
  11. mysql checking permissions 优化_mysql 查询优化 ~ 善用profie利器
  12. jQuery treeTable
  13. OutputFormat数据输出
  14. 微信小程序注册提示邮箱已被占用
  15. 特殊古典加密方法解密实践
  16. C语言实现人物动态移动效果
  17. 中英文排版规范化 API 接口
  18. 【指数编制系列一】指数分类、作用及基本编制流程
  19. TrueCrypt 6.2a原理及代码分析
  20. 深入理解c++函数调用的参数传递与局部变量申请

热门文章

  1. 25-Spring源码解析之AOP(4)——创建AOP代理(1)
  2. 用C++的类完成玩骰子的游戏
  3. 微商城怎么做?有详细介绍吗?
  4. 计算机主机名和全限定域名,什么是完全限定域名?
  5. USB-C转HDMI/VGA音视频数据转换解决方案大全|AG9300 AG9310 AG9320
  6. vue实现可拖拽移动悬浮球
  7. 第二章 一波未平 校园江湖
  8. 37. DDR2内存内部结构-6
  9. 【附源码】Java计算机毕业设计高考志愿智能推荐系统(程序+LW+部署)
  10. linux配置永久路由