软件测试项目式学习一(认识软件生命周期与开发模型及软件质量)

简介: 软件测试项目式学习一(认识软件生命周期与开发模型及软件质量)

前言

本文分为以下内容:

1、软件的基本概念

2、软件的生命周期

3、软件的开发模型

4、软件的质量


一、软件的基本概念

什么是软件呢?   

软件一般指的是计算机软件,即计算机程序中的程序及其文档。

1、程序是指为了得到某种结果使计算机或具有信息处理能力的装置执行的代码化指令,可被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列,亦称为程序。

2、文档则是用来描述程序的需求、设计、组成、功能、开发、测试等内容的使用方法的文字资料和图表。

软件一般分为两大类:系统软件、应用软件

1、系统软件是指负责管理和控制计算机硬件及应用程序,包括操作系统、设备驱动程序、数据库管理系统等。如下图所示:

2、应用软件是指为了满足实际生活中的特定需求而开发的,种类繁多,功能各异的软件,比如:办公软件、图像音频处理软件、游戏软件、教育软件等。如下图所示:


二、软件的生命周期

什么是软件的生命周期?

1、软件和其他的产品一样,都有从“出生”到“死亡”的过程,这个过程便称为软件的生命周期。软件测试是软件生命周期中比较重要的一环。

2、软件生命周期分为三大阶段:定义阶段、开发阶段、运行(维护)阶段。其中又细分为以下六个阶段如图:


三、软件生存周期模型

什么是软件生存周期模型?

1、软件周期模型是描述软件开发过程中各种活动如何执行的模型。

2、常见模型有瀑布模型、演化模型、螺旋模型、喷泉模型。下面简单的介绍瀑布模型:

“瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

从本质来讲,它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,开发进程从一个阶段“流动”到下一个阶段,这也是瀑布开发名称的由来。

瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。”——百度百科

瀑布模型如下图所示:

四、软件的质量

什么是软件的质量呢?

软件产品与其他产品一样,都是有质量要求的,软件质量关系着软件使用程度与使用寿命,一款高质量的软件更受用户欢迎,它除了满足客户的显式需求之外,往往还满足了客户隐式需求。

软件质量的三个层次:

(1)满足需求规定:软件产品符合开发者明确定义的目标,并且能可靠运行。

(2)满足用户需求:软件产品的需求是由用户产生的,软件最终的目的就是满足用户需求,解决用户的实际问题。

(3)满足用户隐式需求:除了满足用户的显式需求,软件产品如果满足用户的隐式需求,即潜在的可能需要在将来开发的功能,将会极大地提升用户满意度,这就意味着软件质量更高。——黑马程序员《软件测试》。

软件质量模型

ISO/IEC 9126:1991标准:功能性,可靠性,可使用性,效率性,可维护性,可移植性。

6个特性与27个子特性,如下图所示:

总结

本文我们了解了什么是软件,软件的生命周期贯穿软件“诞生”到“凋谢”,软件的开发模型,以及ISO/IEC 9126:1991标准的软件质量。下一篇笔者讲着重介绍什么是软件缺陷与软件测试相关概念。

目录
相关文章
|
2天前
|
机器学习/深度学习 存储 数据可视化
谷歌的时间序列预测的基础模型TimesFM详解和对比测试
在本文中,我们将介绍模型架构、训练,并进行实际预测案例研究。将对TimesFM的预测能力进行分析,并将该模型与统计和机器学习模型进行对比。
12 2
|
6天前
|
测试技术 Python
单元测试是软件开发中测试的最小单位
单元测试是软件开发中测试的最小单位
|
1天前
|
数据库
基于PHP+MYSQL开发制作的趣味测试网站源码
基于PHP+MYSQL开发制作的趣味测试网站源码。可在后台提前设置好缘分, 自己手动在数据库里修改数据,数据库里有就会优先查询数据库的信息, 没设置的话第一次查询缘分都是非常好的 95-99,第二次查就比较差 , 所以如果要你女朋友查询你的名字觉得很好 那就得是她第一反应是查和你的缘分, 如果查的是别人,那不好意思,第二个可能是你。
12 3
|
9天前
|
监控 测试技术 持续交付
自动化测试在软件生命周期中的价值与挑战
本文通过深入分析自动化测试在软件开发过程中的应用,揭示其在提升效率、确保质量和减少成本方面的显著优势。同时,探讨了实施自动化测试时面临的技术复杂性、维护成本和技能缺乏等挑战,并提出了相应的解决方案。文章旨在为软件测试专业人士提供一个关于自动化测试实践的全面视角,帮助他们更好地规划和执行测试策略。
|
11天前
|
Java 测试技术 Maven
在Java项目中集成单元测试与覆盖率工具
在Java项目中集成单元测试与覆盖率工具
|
12天前
|
Java 测试技术 数据库
在Spring Boot项目中集成单元测试的策略
在Spring Boot项目中集成单元测试的策略
|
14天前
|
运维 监控 大数据
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
|
19天前
|
JSON JavaScript 测试技术
Postman接口测试工具详解
Postman接口测试工具详解
26 1
|
8天前
|
XML JSON 测试技术
Postman接口测试工具详解
📚 Postman全攻略:API测试神器!📚 发送HTTP请求,管理集合,写测试脚本,集成CI/CD。从安装配置到环境变量、断言、数据驱动测试,一步步教你如何高效测试RESTful API。实战案例包含GET、POST、PUT、DELETE请求。用Newman在命令行跑集合,自动化测试不发愁!👉 [洛秋小站](https://www.luoqiu.site/) 学更多!🚀
21 1
|
15天前
|
数据采集 测试技术
常见测试测量接口的比较:PXI、PXIe、PCI、VXI、GPIB、USB
常见测试测量接口的比较:PXI、PXIe、PCI、VXI、GPIB、USB
16 2