最近,很多小伙伴正在为面试新工作做准备。所以我整理一下软件测试的基本工作流程和一些测试用例编写方法。大致内容如下,希望这些内容对大家有帮助。

# 首先,作为测试人员需了解业务,分析需求点 #

为什么测试人员要参加需求分析?也就是进行测试需求分析的目的是什么?

第一、把用户需求转化为功能需求

1)对测试范围进度量

2)对处理分支进行度量

3)对需求业务的场景进行度量

4)明确其功能对应的输入、处理和输出

5)把隐式需求转变为明确

第二、明确测试活动的五个要素

测试需求是什么、决定怎么测试、明确测试时间、确定测试人员、确定测试环境、测试中需要的技能,工具以及相应的背景知识,测试过程中可能遇到的风险等等。测试需求需要做到尽可能的详细明确,以避免测试遗漏和误解。

# 那么,接下来怎么进行测试需求分析? #

1)确认功能

(业务功能、辅助功能、数据约束、易用性需求、编辑约束、参数需求、权限需求、性能约束)

1、业务功能:与用户实际业务直接相关的功能或者细节;

2、辅助功能:辅助完成业务功能的一些功能或者细节,例如:设置过滤条件;

3、数据约束:功能的细节,主要是用于控制在执行功能时,数据的显示范围,数据之间的关系等;

4、易用性需求:功能的细节,产品中必须提供,便于功能操作使用的一些细节,例如:快捷键等;

5、编辑约束:功能的细节,在功能执行时,对输入数据项目的一些约束条件,例如:只能输入数字等;

6、参数需求:功能的细节,在功能执行时,需要根据参数设置不同,进行不同处理的细节;

7、权限需求:功能的细节,在功能执行的过程,根据不同的权限进行不同的处理,不包括直接限制某个功能的权限;

8、性能约束:功能的细节,执行功能时,必须满足的性能需求;

2)场景分析

1、考虑场景的调用者:考虑每一个场景提供的服务是供哪些外部模块或者系统调用的,找出所有调用者。调用前提,约束都要考虑。每一个调用都可以考虑成一个大的业务流程(一般和外部有交互的业务出错率比较大,需要重点关注)。

2、考虑系统内部各个场景之间的联系:形成内部业务流程,需要分析每个场景之间的约束关系,执行条件,组织出各种业务流程图。

3)挖掘隐性需求

这需要测试工程师的经验积累:

1)常用的或者规定的业务流程

2)各个业务流程分支的遍历

3)明确规定不可使用的业务流程

4)没有明确规定但是应该不可使用的业务流程

5)其他异常或者不符合规定的操作

以上是粗略的讲解了如何进行测试需求分析,详细的测试需求方法可以参考《软件测试需求分析方法》这篇博客。在需求分析过程中编写整个测试计划,在这个过程中需要参考需求规格说明书,这个阶段一般情况下是测试主管编写的。包括:测试人员,测试时间,测试工具,以及测试方法等。这是在测试需求分析中的产物《测试计划》,如何编写测试计划,请参考以下文章《如何编写一个好的测试计划》。

# 接下来,一起说说测试用例设计那点事儿 #

1、如何进行测试用例的设计?

编写测试用例之前,我们需要对项目的需求有清晰的了解,对要测试什么,按照什么顺序测试,覆盖哪些需求做到心中有数,作为测试用例的编写者不仅了解要有常见的测试用例编写方法,同时需要了解被测软件的设计、功能规格说明、用户试用场景以及程序/模块的结构。

步骤

1)测试需求分析:从项目部拿到软件的需求规格说明书后,开始对项目的需求进行分析,通过自己的分析、理解,整理成为测试需求, 清楚分析出被测试对象具有哪些功能。明确测试用例中的测试集用例与需求的关系,即一个或多个测试用例集对应一个测试需求。

2)业务流程分析:分析完需求后,明确每一个功能的业务处理流程,不同的功能点做业务的组合,以及项目的隐式需求。如遇复杂的测试用例设计前,先画出软件的业务流程。从业务流程上,应得到以下信息:

A、主流程是什么?

B、条件备选流程是什么?

C、数据流向是什么?

D、关键的判断条件是什么?

3)测试用例设计

完成以上两步则可进行测试用例设计,功能测试用例,应尽量考虑边界、异常、性能的情况,以便发现更多的隐藏问题。设计测试用例的常见方法:

等价类 → 边界值 → 因果图 → 判定表 → 状态迁移 → 正交实验 → 场景法 → 错误推断(注意:编写测试用例时,我们尽可能取的不应该是有效等价类而应该是无效等价类)

4)编写完成后自我检查以及部门内部评审:

①测试用例本身的描述是否清晰,语言准确;是否存在歧义性;

②测试用例内容是否完整,是否清晰的包含输入和预期输出的结果;测试步骤是否清晰;

③测试用例中使用的测试数据是否恰当,准确;

④测试用例是否具有指导性,是否能灵活的指导软件测试工程师通过测试用例发现更多的缺陷,而不是限制他们的思维;

⑤是否考虑到测试用例执行的效率。对于不断重复执行的步骤,是否保证了验证点相同;或者测试用例的设计是否存在冗余性等。这些都可能导致测试用例执行效率低下;

⑦画出软件需求跟踪矩阵,验证测试用例是否完全覆盖了需求,验证测试用例的覆盖性;

⑧测试用例是否完全遵守了软件需求的规定。这一点其实有一些难做到。考虑到时间/成本的关系,应该视具体情况而定。

PS:具体详细内容可参考《如何有效的进行测试用例评审》

5)测试用例更新完善

测试用例编写完成之后需要不断完善,如遇需求更改或功能新增时,测试用例必须配套修改更新,同时在测试过程中发现设计测试用例时考虑不周,需要对测试用例进行修改完善;在软件交付使用后客户反馈的软件缺陷,而缺陷又是因测试用例存在漏洞造成,也需要对测试用例进行完善。

# 紧接着,测试用例执行的过程 #

首先搭建测试环境,准备好测试数据,进行预测,预测通过之后,按照测试用例进入正式测试,有效的测试执行可以将测试用例发挥最大的价值。因此,测试用例规范执行有助于更好的发现代码中存在的缺陷。根据个人测试工作经验,好的测试执行应该包含如下内容:

①测试执行中评估测试执行时间不足,需及时上报风险。满足质量优先,进度其次原则。

②测试用例按优先级顺序执行,通常是基本、详细和异常顺序执行。

③未执行用例、标志为删除或者无效的用例,需注明原因。

④执行过程中有疑问的测试用例(场景、操作步骤、检查点等)需找测试设计人员澄清。

⑤测试执行需对用例描述的检查点逐一检查,避免遗漏。

⑥重视不易重现的缺陷场景,可能是一个bug。

⑦执行过程中发现有前期设计遗漏用例需补充到用例文档并执行验证。

⑧建议测试人员交叉执行重复测试用例,用例执行对相同测试人员有免疫性。避免可能的缺陷一直遗漏到现在。如有需要,建议保留测试结果,结果可视。也便于不同版本间的测试结果对比。已确认问题需及时按照问题单提单要求(规范和缺陷定级)提单。

⑨跟踪问题单修复情况并回归验证问题单。每轮次测试结束,find一下是否有core文件产生。测试结束,将最终测试用例文档上传到归档目录,实现用例重用。

以上是针对一般的软件测试流程,如果是自动化测试的话,应该还有根据测试用例进行脚本编写,运行脚本等。此处可能写的不详细,希望大家可以在下方评论让我完善。

最后已达到准确要求的,根据测试情况写测试报告,对整个测试过程和版本的质量做一个评估。

测试报告是指把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础。测试报告是测试阶段最后的文档产出物。优秀的测试经理或测试人员应该具备良好的文档编写能力,一份详细的测试报告包含足够的信息,包括产品质量和测试过程的评价,测试报告基于测试中的数据采集以及对最终的测试结果分析。

测试报告的内容可以总结为以下目录

首页

引言(目的、背景、缩略语、参考文献)

测试概要(测试方法、范围、测试环境、工具)

测试结果与缺陷分析(功能、性能)

测试结论与建议(项目概况、测试时间 测试情况、结论性能汇总)

附录(缺陷统计)

至此并不算最后的完结工作,软件测试还包含了线上功能检查、当前版本问题反馈以及改进建议等。这样才算是软件测试最终结束,软件测试是贯穿于整个软件生命周期的。

往期热文测试新手工作必备参考资料 | 全套WEB测试内容+工具+经验总结

对软件测试感兴趣?赶紧了解相关课程~

软件性能测试报告_软件测试新手请收好:测试基本流程、及如何写好测试用例全在这里!...相关推荐

  1. 新手必看: 测试基本流程、测试用例全在这里!

    一.首先,作为测试人员需了解业务,分析需求点 为什么测试人员要参加需求分析?也就是进行测试需求分析的目的是什么? 1.把用户需求转化为功能需求 1)对测试范围进度量 2)对处理分支进行度量 3)对需求 ...

  2. 软件的接口设计图_软件的生命周期amp;测试基本流程

    软件的生命周期&测试基本流程 软件的生命周期 问题定义及规划- - - 需求分析阶段- - - 系统设计 - - - 软件编程 - - - 软件测试 - - - 软件维护 瀑布模型有弊端 1用 ...

  3. visual studio 代码提示插件_程序员请收好:10个非常实用的 VS Code 插件

    关注上方"数据挖掘工程师",选择"星标公众号", 关键时间,第一时间送达! 编译:CSDN-Elle,作者:Daan 无论你是经验丰富的开发人员还是刚刚开始第一 ...

  4. vscode 新版eslint自动修复_程序员请收好:10 个实用的 VS Code 插件

    优质文章,第一时间送达! 英文:Daan,翻译:CSDN - Elle 无论你是经验丰富的开发者,还是刚开始工作的新手,你都会想让自己的开发工作尽可能轻松一点.正确的工具使用则可以帮助你实现这个目标. ...

  5. visual studio 代码提示插件_程序员请收好:10个非常有用的Visual Studio Code插件

    作者 | Daan 译者 | Elle 出品 | CSDN(ID:CSDNnews) [导读]一个插件列表,可以让你的程序员生活变得轻松许多.无论你是经验丰富的开发人员还是刚刚开始第一份工作的初级开发 ...

  6. sql主键可以有多个_干货 | 新手请速戳!30个精选SQL面试问题Qamp;A集锦

    来源:读芯术 本文共1600字,建议阅读7分钟. 本文为面试新人或面试老手带来一些常见的SQL面试问题和回答. 图片来源: Tim Gouw/pexels.com 本文为面试新人或面试老手带来一些常见 ...

  7. 汇智动力软件测试问题,汇智动力—测试工程师都是怎么写测试用例的?

    一.测试用例管理 测试用例设计活动开展前,测试工程师根据测试管理需要,制定测试用例管理相关制度及流程,便于指导后续的测试用例设计活动.测试用例管理活动一般包括3个部分: 1.测试用例属性管理 测试用例 ...

  8. 网络记账软件测试面试,超级账本test-network测试工作流程

    一.启动测试网络 1.进入test-network目录 cd fabric-samples/test-network 2.在test-network目录中,运行以下命令删除先前运行的所有容器或工程 . ...

  9. 软件测试公司折扣政策,@软件企业看,这些税收优惠政策请收下

    原标题:@软件企业看,这些税收优惠政策请收下 软件是信息技术之魂.网络安全之盾.经济转型之辙.数字社会之基,软件产业正以其强大的技术创新力日益成为数字经济发展的"领跑团".记者从苏 ...

最新文章

  1. centos部署mysql5.6免安装版
  2. boost::graph模块使用breadth_first_search()实现GGCL算法的测试程序
  3. 如何写出健壮的代码?
  4. mysql 命令手册_MySQL 常用命令手册
  5. 散列--数据结构与算法JavaScript描述(8)
  6. 内核中的UDP socket流程(6)——sendto
  7. 写一个在一个字符串(n)中寻找一个子串(m)第一个位置的函数。
  8. 对数字信号处理中各种频率以及分辨率的理解
  9. 【图像配准】基于matlab GUI光流场模型图像配准【含Matlab源码 831期】
  10. 【小白总结】NLP算法:文本研究领域与NLP文本标注工具(一)
  11. 绕过广告拦截插件的解决方案
  12. 汉字编码:区位码、国标码、机内码
  13. 学习笔记 Tianmao 篇 OkHttp 网络的使用的简单封装 获取Json用GSON来解析
  14. cmd脚本实现自动拨号
  15. 《穷爸爸与富爸爸》语录之一
  16. 对抗攻击方法及论文总结
  17. Python实现 身体质量指数BMI的计算(嵩天老师)
  18. 《第一行代码》总结之实战酷欧天气、发布应用(九)
  19. C语言编程用递归法求
  20. 国民经济行业代码查询系统-公司行业代码查询

热门文章

  1. catch(...)详解
  2. 一个自己写的有关数据库的treeview.
  3. FFmpg音视频入门教程
  4. The template root requires exactly one element.
  5. Linux 网络诊断命令
  6. 记录一次Socket编程:OutputStream的flush方法
  7. 基于语义嵌入模型与交易信息的智能合约自动分类系统
  8. 【David Silver强化学习公开课】-5:Model-Free Control
  9. 区块链100问 第一问
  10. 51Nod 斜率最大