软件测试技术(一)软件测试概述

2,190 阅读4分钟

为什么要学软件测试?

软件测试是产品质量的保证,是控制成本的关键,是软件可靠性确认。

软件

软件是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。

软件的组成

软件 = 文档 + 程序集合

程序

程序是软件的一部分,而软件是程序以及开发、使用和维护所需要的所有档案的总称。

文档

文档用来描述程序功能需求以及程序如何操作和使用

软件项目文档有:

  • 客户需求 - Customer Requirements
  • 市场需求文档 - MRD (Marketing Requirement Document)
  • 软件规格说明书 - Specifications
  • 技术设计文档 – Technical Design Docs
  • 测试文档 Test Documents
  • 测试报告 Test Reports
  • 产品发布注释 - Release Notes / Read Me
  • 产品软件包 - Release packages

软件的发展史

  • 第一阶段:程序设计阶段,软件产品为专用软件,规模较小,功能单一,开发者即使用者,软件只有程序,无文档。软件设计在人们的头脑中完成,形成了“软件等于程序”的错误观念 。(从20世纪50年代初期至60年代中期)
  • 第二阶段:程序系统阶段,多道程序设计技术、多用户系统、人机交互式技术、实时系统和第一代数据库管理系统的出现,出现了专门从事软件开发的“软件作坊”,软件广泛应用,但软件技术和管理水平相对落后,导致 “软件危机”出现(20世纪60年代中期至70年代末期)
  • 第三阶段:软件工程阶段,以软件的产品化、系列化、工程化和标准化为特征的软件产业发展起来,软件开发有了可以遵循的软件工程化的设计准则、方法和标准(20世纪70年代中期至80年代中期)
  • 第四阶段:面向对象阶段(20世纪80年代中期至今)

软件缺陷

软件缺陷:从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。

软件测试的目的就是及早发现软件缺陷并确保这些软件缺陷被修复。

软件缺陷的判断

  • 软件未达到软件规格说明书中规定的功能
  • 软件出现了产品说明书中指明不会出现的错误;
  • 软件功能超出了产品说明书中指明的范围
  • 软件测试人员认为软件难于理解,不易使用,运行速度慢,或者最终用户认为软件使用效果不好

产生软件缺陷的原因

  • 软件开发过程自身的特点(软件的逻辑性和需求)
  • 软件项目管理的问题
  • 团队工作的问题

软件缺陷分析

缺陷分析,常用的主要缺陷参数有四个,分别是状态、优先级、严重性、起源。

状态

状态:缺陷的当前状态(打开的、正在修复或关闭的等)。

优先级

优先级:必须处理和解决缺陷的相对重要性。

严重性

严重性:缺陷的相关影响。对最终用户、组织或第三方的影响等等。

起源

起源:导致缺陷的起源故障及其位置,或排除该缺陷需要修复的构件。

其他

缺陷报告

缺陷报告: 缺陷分布(密度)报告显示缺陷在不同模块,业务单元中的分布情况。 缺陷龄期报告是一种特殊类型的缺陷分布报告。 缺陷龄期报告显示缺陷处于特定状态下的时间长短,如“提出的”。在龄期类别中,缺陷还可以按其他属性分类,如“拥有者”。 缺陷趋势报告按状态(新的、已打开的或关闭的)将缺陷计数作为时间的函数显示。趋势报告可以是累计的,也可以是非累计的。

参考

软件、程序、算法之间的 关系与区别