当前位置: 首页 > news >正文

软件测试规范

1、概述

本规范是对项目软件测试的一份指导性文件,对软件测试过程中所涉及到的测试理论、测试类型、测试方法、测试标准、测试流程以及软件产品开发单位所承担的职责进行总体规范,以有效保证软件产品的质量。

2、测试目的

测试的目的就是在软件交付前,尽可能多地发现软件中的错误,保证软件质量达到要求标准。即使经过了最严格的测试之后,仍然可能还有没被发现的错误潜藏在程序中。测试只能查找出程序中的错误,不能证明程序中没有错误。

3、测试流程

3.1文档资料准备

准备原型图,需求分析,概要设计,详细设计等相关文档,目的是为了测试人员能够快速准确的了解项目或产品的详情,更好的制定测试计划,也是设计测试用例必不可少的前置条件。

3.2编写测试计划,评审测试计划

测试计划为了合理规划整体测试时间和策略,细化测试具体工作和人员安排为接下来的测试工作做好指引,保障产品或项目顺利交付。测试计划应由测试人员、产品人员、开发人员和项目人员评价审核是否合理以及是否需要修改和补充。

3.3用例设计及评审

测试人员根据测试计划等文档资料设计出合理适用的测试用例,测试经理确认测试用例是否充分覆盖。设计测试用例(以边界值法、等价类划分法为主)。对功能界面要求注意与功能相关的信息显示及显示位置是否正确。

3.4测试实施

根据测试目的的不同,分几个阶段进行测试。

3.4.1单元测试

单元测试主要以开发人员为主对单个单元模块进行测试,主要是白盒测试:分析代码逻辑和标准以及调优。测试人员辅助对单元模块进行功能测试。

3.4.2系统测试

系统测试应力图测试完整,保证产品的正确性、产品整体运行的稳定性、与其他软件产品数据接口间的正确性,以及与需求说明书的一致性。

3.4.3验收测试

验收测试把软件系统作为单一的实体进行测试,测试内容与系统测试基本类似,但是它是在用户积极参与下进行的,而且可能主要使用实际数据(系统将来要处理的信息)进行测试。验收测试的目的是验证系统确实能够满足用户的需要,在这个测试步骤中发现的往往是系统需求说明书中的错误。

3.5测试总结

在测试过程中,测试人员应随时准确详细地记录软件的错误和不妥之处。每个错误(建议)所属的模块、出错描述、错误等级、问题状态、测试日期、测试人、测试版本、图片(需要时)都应该在相应的栏目中填写清楚。最后总体汇总分析所有数据出具报表,确认产品质量是否达到交付标准。

3.6测试注意事项

一定要注意测试中的错误集中发生现象(80%的错误集中出现在20%的模块里),这和程序员的编程水平和习惯有很大的关系。对测试错误结果一定要有一个确认的过程。制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见。妥善保存一切测试过程文档(错误记录),意义是不言而喻的,测试的重现性往往要靠测试文档。

3.7测试缺陷判断

P1非常严重的缺陷,例如,软件的意外退出 甚至操作系统崩溃,造成数据丢失。

P2较严重的缺陷,例如,软件的某个菜单不起作用或者产生错误的结果;

P3 一般缺陷,例如,出现多余的功能及按钮,操作逻辑不合理,不符合用户习惯;

P4轻微缺陷,例如,软件的某些字符,图片显示不清晰,布局不合理;

3.8测试缺陷处理

对于测试过程中发现的产品问题,由测试人员及时反馈到开发人员,项目经理应及时组织修改,并定期将修改的版本提交给测试人员进行下一轮的测试。在例外情况下,测试发现的一些缺陷在不影响下一阶段开发、不影响用户使用的情况下,经项目经理批准可以延期处理。对于有争议的产品问题,可以由项目经理和产品经理确定。

4、测试策略

4.1在需求、详细设计、测试计划完成之后,需要有计划性的分出产品的功能点便于测试设计和执行。

4.2要充分考虑测试计划的实用性,即测试计划与实际之间的接近程度和可操作性。从而减少潜在的缺陷。人员分工要明确,必要做到交叉测试,避免漏测。

4.3黑盒测试

黑盒测试也称功能测试,是以用户的角度,从输入数据和输出数据的对应关系来检测每个功能是否都能正常使用,不考虑内部逻辑,主要针对产品界面和软件功能进行的测试 (如:功能不正确或遗漏 界面错误 输入和输出错误 性能错误 终止错误等)。

4.4白盒测试

白盒测试也称逻辑结构测试,测试人员依据程序内部逻辑结构相关信息对代码进行分析,可以检测每条分支和路径发现隐藏的错误,做到代码最优化。

4.5测试依据

测试计划、测试用例、需求分析文档、设计说明书、上阶段测试记录、以及用户反馈意见记录资料等。

5、测试相关文档

测试相关文档应该统一标准命名归类,方便今后查阅和管理。

5.1测试负责人制定测试计划,把握总体测试进度保障质量。

5.2测试结束后,测试负责人编写测试报告便于项目负责人了解产品质量详情。在产品交付给客户的同时测试人员应提供产品使用手册等相关资料。

5.3 软件需求规格说明书是软件达到的各项功能的目标。是测试人员各项工作的依据,没有需求就无法判断测试结果是正确的。

5.4 软件设计说明(概要与详细设计)

软件设计说明(概要与详细设计)包含软件的一些框架、字段、数据库设计等。软件设计说明对测试工作开展有很大影响,没有软件设计说明 很多问题将无法溯源,测试准备的前期工作也是根据软件设计说明来制定的。

5.5 页面原型是项目人员快速熟悉项目的最佳路径

在需求不够明确,设计说明书不够全面的情况下,页面原型也是后期测试用例编写思想的重要根据。

相关文章:

软件测试规范

1、概述 本规范是对项目软件测试的一份指导性文件,对软件测试过程中所涉及到的测试理论、测试类型、测试方法、测试标准、测试流程以及软件产品开发单位所承担的职责进行总体规范,以有效保证软件产品的质量。 2、测试目的 测试的目的就是在软件交付前…...

Volatile 关键字提供的可见性

/*** 类说明:演示Volatile的提供的可见性*/ public class VolatileCase {// 说明:当ready没有volatile修饰时,执行结果是PrintThread线程一直处于被挂起状态,子线程感知不到主线程中的变量// 当ready被volatile修饰时,…...

Vue学习(三)

一、列表渲染 v-for指令 用于展示列表数据 语法<li v-for"(item, index) in items" :key"index"></li>key可以是index,最好是遍历对象的唯一标识 可遍历&#xff1a;数组、对象 <!DOCTYPE html> <html lang"en">&l…...

贝锐蒲公英异地组网路由器如何设置虚拟串口功能?

蒲公英虚拟串口功能&#xff0c;可实现智能组网内的其它成员异地调试此串口&#xff0c;无需到现场进行调试&#xff0c;为企业降低运营成本、便捷掌控设备数据。 1. 蒲公英硬件设置串口 进入蒲公英云管理平台&#xff0c;点击【工业应用】->【串口设置】&#xff0c;开启…...

MySQL 8.1.0 推出 InnoDB Cluster 只读副本

全面了解 8.1.0 版本新功能&#xff1a;InnoDB Cluster 只读副本的相关操作。 作者&#xff1a;Miguel Arajo 高级软件工程师 / Kenny Gryp MySQL 产品总监 本文来源&#xff1a;Oracle MySQL 官网博客 * 爱可生开源社区出品。 前言 MySQL 的第一个 Innovation 版本 8.1.0 已…...

java并发编程 PriorityBlockingQueue详解

文章目录 1 PriorityBlockingQueue是什么2 核心属性详解3 核心方法详解3.1 offer(E e)3.2 poll()3.3 take()3.4 peek() 4 总结 1 PriorityBlockingQueue是什么 PriorityBlockingQueue类上的注释描述&#xff1a;一个无界阻塞队列&#xff0c;它使用与类PriorityQueue相同的排序…...

SpringMVC_基本使用

一、JavaWEB 1.回顾 JavaWEB 1.1新建项目结构 新建 javaweb 项目目录结构 1.2导入依赖 依赖 <dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>…...

大屏开发,浏览器的可视区域和设备的分辨率

在线屏幕检测 - 显示器检测 - 显示器坏点检测工具...

【微服务部署】06-日志集成

文章目录 1. EFK日志三件套集成1.1 核心组件1.2 部署 2. Exceptionless日志系统2.1 Exceptionless核心特性2.2 Exceptionless部署文件2.3 K8s中使用Exceptionless 1. EFK日志三件套集成 1.1 核心组件 Elasticsearch&#xff08;存储&#xff09;Fluentd&#xff08;收集器&am…...

【Python】python使用docxtpl生成word模板

python使用docxtpl生成word模板 python-docxtpl包简单使用和实战&#xff0c;Python处理word&#xff0c;docx文件。 最近需要处理一些爬虫得到的数据来进行一些自动化报告的操作&#xff0c;因为需要生成的是word的报告&#xff0c;所以估选用docxtpl库来直接生成模板 docxt…...

C++学习笔记总结练习:多态与虚函数

1 多态 多态分类 静态多态&#xff0c;是只在编译期间确定的多态。静态多态在编译期间&#xff0c;根据函数参数的个数和类型推断出调用的函数。静态多态有两种实现的方式 重载。&#xff08;函数重载&#xff09;模板。 动态多态&#xff0c;是运行时多态。通过虚函数机制实…...

linux 批量更改指定后辍文件的可执行权限

要在Linux上批量更改指定后缀文件的可执行权限&#xff0c;您可以使用find命令来查找这些文件&#xff0c;然后使用chmod命令来更改它们的权限。以下是一些步骤&#xff1a; 1. 打开终端。 2. 使用 find 命令查找要更改权限的文件&#xff0c;例如&#xff0c;如果您想要更…...

数据结构(Java实现)-Map和Set

搜索树 概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树: 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值 若它的右子树不为空&#xff0c;则右子树上所有节点的值都大于根节点的值 它的左右子树也…...

C++进程、线程、内存管理

目录 进程和线程区别 进程和线程切换的区别 系统调用流程 系统调用是否会引起线程切换 为什么需要使用虚拟内存 进程和线程区别 本质区别&#xff1a; 进程是资源分配的基本单元。 线程是操作系统调度的基本单元。 地址空间&#xff1a; 进程具有独立的虚拟地址空间。 线程…...

打车系统网约车系统开发支持APP公众号H5小程序版本源码

一、操作流程 二、业务模式 三、用户端 用户注册登录&#xff1a;未注册的手机号将自动创建账号 通过好友的邀请链接进行注册&#xff0c;将会绑定上下级关系 也可以注册的时候输入好友的邀请码&#xff0c;也可以绑定关系 用户充值&#xff1a; 用户下单支付时&#xff0c;可以…...

HTTP/1.1协议的状态码

2023年8月30日&#xff0c;周三下午 HTTP/1.1协议定义了一组状态码&#xff0c;用于表示请求的处理结果。 每个状态码都有特定的含义&#xff0c;它们以三位数字的形式出现在响应的状态行中。 下面是一些常见的HTTP/1.1协议的状态码及其含义&#xff1a; 1xx&#xff08;信息…...

SpringCloud(十)——ElasticSearch简单了解(一)初识ElasticSearch和RestClient

文章目录 1. 初始ElasticSearch1.1 ElasticSearch介绍1.2 安装并运行ElasticSearch1.3 运行kibana1.4 安装IK分词器 2. 操作索引库和文档2.1 mapping属性2.2 创建索引库2.3 对索引库的查、删、改2.4 操作文档 3. RestClient3.1 初始化RestClient3.2 操作索引库3.3 操作文档 1. …...

CAD文字显示?问号解决

背景 从别人哪儿发过来的CAD文件&#xff0c;打开后发现有些文字显示为&#xff1f; 问题排查 通过点击文字特性得知 该文字的样式是 SF和仿宋通过命令行执行st 得知&#xff0c;两种样式关联的字体都是仿宋GB_2312&#xff0c;但当前操作系统无此字体&#xff0c;故显示为&…...

Calico切换网络模式无效

Calico切换网络模式无效 Calico由原先的BGP模式切换为IP IP模式发现未生效&#xff0c;使用的模式还是BGP模式&#xff0c;Calico卸载后查询Etcd发现存在很多Calico数据 [rootk8s-master-1 ~]# etcdctl get / --prefix --keys-only | grep calico /calico/ipam/v2/assignment…...

数据生成 | MATLAB实现GAN生成对抗网络结合SVM支持向量机的数据生成

数据生成 | MATLAB实现GAN生成对抗网络结合SVM支持向量机的数据生成 目录 数据生成 | MATLAB实现GAN生成对抗网络结合SVM支持向量机的数据生成生成效果基本描述程序设计参考资料 生成效果 基本描述 数据生成 | MATLAB实现GAN生成对抗网络结合SVM支持向量机的数据生成。 生成对抗…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...