实现和测试-第二节:软件测试基础

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现和测试-第二节:软件测试基础相关的知识,希望对你有一定的参考价值。

一:软件测试的目标(了解)

  • 测试是为了发现程序中的错误而执行程序的过程
  • 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案
  • 成功的测试是发现了至今为止尚未发现的错误的测试
  • 软件测试的根本目标是尽可能多地发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户使用

二:软件测试准则(了解)

  1. 所有测试都应该能追溯到用户需求
  2. 应该远在测试之前就制定测试计划
  3. Pareto原理:80%的错误是由20%的模块造成的
  4. 应该从小规模测试开始,并逐步进行大规模测试
  5. 穷举测试是不可能的,测试只能证明程序有错误,而不能证明程序没有错误
  6. 为了尽最大可能的发现错误,应该由独立的第三方担任测试工作

三:软件测试方法

(1)黑盒测试(功能测试)

把软件看成一个黑盒子,不考虑其内部结构和处理过程,只按照规格说明书的规定,测试软件是否能够正确接收输入数据,并产生正确的输出数据。也即测试程序是否正确实现了其功能

(2)白盒测试

把软件看作一个透明的盒子,完全知道程序内部结构和处理算法,根据程序内部的逻辑结构测试程序内部的主要执行通路是否能够按照预定的要求正确工作

四:软件测试步骤

(1)单元测试(模块测试)

单元测试是把每个模块作为一个单独的实体来测试,检验其正确性。目的在于保证每个模块作为一个单元能够正确运行

模块测试所发现的是编译和详细设计的错误

(2)子系统测试

子系统测试是把经过单元测试的模块放在一起形成一个子系统来测试。模块相互间协调和通信是此测试的主要问题,也即子系统测试着重测试模块的接口

(3)系统测试

系统测试是把经过测试的子系统装配成一个完整的系统来测试。在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确实能够提供需求说明书中指定的功能,而且系统动态特性也符合预定要求

系统测试发现的往往是软件设计中的错误,也可能发现需求说明书中的错误


子系统测试和系统测试总称为为集成测试

(4)验收测试(确认测试)

验收测试是把软件系统作为单一的实体进行测试,它是在用户积极参与下进行的,而且主要使用实际数据进行测试,验收测试的目的是验证系统确实能够满足用户的需要

验收测试发现的是系统需求说明书中的错误

(5)平行运行

平行运行就是同时运行新开发出来的系统和将被它取代的旧系统,以便比较新旧两个系统的处理结果

以上是关于实现和测试-第二节:软件测试基础的主要内容,如果未能解决你的问题,请参考以下文章

Android测试第二节Monkey工具

进阶 第二课:函数(第二节)

第二节:SpingBoot单元测试

第二节 Mapper代理开发模式

线性表-第二节3:JavaC++Python实现顺序表

第二节课:功能测试需求分析方法