【软件测试基础理论知识】1.软件的定义、软件生命周期、软件开发模型

本文探讨了软件的定义,包括程序、数据、文档和服务的组成。重点介绍了软件的生命周期,分为问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试和维护等阶段,并解释了各阶段的任务。同时,提到了软件开发模型,如预测型、迭代型、增量型和敏捷模型,以及常见的瀑布模型、原型模型、螺旋模型和增量模型等。
摘要由CSDN通过智能技术生成

本文参考《软件测试实用教程》–武剑洁、《软件工程》–李爱萍、《软件工程》(第四版)–张海藩

我们在学习软件测试之前,首先要搞清楚,软件是什么?软件的开发过程,软件的生存周期以及软件开发模型。

1.软件的定义

计算机由硬件系统和软件系统组成,而软件系统又分为系统软件和应用软件。这些软件和我们生活息息相关密不可分:从window操作系统,Linux操作系统、office办公软件、腾讯QQ、英雄联盟到洗衣机等家用电器中的内嵌软件,我们每天都在使用软件,那么软件是什么呢?

IEEE为软件下的定义是:计算机程序、方法、规则、相关的文档资料以及在计算机上运行程序时所必需的数据。

由此可见,软件不止包括在计算机上运行的程序,与这些程序相关的文档一般也被认为是软件一部分。简单的说软件就是程序+文档的集合体,详细一些软件又可以可以表示成:软件(software)=程序 + 数据 (库)+ 文档 +服务,其中,

  1. 程序 表示能够完成预定功能和性能的指令和集合,如python程序,Java程序等,可以理解成程序员为了让计算机完成一项任务所编写出的一系列指令;
  2. 数据(库)是依照某种数据模型组织起来并存储在计算机中的数据集合,这里是指代码程序的输入数据、输出数据、以及程序执行过程中的中间结果数据等;
  3. 文档 指软件在开发、使用和维护过程中产生的文字和图形的集合,是为了便于让使用者了解程序所需的阐明性资料。如《规格说明文档》、《设计文档》、《用户手册》;
  4. 服务 是通过提供必要的手段和方法,满足接受服务对象(用户)需求的过程,如安装指导、售后技术支持、云端技术服务等。

因此,软件测试不但包括针对可执行程序和源代码的测试,还应该包括对数据、文档和服务的测试,软件测试工作应该贯穿在整个软件的生命周期中,在不同的软件开发阶段使用不同的测试策略,应对不同的测试内容,具有各自的侧重点。

2.软件的分类

计算机软件发展非常迅速,其内容十分丰富,要给计算机软件做出科学的分类是比较困难的。传统意义上从计算机系统角度看,软件分为两大类:系统软件和应用软件。系统软件是指管理、控制和维护计算机及外设,以及提供计算机与用户界面等的软件,如操作系统、各种语言的编译系统、数据库管理系统及网络软件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值