软件测试过程的持续改进

2023-10-26

随着国内软件测试行业的逐渐发展,有越来越多的软件企业更加重视软件测试,并已经形成了一套基本的软件测试流程。但是软件测试所起的作用还没有人们期望那样显著,因此,就需要继续加大投入对软件测试的关注程度,对软件测试过程进行持续的改进。

以下是本人在 工作 中的一些体会,介绍软件测试过程中需要注重和改进的几个环节,与大家分享。

1、计划与风险

项目计划对项目过程的实施有着直接的指导作用,它的重要性是不言而喻的。

我经历过一些成功的项目,给我感受最深刻的就是计划的充分性,以及根据项目过程中遇到的各种新情况,对计划的及时变更做出反应的能力;

我也经历过一些失败项目,由于项目计划的不合理或混乱无序,经常会带来严重的项目风险、以及开发成本,造成项目不断延期、产品质量无法保证。

对于软件测试来说,测试计划也是指导后续测试工作的基础,在测试的计划中,不仅需要明确测试的目的、测试的资源、测试的人员等等,更重要的是需要详细明确并估计出在整个测试活动的任务和风险,比如:
  测试需要做哪些工作?
  整个测试活动估计需要多少工作日?
  充分估计测试计划、测试设计、测试执行、测试分析评估这些阶段分别需要多少个工作日?
  估计的测试用例规模是多少?
  估计的测试进度时间又如何?
  在测试过程中,可能会遇到哪些方面的问题?
  可能存在的风险又有哪些?等等…

只有对过程中各任务的进行更详细的计划,才有利于在测试过程中对项目进度的把握有一个明确的目标;同时,风险策略的制定,也有利于对及早对测试过程中可能遇到的问题做出分析,以便在问题出现时能够尽可能的减少规避风险的成本。

2、评审

在测试过程中的每个阶段结束前,都会输出一些资源,文档、用例 等等…

这些资源往往是下一个测 试阶段或软件开发的下一个环节执行的依据,比如:测试报告,测试人员在完成测试并提交测试报告之后,测试报告里说明已经没有未解决的问题了,那么是不是就应该结束测试呢?

我们又如何来保证测试报告的准确性、充分性呢?这就需要组织参与项目的一些重要成员,项目经理、开发负责人、测试经理、QA等等对测试报告进行评审。评和审是结合在一起的,每个角色根据自己对项目的了解,从各自角度来审核测试报告的充分性,对质量风险发表各种见解。

最终,对报告的规范性也要进行考察。评审也有会议评审、在线评审等等好几种方式,可以根据实际项目情况,对不同的项目、不同的文档、资源采用不同的方式评审。

最后一点需要补充的是,对于测试发现的问题,一般是有争议的问题,需要有评审。

对于紧急的问题,一般采用在线方式由专家裁决;另外,也最好根据实际情况组织会议评审来对一定规模的问题统一评审。

3、文档

文档的编写对于测试人员来说是一个十分重要的任务,深入的、充分的投入测试的测试人员能写出高质量的测试文档。

所以,测试文档的质量,往往反映了测试人员执行测试的广度和深度。而在文档的编写方面,首先必须形成统一规范;另外,针对不同项目的测试,可以适当对文档标题、内容进行简化。总之,文档模板一旦形成,必须严格遵守。

在编写测试文档过程中需要注意的几个问题:文档中描述的测试数据必须准确;必须详细描述出测试的环境;测试报告中必须详细描述测试的充分性、测试质量评价;等等…这里不再一一列举。

4、方法与策略

测试方法和测试策略,测试的重中之重。

这也是我个人非常乐于思考的,方法和策略的意义在于如何用最有效的办法、花最少的成本、在有限的资源情况下尽可能以最高的质量的完成测试项目,并根据项目中遇到的突发情况,不断制定新的策略。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件测试过程的持续改进 的相关文章

  • Tastypie 与 application/x-www-form-urlencoded

    我有点难以弄清楚下一步应该做什么 我正在使用 tastypie 为我的 Web 应用程序创建 API 从另一个应用程序 特别是 ifbyphone com 我收到一个没有标题的 POST 如下所示 post data http myapp
  • 如何在 Python 中使用 .format() 打印“for”循环中的列表?

    我是 Python 新手 我正在编写一段非常简单的代码 使用 for 循环打印列表的内容 format 我想要如下的输出 但我收到此错误 names David Peter Michael John Bob for i in names p
  • 在 MacOSX10.6 上运行 python 服务器时 MySQLdb 错误

    运行我的服务器 python manage py runserver 产生以下错误 django core exceptions ImproperlyConfigured 加载 MySQLdb 模块时出错 没有名为 MySQLdb 的模块
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • 如何在 python 中使用 libSVM 计算精度、召回率和 F 分数

    我想计算precision recall and f score using libsvm在Python中 但我不知道如何 我已经发现这个网站 http www csie ntu edu tw cjlin libsvmtools eval
  • 插入多行并返回主键时 Sqlalchemy 的奇怪行为

    插入多行并返回主键时 我注意到一些奇怪的事情 如果我在 isert 查询中添加使用参数值 我会得到预期的行为 但是当将值传递给游标时 不会返回任何内容 这可能是一个错误还是我误解了什么 我的sqlachemy版本是0 9 4 下面如何重现错
  • 预处理 csv 文件以与 tflearn 一起使用

    我的问题是关于在将 csv 文件输入神经网络之前对其进行预处理 我想使用 python 3 中的 tflearn 为著名的 iris 数据集构建一个深度神经网络 数据集 http archive ics uci edu ml machine
  • Python3如何安装.ttf字体文件?

    我想使用 python3 更精确的 Python 3 6 代码在 Windows 10 上安装 ttf 字体文件 我用谷歌搜索 但我发现的唯一的就是这个使用python在windows上安装TTF字体 https stackoverflow
  • SQLAlchemy 默认日期时间

    这是我的声明模型 import datetime from sqlalchemy import Column Integer DateTime from sqlalchemy ext declarative import declarati
  • Tensorflow 到 ONNX 的转换

    我目前正在尝试转换我使用本教程创建的已保存 且正在工作 的 pb 文件 https github com thtrieu darkflow https github com thtrieu darkflow 到 onnx 文件中 我目前正在
  • 替换 pandas 数据框中的点

    我有一个如图所示的数据框 数字实际上是对象 正在做df treasury rate pd to numeric df treasury rate 可预见的炸弹 然而 做df replace np nan 似乎没有摆脱这个点 所以我很困惑 有
  • pip-tools 的干净设置不会编译非常基本的 pyproject.toml

    使用全新的pip tools设置总是会导致Backend subprocess exited error pyproject toml project dependencies openpyxl gt 3 0 9 lt 4 在仅包含上述 p
  • RuntimeError:模型类 django_messages.models.Message 未声明显式 app_label 并且不在 INSTALLED_APPS 中的应用程序中

    我正在尝试使用https github com arneb django messages https github com arneb django messages打包我的消息传递内容并尝试了以下操作 pip install git h
  • python 中的异步编程

    python 中有异步编程的通用概念吗 我可以为一个函数分配一个回调 执行它并立即返回主程序流 无论该函数的执行需要多长时间吗 您所描述的 主程序流程在另一个函数执行时立即恢复 不是通常所说的 异步 又名 事件驱动 编程 而是 多任务 又名
  • Python:如何使用生成器来避免 sql 内存问题

    我有以下方法来访问 mysql 数据库 并且查询在服务器中执行 我无权更改有关增加内存的任何内容 我对生成器很陌生 并开始阅读更多有关它的内容 并认为我可以将其转换为使用生成器 def getUNames self globalUserQu
  • 找到图像特征宽度的正确方法和Python包

    输入是一个在黑色背景上带有彩色 抱歉 垂直线的光谱 给定该带的近似 x 坐标 用 X 标记 我想找到该带的宽度 我对图像处理不熟悉 请引导我前往正确的方法图像处理和Python图像处理package也能起到同样的作用 我认为 PIL Ope
  • 磁盘寻道时间测量方法

    我编写了一个脚本来测量 HDD 上的寻道时间 并且其完成方式的微小变化会导致显着不同的时间 第一个周期在磁盘开头的区域内进行跳转 第二个周期选择磁盘上执行查找的随机区域 相同大小 这种方法显然不同 但我不明白为什么它会改变结果 请注意 对于
  • 为什么 Python exec 中的模块级变量无法访问?

    我正在尝试使用Pythonexec in a project https github com arjungmenon pypage执行嵌入的Python代码 我遇到的问题是在模块级 in an exec声明是难以接近的来自同一模块中定义的
  • “ModuleNotFoundError:我的 Docker 容器中没有名为 的模块”

    我正在尝试在 Docker 容器中运行 python 脚本 但我不知道为什么 python 找不到任何 python 模块 我认为它与 PYTHONPATH 环境变量有关 所以我尝试将其添加到 Dockerfile 中 如下所示 ENV P
  • 从 xgb.train() 获取概率

    我是 Python 和机器学习的新手 我在网上搜索了我的问题 并尝试了人们建议的解决方案 但仍然没有得到它 如果有人能帮助我 我将非常感激 我正在开发我的第一个 XGboost 模型 我已经使用 xgb XGBClassifier 调整了参

随机推荐

  • pyppeteer文档

    https miyakogi github io pyppeteer reference html
  • mysql8.0 tp5_tp5.sql · 雨絡丶縋憶/Tp5.1 后台 - Gitee.com

    Navicat MySQL Data Transfer Source Server localhost Source Server Version 50617 Source Host localhost 3306 Source Databa
  • #define定义标识符常量和宏

    全文目录 引言 define作用的阶段与特点 C语言程序的翻译与执行 翻译部分 编译 链接 执行部分 define定义标识符 define定义宏 宏的简介 宏的使用 宏与函数的对比 总结 引言 我们在初识C语言部分已经了解过 define可
  • 修改windows注册表使投影模式默认为复制

    可以通过以下步骤修改Windows注册表 使投影模式默认为复制 打开 运行 对话框 按下Win R 输入 regedit 并按Enter键打开注册表编辑器 在左侧面板中导航到以下路径 HKEY CURRENT USER Software M
  • Input 只能输入数字,数字和字母等的正则表达式

    经过个人实践的正则表达式 只能输入字母和数字和 onkeyup value value replace w ig 只能输入字母和数字和 onkeyup value value replace w ig JS只能输入数字 数字和字母等的正则表
  • 【计算机毕业设计】245个性化美食推荐系统

    一 系统截图 需要演示视频可以私聊 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术 让传统数据信息的管理升级为软件存储 归纳 集中处理数据信息的管理方式 本个性化美食推荐系统就是在这样的大环境下诞生 其可以帮助管理者在短时间内处理完
  • BIO,NIO,AIO的区别

    BIO NIO和AIO是Java网络编程的三种模型 BIO 同步并阻塞 服务实现模式为一个连接对应一个线程 即客户端发送一个连接 服务端要有一个线程来处理 如果连接多了 线程数量不够 就只能等待 即会发生阻塞 NIO 同步非阻塞 服务实现模
  • linux中,在变量的设置当中,单引号与双引号的用途有何不同?

    单引号与双引号的最大不同在于双引号仍然可以保存变量的内容 但单引号内仅能是一般字符 而不会游特殊符号 我们以下面的列子说明 假如我定义了一个变量 name zhangsan 现在想以name这个变量的内容定义输出myname显示 zhang
  • 端口说明大全

    20 Ftp Data 21 FTP Open Server 23 Telnet 25 Smtp 31 Master Paradise 80 53 DNS Bonk DoS Exploit 79 Finger 80 Http 110 Pop
  • NDK工程使用ncnn vulkan包提示需要frtti、fexceptions

    这两天弄一个工程 是在安卓端部署ncnn with vulkan的项目 一般来说都会用到 try catch 或者 有些库需要用到typeid 一般的方法是在build gradle里面加上 externalNativeBuild cmak
  • Generalized Product Quantization Network for Semi-supervised Hashing(用于半监督散列的广义乘积量化网络)

    Abstract 哈希学习由于其存储成本低和搜索速度快 在图像检索方面取得了巨大的成功 近年来 利用深度学习优势的哈希方法已成为人们关注的焦点 并取得了一些积极的成果 然而 除非昂贵的标签信息足够 否则这些方法不能达到预期 为了解决这个问题
  • SQL注入

    SQL注入 二次注入 1 二次注入介绍 update 表名 set 字段名修改的内容 where 限制条件 用户注册 用户使用浏览器向网站服务器发送注册请求 此时网站服务器与数据库服务器进行交互 而当用户登录时 忘记密码或想修改用户密码 执
  • Windows下ChatGLM2-6B本地化部署

    一 安装前准备 1 github上下载ChatGLM2 6B代码 github地址 https github com THUDM ChatGLM2 6B git ChatGLM2 6B GitHub地址 拉取代码 2 安装Anaconda
  • 应届生毕业就失业?这该怎么办

    每次到毕业季 总会有一个永恒的话题围绕在毕业生之中 毕业就失业 大学生刚刚步入社会 很大部分是不能清晰得知道自己要做什么的 这个阶段特别希望找到社会认同感 迫切希望能立足社会 很多人往往满怀激情 空有抱负 却在无尽的面试过程中 希望落空 发
  • Windows-检测盘符是否为U盘

    STORAGE PROPERTY QUERY结构体 typedef struct STORAGE PROPERTY QUERY STORAGE PROPERTY ID PropertyId STORAGE QUERY TYPE QueryT
  • 新手小白想做游戏搬砖,你会选择哪种模式

    大家好 我是蝶衣王的小编 游戏搬砖 相信很多人都听过 甚至还试过 但是却搭上时间还没赚到钱 今天跟各位分享一下搬砖项目的两种模式 如果你真的想玩游戏搬砖 可以想想哪种模式适合你 此项目只做分享 不带 第一种就是深度培育一个稳定的老游戏项目
  • matlab算原函数,matlab中原函数如何求解其中f(x)的导数为(22.05/x)的平方减1再开根号...

    答 y sqrt 22 05 x 2 1 syms x y y dsolve Dy sqrt 22 05 x 2 1 结果 y C5 t 400 x 2 194481 400 x 2 1 2 答 等式两边对x求导 得到 左边 d f f x
  • ubuntu安装docker与配置

    因为docker官方网站访问太慢 导致今天安装docker费了一番功夫 现在把流程记录一下 1 使用阿里云镜像安装 step 1 安装必要的一些系统工具 sudo apt get update sudo apt get y install
  • Linux批量复制多台服务器/etc/hosts文件

    在云环境下有非常多的服务器时 每台服务器的Hostname都不一样 有时需要 etc hosts所有机器保持一致 如果通过ssh的方式逐一进行修改 那么对我们来说 工作量是非常巨大 且效率非常低下 可以通过如下方法批量修改 假如有一台机器的
  • 软件测试过程的持续改进

    随着国内软件测试行业的逐渐发展 有越来越多的软件企业更加重视软件测试 并已经形成了一套基本的软件测试流程 但是软件测试所起的作用还没有人们期望那样显著 因此 就需要继续加大投入对软件测试的关注程度 对软件测试过程进行持续的改进 以下是本人在