最近在为面试新工作做准备,所以想想整理一下软件测试的基本工作流程,大致梳理一遍,这样也便于自己在面试过程中可以沉着的面对面试官的测试工作如何进行的问题。

首先,作为测试人员需要学习并了解业务,分析需求点

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

第一、把用户需求转化为功能需求:1)对测试范围进度量    2)对处理分支进行度量   3)对需求业务的场景进行度量   4)明确其功能对应的输入、处理和输出   5)把隐式需求转变为明确。

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

怎么进行测试需求分析?

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

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

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

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

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

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

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

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

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

第二、场景分析

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

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

第三、挖掘隐性需求

这需要测试工程师的经验积累:1)常用的或者规定的业务流程   2)各个业务流程分支的遍历   3)明确规定不可使用的业务流程   4)没有明确规定但是应该不可使用的业务流程   5)其他异常或者不符合规定的操作

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

接下来就是测试用例设计

测试用例是测试工作的最核心的模块,在执行任何测试之前,首先必须完成测试用例的编写。测试用例是指导你执行测试,帮助证明软件功能或发现软件缺陷的一种说明。用例设计好后进行审核。这个地方该讲的东西就多了,如何设计测试用例,设计测试用的方法,怎么进行测试用例的审核等等。

第一、如何进行测试用例的设计

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

步骤:

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

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

A、 主流程是什么?

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

C、 数据流向是什么?

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

3、测试用例设计

完成以上两步则可进行测试用例设计,功能测试用例,应尽量考虑边界、异常、性能的情况,以便发现更多的隐藏问题。设计测试用例的常见方法:1)等价类    2)边界值    3)因果图    4) 判定表    5)数据迁移    6) 正交实验    7) 场景法    8) 错误推断(注意:编写测试用例时,我们尽可能取的不应该是有效等价类而应该是无效等价类)

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

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

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

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

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

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

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

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

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

5.测试用例更新完善

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

紧接着就是在测试过程中占很大一部分比重得测试用例执行过程

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

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

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

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

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

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

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

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

8、建议测试人员交叉执行重复测试用例,用例执行对相同测试人员有免疫性。避免可能的缺陷一直遗漏到现网。

9、如有需要,建议保留测试结果,结果可视。也便于不同版本间的测试结果对比。

10、已确认问题需及时按照问题单提单要求(规范和缺陷定级)提单。

11、跟踪问题单修复情况并回归验证问题单。

12、每轮次测试结束,find一下是否有core文件产生。

13、测试结束,将最终测试用例文档上传到归档目录,实现用例重用。

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

在测试用例执行过程中,包含了:功能测试阶段、缺陷跟踪阶段(bug tracking)、回归测试阶段、系统测试阶段、验收测试阶段等(系统已满足测试条件(开发完成),按照已经评审过的测试用例依次执行,执行过程中及时记录问题,将问题及时提交到QC上,要跟踪缺陷。等开发修复后进行回归测试,确认修复后关闭缺陷,如果说该问题要更新而生产上未进行验证,就把缺陷状态改为生产未验证。对有异议的缺陷经甲方、开发和测试三方进行沟通讨论,由甲方最终确定处理方式。在测试过程中也会碰到对需求有异议,会反馈给经理,由经理与甲方沟通来对该需求提出一些可行性建议,最终还是由甲方来确定具体根据各个公司的业务流程而不一样)。

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

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

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

 首页
 引言(目的、背景、缩略语、参考文献)
 测试概要(测试方法、范围、测试环境、工具)
 测试结果与缺陷分析(功能、性能)
 测试结论与建议(项目概况、测试时间 测试情况、结论性能汇总)
 附录(缺陷统计)

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

       小生不才还望大家多多包涵,此文章是用来帮助自己应付面试用的,大家多多提意见,完善该文章。

最后祝大家和自己,能够有所收获,面试顺利(Interview success)。

本文转自:https://blog.csdn.net/sinat_41392571/article/details/81514521

软件测试工作基本流程相关推荐

  1. 软件测试工作流程规范

    对于软件测试工作流程,以及过程中的应遵循的流程规范,对软件测试初入者来说可能一知半解,今天笔者就将曾用过的一份软件测试工作流程标准整理分享给大家,希望能让你对测试流程有个清晰的认知.如果你采纳,那也注 ...

  2. 软件分类和软件测试工作流程

    软件的分类  其中,系统软件指的是和计算机硬件紧密配合在一起的,使得计算机系统的各个部件.相关的软件和数据协调.高效工作的软件.例如,操作系统,数据库管理系统等. 支撑软件指的是协助用户开发软件产品的 ...

  3. 软件系统维护是一项不吸引人的工作_测试人员必须了解的软件测试工作规范

    为了规范测试工作.减少开发与测试之前的沟通成本.保证项目进度.提高软件质量,测试组起草了这份软件测试工作规范. 1.1. 编码规范 软件程序开发需要遵守编码规范,一是可以减少代码的维护成本,提高开发工 ...

  4. 毕业四年换了3份软件测试工作,我为何仍焦虑?

    今天一看日历,才突然意识到自己毕业已经四年了.四年时间里一直在测试行业摸爬滚打,现在是时候记录一下了. 下面我来分享下我这4年软件测试经验及成长历程,或许能帮助你解决很多工作中的迷惑. 我是如何开始做 ...

  5. 软件测试工作都干些什么?

    软件测试工作越来越多的被同学们选择,一方面软件测试薪资待遇高,另一方面又很少涉及到代码开发的工作,所以受到了不少不喜欢开发的同学的欢迎.那么你知道软件测试的工作每天都是干什么吗?下面小千就来给大家介绍 ...

  6. 现在公司都不缺人了吗?软件测试工作经历3年居然被坑了?防不胜防

    女,本科,三年多测试工作经验,懂python,会写脚本,会selenium,会性能,然而到今天都没有收到一份offer!从年后就开始准备简历,年后上班的第一天就开始投,开始只是投了一些官网已久的岗位, ...

  7. 软件测试工作学习必备指南——硬实力

    软件测试工作学习必备指南--硬实力 为什么选择IT行业的软件测试职业?这个问题暂不做讨论,本次主要给大家分享软件测试工作学习所必备的硬实力,因为每个人都有自己选择从事这份职业的初心,每个有都有自己的职 ...

  8. 应届毕业生找软件测试工作实习的心得(一)

    我是2022届计算机科学与技术专业毕业的学生,因为自己在代码编程这块,感觉自己能力有所欠缺,偶然学校.政府.企业三方合作接触到软件测试这个行业,接触到这个行业,相对于打开了新的大门,为自己人生道路发展 ...

  9. 现在公司都不缺人了?软件测试工作经历3年,面试居然被坑了....

    我的情况 大概介绍一下个人情况,女,本科,三年多测试工作经验,懂python,会写脚本,会selenium,会性能,然而到今天都没有收到一份offer!从年后就开始准备简历,年后上班的第一天就开始投, ...

  10. 一,银行软件测试工作总结

    银行软件测试工作总结 为了让自己更熟悉金融行业,特别是银行业相关业务,以及总结自己测试的一些经验,希望将自己了解和学习的内容记录下来.主要从以下几个方面学习: 一.银行的一般内部架构 二.银行相关的业 ...

最新文章

  1. c语言中如何设计和编写一个应用系统?
  2. 《Google软件测试之道》- Google软件测试介绍
  3. 八、数据库服务连接存储(MPIO) 中
  4. mysql索引背后的数据结构及算法
  5. 【分享】WeX5的正确打开方式(1)
  6. vim显示python嵌套级_在Vim中为Python突出显示语法
  7. 8 PP配置-生产主数据-工作中心相关-定义工作中心负责人
  8. 不失真截取PDF中的矢量图到Word里
  9. sprinboot中编程式事务_SpringBoot系列教程之事务传递属性
  10. python宽度优先搜索算法并输出路径
  11. axios的二次封装与async,await的配合使用?
  12. SpringBoot作mongodb批量更新
  13. rockchip eDP 配置
  14. C语言数据的表现形式及其运算
  15. Android kotlin工具类获取屏幕分辨率及宽高
  16. linux查看是centos几版本
  17. docker常用命令-docker start
  18. 管理员账户没有系统维护权限处理办法
  19. 欧盟的数据保护政策对美国的商贸意味着什么?
  20. 金蝶云星空与钉钉集成案例

热门文章

  1. email 邮件发送源代码(c++实现)
  2. win10开机后底部任务栏无响应的修复方法
  3. android robotium测试,Android robotium自动化测试
  4. Java serialVersionUID
  5. ssh框架超详细总结
  6. VB6实现网页自动化方法(chrome或360极速版)
  7. 服务器2003ftp站点向导,Windows 2003 ftp 配置
  8. Linux系统安全强化指南
  9. 国内网络游戏企业的困境和出路
  10. 计算机网络管理员基础pdf,复习题计算机网络管理员高级.pdf