软件测试项目实战具体操作流程

2024-01-26 17:20

本文主要是介绍软件测试项目实战具体操作流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、测试需求分析阶段

测试需求分析阶段主要工作是获得测试项目的测试需求(测试规格)。
输出产物:《可测试性需求说明书》和《测试规格》

在实际过程中针对软件的安全性测评项目,甲方通常会提供安全功能测试需求,这就需要我们通过需求分析把甲方的安全测试需求对应到软件的信息安全性的六大子特性中。通常情况软件的安全功能应该是和我们的软件产品质量的信息安全性是对应的,但是在实际检测过程中,由于软件的差异性和各自的功能需求特性,软件产品可能无法包含所有的安全子特性的所有要求,就需要我们给甲方指出缺失项,并和甲方客户确认协商。

测试计划文档目录如下:

  1. 一、概述

  2. 1.1 需求分析目的

  3. 1.2 需求分析的依据

  4. 1.3 需求分析的方法

  5. 二、软件产品说明

  6. 2.1 项目背景

  7. 2.2 项目需求说明

  8. 2.3 项目整体设计说明

  9. 三、测试需求分析

  10. 3.1 原始需求

  11. 3.2 产品测试需求列表

  12. 3.2.1 功能测试需求

  13. 3.2.2 安全测试需求

  14. 3.2.3 性能测试需求

  15. 3.2.4 压力测试需求

  16. 3.3 测试类型确定

  17. 3.4 测试环境要求

  18. 3.4.1 硬件要求

  19. 3.4.2 软件要求

  20. 四、测试规格评估

  21. 4.1 测试类型评估

  22. 4.2 测试用例密度

  23. 4.3 需求覆盖率

二、测试计划阶段

以测试需求为基础,分析产品的总体测试策略。
输出产物:《产品总体测试计划》

当对需求有完整和全面的理解后,接下来我们需要制定详细的测试计划,为即将开始的测试工作做好充足的准备。

测试计划描述了要进行的测试活动的范围、方法、资源和进度的文档。它主要包括测试项、被测特性、测试任务、谁执行任务和风险控制等。

测试计划文档目录如下:

  1. 一、概述

  2. 1.1 项目说明

  3. 1.2 测试范围

  4. 二、测试目标

  5. 三、测试资源

  6. 3.1 软件资源

  7. 3.2 硬件资源

  8. 3.3 测试工具

  9. 3.4 人力资源

  10. 四、测试种类和测试标准

  11. 4.1 功能测试

  12. 4.2 性能测试

  13. 4.3 安全测试

  14. 4.4 易用性测试

  15. …………

  16. 五、测试要点

  17. 六、测试时间和进度

  18. 七、风险及对策

三、测试方案设计阶段

本阶段主要是以测试规格为基础获得特性测试方案,对于有自动化测试的项目,
进行自动化测试的分析,获得测试策略
输出产物:《产品或者版本总体测试方案》

测试方案是指描述需要测试的特性、测试的方法、测试环境的规划、测试工具的设计和选择、测试用例的设计方法、测试代码的设计方案。

测试方案文档目录如下:

  1. 一、引言

  2. 1.1 编写目的

  3. 1.2 项目背景

  4. 1.3 项目相关方

  5. 1.3.1 委托方与联系方式

  6. 1.3.2 承研单位与联系方式

  7. 1.3.3 测试机构与联系方式

  8. 1.4 测试目标及范围

  9. 1.5 引用文件

  10. 二、项目软件介绍

  11. 2.1 功能需求介绍

  12. 2.2 非功能需求介绍

  13. 2.2.1 性能效率需求

  14. 2.2.2 兼容性需求

  15. 2.2.3 易用性需求

  16. 2.2.4 可靠性需求

  17. 2.2.5 信息安全性需求

  18. 2.2.6 维护性需求

  19. 2.2.7可移植性需求测试需求

  20. 三、测试需求分析

  21. 3.1 测试总体要求

  22. 3.2 功能性测试

  23. 3.2.1 测试分析

  24. 3.2.2 测试内容

  25. 3.3 性能效率测试

  26. 3.3.1 测试分析

  27. 3.3.2 测试内容

  28. 3.4 兼容性测

  29. 3.4.1 测试分析

  30. 3.4.2 测试内容

  31. 3.5 易用性测试

  32. 3.5.1 测试分析

  33. 3.5.2 测试内容

  34. 3.6 可靠性测试

  35. 3.6.1 测试分析

  36. 3.6.2 测试内容

  37. 3.7 信息安全性测试

  38. 3.7.1 测试分析

  39. 3.7.2 测试内容

  40. 3.8 维护性测试

  41. 3.8.1 测试分析

  42. 3.8.2 测试内容

  43. 3.9 可移植性测试

  44. 3.9.1 测试分析

  45. 3.9.2 测试内容

  46. 3.10 用户文档集测试

  47. 3.10.1 测试分析

  48. 3.10.2 测试内容

  49. 3.11 静态分析

  50. 3.11.1 测试分析

  51. 3.11.2 测试内容

  52. 3.12 安全渗透测试

  53. 3.12.1 测试分析

  54. 3.12.2 测试内容

  55. 3.13 测试需求追踪

  56. 3.14 测试项标识说明

  57. 3.15 测试方法

  58. 3.15.1 功能测试

  59. 3.15.2 性能效率测试

  60. 3.15.3 兼容性测试

  61. 3.15.4 易用性测试

  62. 3.15.5 可靠性测试

  63. 3.15.6 信息安全性测

  64. 3.15.7 维护性测试

  65. 3.15.8 可移植性测

  66. 3.15.9 用户文档集测试

  67. 3.15.10 静态分析

  68. 3.15.11 内存检测

  69. 3.15.12 软件质量度量

  70. 3.15.13 安全渗透测试

  71. 3.16 测试充分性要求

  72. 3.17 测试终止要求

  73. 3.17.1 正常终止

  74. 3.17.2 异常中止

  75. 3.17.3 中止及重新启动

  76. 3.18 测试通过准则

  77. 四、测试环境

  78. 4.1 测试环境要求

  79. 4.2 静态测试环境

  80. 4.2.1 测试环境配置

  81. 4.3 功能测试环境

  82. 4.3.1 测试环境配置

  83. 4.3.2 环境差异影响分析

  84. 4.4 效率测试环境

  85. 4.4.1 测试环境配置

  86. 4.4.2 环境差异影响分析

  87. 4.5 测试工具配置

  88. 4.5.1 工具使用计划

  89. 4.5.2 测试工具介绍

  90. 五、项目团队架构及职责

  91. 5.1 团队组织架构

  92. 5.2 团队职责分工

  93. 六、测试计划进度

  94. 6.1 测试流程

  95. 6.2 进度计划

  96. 七、过程质量管理

  97. 7.1 配置管理

  98. 7.2 质量保证

  99. 7.2.1 质量目标和要求

  100. 7.2.2 质量保证任务

  101. 7.3跟踪与控制

  102. 八、测试交付成果

  103. 九、测试验收规范

  104. 十、风险分析应对

四、测试用例实现阶段

本阶段主要是完成各个特性的测试用例的编写和自动化脚本的编写。
输出产物:《产品自动化测试用例》和《手工执行测试用例》

用于描述测试用例的具体细节工作,测试用例一般根据测试计划及测试策略来编写

测试用例设计文档模板如下:

测试用例执行文档模板如下:

五、测试执行阶段

本阶段是根据测试策略开展测试执行和回归测试
输出产品:《产品或版本测试报告》和《缺陷分析报告》

《测试报告文档模板》如下:

  1. 一、测试基本信息

  2. 二、被测系统概述

  3. 三、测试资源

  4. 3.1 组织

  5. 3.2 测试环境及工具

  6. 3.2.1 测试环境一

  7. 3.2.2 测试环境二

  8. 四、测试规程

  9. 4.1 充分性评价

  10. 4.2 测试过程

  11. 五、测试结果

  12. 5.1 软件问题情况

  13. 5.2 测试执行结果

  14. 5.2.1 功能性测试

  15. 5.2.2 可靠性测试

  16. 5.2.3 易用性测试

  17. 5.2.4 效率测试

  18. 5.2.5 维护性测试

  19. 5.2.6 可移植性测试

  20. 5.2.7 用户文档测试

  21. 5.2.8 使用质量测试

  22. 5.2.9 产品说明测试

  23. 附录A 软件问题清单

  24. 附录B 效率测试结果

《缺陷分析报告模板》如下:

缺陷填写说明见附件一

六、评估与关闭阶段

只对前面的各个阶段的执行情况,完成对测试项目的关闭,同时提供完整的度量数据和项目总结报告
输出产物:《遗留问题风险分析报告》、《度量分析报告》和《测试关闭报告》

附件一:软件测试缺陷的定义级别、优先级及状态

1、缺陷的定义及主要类型

我们对软件缺陷分析一下,所谓"软件缺陷(bug)",即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。一般来说,软件缺陷的属性包括缺陷标识、缺陷类型、缺陷严重程度、缺陷优先级、缺陷来源、缺陷原因等。

进行软件缺陷分析后,软件缺陷的主要可以分为以下几种类型:

(1)设计不合理;

(2)功能、特性没有实现或部分实现;

(3)运行出错,包括运行中断、系统崩溃、界面混乱等;

(4)与需求不一致,在执行TestCase时则为实际结果和预期结果不一致;

(5)用户不能接受的其他问题,如存取时间过长、界面不美观;

(6)软件实现了需求未提到的功能。

(7)软件存在安全漏洞

2、缺陷的级别、优先级及状态
2.1 缺陷级别

软件缺陷有四种级别,分别为:致命的(Fatal),严重的(Critical),一般的(Major),微小的(Minor)。

A类—致命的软件缺陷(Fatal):造成系统或应用程序崩溃、死机、系统挂起,或造成数据丢失,主要功能完全丧失,导致本模块以及相关模块异常等问题。如代码错误,死循环,数据库发生死锁、与数据库连接错误或数据通讯错误,未考虑异常操作,功能错误等

B类—严重错误的软件缺陷(critical):系统的主要功能部分丧失、数据不能保存,系统的次要功能完全丧失。问题局限在本模块,导致模块功能失效或异常退出。如致命的错误声明,程序接口错误,数据库的表、业务规则、缺省值未加完整性等约束条件

C类—一般错误的软件缺陷(major):次要功能没有完全实现但不影响使用。如提示信息不太准确,或用户界面差,操作时间长,模块功能部分失效等,打印内容、格式错误,删除操作未给出提示,数据库表中有过多的空字段等

D类—较小错误的软件缺陷(Minor):使操作者不方便或遇到麻烦,但它不影响功能过的操作和执行,如错别字、界面不规范(字体大小不统一,文字排列不整齐,可输入区域和只读区域没有明显的区分标志),辅助说明描述不清楚

E类- 建议问题的软件缺陷(Enhancemental):由问题提出人对测试对象的改进意见或测试人员提出的建议、质疑。

2.2 缺陷优先级

常用的软件缺陷的优先级表示方法可分为:立即解决P1、高优先级P2、正常排队P3、低优先级P4。立即解决是指缺陷导致系统几乎不能使用或者测试不能继续,需立即修复;高优先级是指缺陷严重影响测试,需要优先考虑;正常排队是指缺陷需要正常排队等待修复;而低优先级是指缺陷可以在开发人员有时间的时候再被纠正。

2.3 缺陷状态

(1)激活状态(Active或Open)。

(2)已修正状态(Fixed或Resolved)。

(3)关闭或非激活状态(Close或Inactive)。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

  1. 文档获取方式:

  2. 加入我的软件测试交流群:1007119548免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

这篇关于软件测试项目实战具体操作流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/647511

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧