读者大大们好呀!!!☀️☀️☀️
🔥 欢迎来到我的博客
👀期待大大的关注哦❗️❗️❗️
🚀欢迎收看我的主页文章➡️寻至善的主页
文章目录
- 前言
- 软件生命周期
- 软件项目开发过程
- 软件项目组织架构
- 软件开发相关模型
- 软件测试过程
- 什么是软件测试
- 为什么做软件测试
- 软件测试过程
前言
题外话:哲学的三连问,很适合我们一开始的学习时的三连问,我是谁(什么是软件测试)?我从哪里来(为什么做软件测试 )?我要干什么(软件测试的过程)?
🔥本软件测试概论系列将分为三篇来带你系统的了解软件测试,分别是:第一篇:软件生命周期(包含软件测试基本概念)与软件测试过程;第二篇:软件测试用例与软件缺陷文档项目训练;第三篇:测试用例设计方法
本文为🚀软件测试概论第一篇,并解决上面所提的三连问,尽情期待下面的阅读吧!!!
软件生命周期
一个软件也和人一样,万事万物的运转都会有生命周期的概念:便是从诞生到灭亡的一系列过程。
软件项目开发过程
软件项目开发一般包括以下几个阶段:项目计划阶段➡️需求分析阶段➡️软件设计阶段➡️软件实施开发阶段➡️软件测试阶段➡️软件运维实施阶段➡️软件评价阶段(用户端)
可能大家开始会有一个疑问,为何没有可行性分析,其实这个可以放在项目计划书里,前言部分对项目的可行性进行分析。
每个阶段都有对应的输出文档分别是:
🚀软件项目计划(SPP:Software Project Plan)
✈️软件需求规格说明书(Software Requirement Specification)
🚌概要设计文档(HLD:HighLevel Design);详细设计文档(LLD:Low Level Design)
🚗 编码与创建数据表
⛵️测试计划、方案、用例、脚本、缺陷报告、总结报告
🚲 实施、运维手册
📖客户评价与反馈
软件项目组织架构
具体责任为:
⭐️项目经理⭐️确定软件项目工作范围;安排项目进度与分配项目工作任务;识别项目风险;估算成本工作量;制定项目标准。
⭐️产品经理⭐️获取需求(访谈、调查、会议、分析);分析需求(功能性、性能性、兼容性、稳定性等);编写需求分析文档。
⭐️系统架构师⭐️系统的架构设计(客服端/服务器端结构设计;系统与数据库服务结构设计;子系统结构设计;模块的接口结构设计)。
⭐️高级开发工程师⭐️系统详细设计(函数、数据库表)。
⭐️开发工程师⭐️根据项目计划、需求、各种设计文档完成开发工作。
⭐️测试工程师⭐️根据计划、需求、设计文档、代码完成各个阶段的测试工作
⭐️运维工程师⭐️给客户进行软件安装、部署、问题解决。
软件开发相关模型
软件开发过程中,需要根据具体情况来运用开发模型。
🅰️顺序开发模型(瀑布模型)
比较晚看到开发成果;测试活动开展比较晚;存在风险;如果中间有需求变化影响范围比较大。适合需求非常稳定的项目,规模比较小简单的项目。
🅱️迭代增量开发模型
有些需求或者工作还不能完全确定下来,只先计划和去完成已经确定的工作,下一个工作的开始依赖于上一个工作的完成情况进行;
1️⃣增量式的螺旋模型(瀑布+原型)
2️⃣RUP基于迭代、面向对象的软件开发过程模型
软件测试过程
什么是软件测试
1️⃣狭义:代码之后检查;找软件代码中的bug;符合预期;考察软件的稳定性;用工具去测试;
2️⃣广义:测试是一个过程包括测试执行前的准备工作(计划、设计、用例)和执行工作;可以通过测试工作验证软件的实现符合需求,可以通过测试工作找出软件中的bug;软件测试要贯穿于整个软件生命周期,不仅仅是代码之后的检查工作;测试工作有静态测试也有动态测试;测试工作可以手工完成也可以通过工具自动化完成;软件测试要考察软件所有方面的表现(功能;性能;兼容;稳定;界面;易用等等)
3️⃣官方(IEEE):使用人工和自动的手段来运行或测试某个系统的过程,其目的在于检验软件是否满足规定的需求或是弄清预期结果与实际结果之间的差别;
为什么做软件测试
👉:证明
🔥20世纪60年代:软件规模非常小,能够100%证明软件没问题,表明软件能工作;
🔥🔥目前:软件规模非常大,无法做穷举测试,不能百分百证明软件没有问题,在项目的初期保证项目的可行性证明基本没有问题,客户验收时证明这个软件可以接受;
👉:检测
🔥 20世纪70年代:软件作坊的兴起,对软件有一定的认识,除了功能我们还要考虑其他表现,比如性能、兼容、界面、异常数据的测试;发现错误
🔥🔥目前:项目中后期通过各种测试,各种合法数据、非法数据找出软件中的各种问题,检查软件的性能表现、兼容性、界面美观性、稳定性;
👉:预防
🔥20世纪90年代;软件的问题是源于多种原因,全面管理质量,人人有责;
🔥🔥目前:软件测试要贯穿于整个软件生命周期;对测试工作的数据进行一系列统计分析,对缺陷进行分析找缺陷的原因
软件测试过程
软件测试是软件开发生命周期中至关重要的一个环节,旨在评估软件系统的质量、发现潜在问题并提高软件系统的可靠性。软件测试通常包括以下几个关键过程:
- 测试计划
制定测试计划,确定测试的范围、目标、资源、进度和策略。确定测试环境和测试工具。 - 测试设计
根据需求和设计文档编写测试用例。确定测试数据、测试场景和测试过程。 - 测试执行
执行测试用例,模拟不同情况下的操作和输入数据。记录测试结果,收集日志和错误报告。 - 缺陷管理
发现问题后,记录缺陷信息,包括问题描述、严重程度、重现步骤等。跟踪和管理缺陷的修复过程,直至问题得到解决。 - 回归测试
对软件进行修改或更新后,执行回归测试,确保修改不会导致其他问题或原有功能受损。 - 性能测试
评估软件在不同负载条件下的性能表现,包括性能、稳定性和可扩展性等方面。 - 安全测试
评估软件系统的安全性,发现潜在的安全风险和漏洞。 - 用户验收测试
邀请最终用户参与测试,以确认软件是否符合用户需求和期望。 - 测试报告
撰写测试报告,总结测试结果、问题和建议,并提出改进建议。
✈️✈️✈️如果喜欢这篇文章的话
🙏大大们可以动动发财的小手:👉👉👉 点赞:👍收藏:⭐️评论:✍️👈👈👈