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

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

前言

本文分为以下内容:

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天前
|
测试技术 Python
单元测试是软件开发中测试的最小单位
单元测试是软件开发中测试的最小单位
24 14
|
5天前
|
监控 测试技术 持续交付
自动化测试在软件生命周期中的价值与挑战
本文通过深入分析自动化测试在软件开发过程中的应用,揭示其在提升效率、确保质量和减少成本方面的显著优势。同时,探讨了实施自动化测试时面临的技术复杂性、维护成本和技能缺乏等挑战,并提出了相应的解决方案。文章旨在为软件测试专业人士提供一个关于自动化测试实践的全面视角,帮助他们更好地规划和执行测试策略。
|
6天前
|
Java 测试技术 Maven
在Java项目中集成单元测试与覆盖率工具
在Java项目中集成单元测试与覆盖率工具
|
7天前
|
Java 测试技术 数据库
在Spring Boot项目中集成单元测试的策略
在Spring Boot项目中集成单元测试的策略
|
10天前
|
运维 监控 大数据
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
|
11天前
|
测试技术 程序员 持续交付
软件测试中的敏捷实践:提升效率与质量的双重策略
在软件开发领域,敏捷实践已被证明是提高项目适应性、效率和产品质量的关键因素。本文深入探讨了敏捷方法在软件测试中的应用,并分析了其对测试流程的积极影响。通过引用最新的行业研究数据和案例分析,文章揭示了敏捷测试如何促进团队协作、缩短反馈循环、优化资源分配,并最终提升软件产品的整体质量。结合逻辑严密的分析框架和科学的数据支持,本研究旨在为软件测试专业人士提供一套实证基础的实践指南。
|
12天前
|
jenkins 数据管理 测试技术
在LabVIEW开发生命周期中提高代码质量的自动化测试方法
在LabVIEW开发生命周期中提高代码质量的自动化测试方法
10 0
|
14天前
|
JSON JavaScript 测试技术
Postman接口测试工具详解
Postman接口测试工具详解
25 1
|
3天前
|
XML JSON 测试技术
Postman接口测试工具详解
📚 Postman全攻略:API测试神器!📚 发送HTTP请求,管理集合,写测试脚本,集成CI/CD。从安装配置到环境变量、断言、数据驱动测试,一步步教你如何高效测试RESTful API。实战案例包含GET、POST、PUT、DELETE请求。用Newman在命令行跑集合,自动化测试不发愁!👉 [洛秋小站](https://www.luoqiu.site/) 学更多!🚀
13 1