Web项目测试流程

Web项目测试流程

测试流程

标准测试流程

各阶段交付内容:

阶段 交付物
计划 测试计划、测试方案
控制 每个阶段的测试进度
分析 测试需求分析文档
设计 测试用例
实施 测试环境
执行 测试用例执行结果、缺陷报告
结束活动 测试总结报告

评审

可以理解为评价、审查,一种静态测试技术。测试的交付物,用户需求、UI设计、开发设计等文档都要经过评审才能正式使用。

评审是为了检查文档的完整性和准确性,找到其中的缺陷。

评审的形式:

交叉评审(非正式)、走查、技术评审

环境搭建

系统开发完成后,下一步就是熟悉系统并进行相关测试环境的搭建。

Windows平台部署

1.数据库服务器部署

安装并启动MySQL(安装版MySQL、集成环境MySQL),导入脚本

2.后端服务器部署

环境和密钥,部署并启动后端

3.前端服务器部署

安装并启动Nginx,部署前端

4.设置局域网访问

编写测试计划

编写测试计划的目的在于对资源、成本及进度进行越来越合理的估算。

测试计划是一项持续的活动,贯穿整个产品的生存周期。

测试计划一般由测试主管制定,测试组员参与测试计划的制定及评审活动。

测试计划模板内容:

  1. 确定测试的范围、目标和风险
  2. 定义整体测试方法
  3. 将测试活动集成并协调到软件生命周期活动中
  4. 确定要测试的内容,开展各种测试活动所需要的人员和其他资源,以及如何开展测试活动
  5. 安排测试分析、设计、实施、执行和评估活动的进度表,例如,在顺序开发过程中安排或在每次迭代开发中安排
  6. 选择测试监督和控制的度量
  7. 为测试活动编制预算
  8. 确定测试文档的详细程度和结构(提供模板或示例文档)

注意事项:

1.实际工作中,常常把需求分析放在测试计划之前做,这是因为不清楚需求规模无法确定用例数量、缺陷大概规模

2.注意各组员对于项目的结构、时间、进度等各项的一致性,不要计划内容相互冲突、矛盾

3.注意计划贴合实际,比如实际测试周期为7天。

任务要求

如果是一个测试小组,则组长分配给每个组员任务,完成后由组长检查、合并;如果是单人,最后提交一个测试计划文档。

测试需求分析

目的是确定测什么。

测试需求分析的测试点是编写测试用例的依据,测试需求分析有助于保证测试质量与进度。

测试需求分析是避免漏测的最有效手段之一。

分析测试需求大致有如下三个环节(分析过程):

测试需求分析经过如下3个环节:

测试要点分析

测试要点是对每一条开发需求的细化和分解,形成可测试的分步骤描述。

通过分析开发需求描述中的输入、输出、处理、限制、约束等,给出对应的验证内容。

注意:

1.需求的完整性

1.经过分解获得的需求必须能够充分覆盖软件的各个特征

2.每个需求必须可以独立完成有意义的功能,可以进行单独测试

2.需求的规模

1.每个最低层次的需求的测试用例的颗粒度应保持均匀

功能交互分析

测试要点分析是细化和分解,功能交互分析是将细化和分解的测试点交换起来,主要使用流程分析法分析业务流程,对测试点进行补充。

做的比较熟悉之后,测试要点分析和功能交互分析可以合并为一步做。

质量特性分析

根据ISO25010质量模型,分析每一个测试点的质量特性。

软件产品质量

外部质量:功能性、性能效率、兼容性、易用性、可靠性、安全性

内部质量:可维护性、可移植性

注意:

一个测试点可能会有多个质量特性

测试类型分析

根据每一个测试点的质量特性,划分测试类型

常见测试类型有:

功能测试、性能测试(压力测试、负载测试、容量测试)、安全性测试、兼容性测试(配置测试、安装测试)、可靠性测试(稳定性测试)、易用性测试(UI测试)。

熟练之后,质量特性分析和测试类型分析可以合并为一步做。

注意

需求分析是一个动态的过程,随着需求的不断变更,以及测试执行之后的总结反馈,需求分析文档也需要不断的维护、变更。

需求评审

设计测试用例

将上一阶段测试需求分析的测试点编写成测试用例

测试需求分析回答了"测什么"的问题,测试设计回答了"如何测"的问题

设计测试用例包括以下主要活动:

1.设计测试用例和测试用例集,并确定其优先级

2.准备所需的测试数据以支持测试用例

3.设计测试环境

主要采用黑盒测试技术:

1.等价类划分法

2.边界值分析法

3.场景设计法

注意

1.用例不是越多越好,在尽量覆盖需求的前提下,用例的数目越少越好

2.一般一条测试用例包含多个步骤,如果大量用例都只有1-2个步骤,用例的质量一般不高

3.相似测试点的用例要合并,一些不能明确观察测试结果的用例要删除

4.不要一个UI元素写一个用例,例如,一页有多个输入框,编写一个测试用例即可。

实施与执行

实施与执行阶段主要是搭建测试环境、识别测试条件、准备测试数据,执行测试

这个阶段的主要输出是:测试用例执行结果、缺陷报告

测试实施主要包括:

1.确定测试规程,创建自动化测试脚本

2.根据测试规程和自动化测试脚本来创建测试套件

3.在测试执行进度表中,以有利于测试执行的方式安排测试套件

4.构建测试环境,包括测试工具、服务虚拟化等,并验证一切所需都已正确设置

5.准备测试数据并能够在测试环境中正确加载

6.确认并更新测试需求、测试条件、测试用例、测试规程和测试套件之间的双向可追溯性

测试执行主要包括:

1.记录测试项、测试工具及测试的ID和版本

2.手工或者使用测试执行工具进行测试

3.将实际结果与预期结果进行比较

4.分析异常现象来确定他们可能发生的原因

5.根据实际观察到的失效报告缺陷

6.记录测试执行的结果(通过、失败、阻塞)

7.对异常修复完的结果要进行确认测试、回归测试

8.确认并更新测试需求、测试条件、测试用例、测试规程和测试套件之间的双向可追溯性

用例执行结果:

1.通过

2.失败:测试结果与预期结果不符

3.阻塞:某功能欠缺或者测试环境的某个部分欠缺,导致当前测试不能进行

4.忽略

注意

1.一个测试用例由多个测试步骤组成,只要有一个步骤失败,用例失败,只要有1个步骤阻塞,用例失败

2.在执行过程中如果对用例有疑问,一定要联系用例作者

3.不要空跑用例,没有在软件上执行相应操作就直接打结果,这违反测试工程师的职位道德,一经发现直接开除。

4.自己的测试用例全部执行完毕,还可与其他组之间交叉执行

缺陷报告

从某种意义来说,缺陷报告是软件测试工作中最重要的输出。

缺陷报告的编写要注意

1.误报缺陷会耽误整个团队的大量时间,报bug一定要谨慎

2.发现缺陷的第一反应不是编写缺陷报告,而是反复重现,找到出现缺陷的规律、重现概率和步骤

3.留存缺陷的证据,截图、录像、日志文件等。

3.缺陷的严重程度一定要实事求是

4.每个组员的缺陷应该指派给组长评审

测试结束

测试结束活动出现在项目里程碑,例如测试项目完成时,系统发布时,维护版本完成时

测试结束主要包括:

1.检查是否所有缺陷已关闭

2.创建测试总结报告

3.归档测试环境、测试数据、测试基础设施及其他相关测试件

4.通过收集的信息来改进测试过程的成熟度

主要输出是:测试总结报告。

核心在于统计用例的执行情况和缺陷的状态分布数据

注意

1.好的测试报告在于多用图表表示数据

2.根据项目质量情况可以更进一步给出一些测试建议,例如,建议重点测试哪些模块,增加哪些测试类型

相关推荐
IDRSolutions_CN1 天前
什么是线性化PDF?
经验分享·pdf·软件工程·团队开发
我是大佬的大佬3 天前
有关Android Studio的安装与配置并实现helloworld(有jdk的安装与配置)(保姆级教程)
android·android studio·软件工程
计软考研大C哥4 天前
【25考研】中科院软件考研复试难度分析!
考研·软件工程
shinelord明6 天前
【大数据】数据治理浅析
大数据·人工智能·软件工程
reddishz7 天前
软件需求工程中的风险管理
软件工程·产品经理·需求分析·软件需求
Canliture7 天前
ICSE‘25 LLM Assistance for Memory Safety
重构·大模型·静态分析·软件工程·缺陷检测·内存安全·读论文
Sakura祈8 天前
需求分析的
软件工程
shinelord明8 天前
【再谈设计模式】职责链模式 - 串联请求处理者的链条
开发语言·数据结构·设计模式·软件工程
鸭鸭鸭进京赶烤10 天前
计算机工程:解锁未来科技之门!
人工智能·科技·opencv·ai·机器人·硬件工程·软件工程
艾思科蓝 AiScholar10 天前
【连续多届EI稳定收录&出版级别高&高录用快检索】第五届机械设计与仿真国际学术会议(MDS 2025)
人工智能·数学建模·自然语言处理·系统架构·机器人·软件工程·拓扑学