由软件测试bug状态转换想到的

由软件测试bug状态转换想到的

  上周四,不得不对客户新启用的bug管理工具Redmine中的bug状态进行验证。当然Redmine其实是一个项目管理工具,bug管理只是它的一部分功能而已。我在验证之前,是让一个经验不多的同事去验证的,主要是因为Redmine是客户的testmanager自定义了,我们发现之前的配置下某些状态下不能修改bug的状态了,或者说bug可选的状态不对。所有有必要在客户又重新调整后验证一下,是否符合我们一般的要求。同事的工作经验不多,估计又是忙着下班,着急的看了就画了个流程图,用邮件发给我且没有标题。收到以后,我自己也看了看,自己创建了一个testbug,发现流程图中出现的一个reopen状态,在现在的配置下根本就没有,我就不知道他是怎么画的了,我知道的是之前有reopen的,但最新的是没有的嘛。因此,我不得不重新研究。

  说实话,我被气的够呛。如果简单的一个任务,作为测试每天都要接触的问题,怎么就不能研究好了,我自己也画了一个,发了邮件,发之前为了验证我画的流程图是不是,找了一个开发来帮我一起看看,让他看看在我不解释的情况下能不能理解。其实工作很简单,根据现有的配置,检查在各个状态下是否能流转到想要的状态去,不对的地方就提出来。为什么会做不好呢?同样一个任务,我和他做的效果就完全不一样。这个应该有那位同事去思考,而我却得到了一个新的面试题。

  面试题:

  1、请列出你说知道的bug的状态一般有哪些?

  2、请根据你列出的状态,画出bug状态的转换流程图?

  3、请根据上述的流程图,写出或列出对该流程图的用例

  我觉得这是一个不错的面试题。第一个问题比较基础,但不容易答全了,bug的状态很多,并且各个公司对状态的定义可能会存在差别,但这种差别不影响回答这个问题。特别想提的是客户在bug状态中加了一个monitoring,我觉得很好,这是用来监控哪些不易产生,但有时常产生的bug,开发说改了,这样的bug测试人员就很纠结,验证的时候是没有出现,但这能代表问题真的修改好了。所以在一定时间内做监控,是有必要的。

  第二个问题能考察应聘者的综合能力。是否仔细想过各状态之间转换的关系。是否能够将理解的内容转换成图形。是否有足够的耐心去做好事情。这基本和测试技能没什么关系,重点在其他基本素质。

  第三个题目,考测试用例编写的思想。对于状态转换如何测试。这就是一个状态机的测试。也可以用场景法(路径法)测试。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-10-07 22:01:03

由软件测试bug状态转换想到的的相关文章

Flink-CEP论文与源码解读之状态与状态转换

Flink CEP的论文与设计 Flink的CEP设计与实现重度参考了论文<Efficient Pattern Matching over Event Streams>.下面我们就来结合论文谈谈Flink CEP的设计. 这篇论文探讨的话题是如何在事件流上进行高效地模式匹配.谈及模式匹配,为大众所知的可能是正则表达式匹配,而在流上运用正则表达式进行模式匹配有两个挑战: 要求丰富的语言特性:在事件流上进行模式匹配的语言明显要比用正则表达式进行模式匹配的语言所需要的能力丰富得多.这些事件模式语言需

java类的问题-一个订单拥有十几个状态,想问一下,如何进行状态转换并跳转不同页面,求大侠指点迷津

问题描述 一个订单拥有十几个状态,想问一下,如何进行状态转换并跳转不同页面,求大侠指点迷津 一个订单拥有十几个状态,想问一下,如何进行状态转换并跳转不同页面,求大侠指点迷津 解决方案 这个不算什么问题,你直接判断就可以了,只是这样的写法不容易维护,一个容易维护的做法就是编写一个状态机,根据状态返回下一步的页面.再进一步,可以用现成工作流引擎. 解决方案二: 后台写服务,不断判别状态来进行跳转

Linux 网络编程 之 TCP状态转换

                                               Linux 网络编程 之 TCP状态装换                                                                       从上面的图中可以看出,TCP共有11状态.由TCP发送和接收的数据有:ACK, FIN, SYN,RST.对于一个还未调用connect的client和未调用listen的server来说,它们都处于CLOSED状态.ACK

线程的状态转换

线程的状态有:new.runnable.running.waiting.timed_waiting.blocked.dead  当执行new Thread(Runnabler)后,新创建出来的线程处于new状态,这种线程不可能执行  当执行thread.start()后,线程处于runnable状态,这种情况下只要得到CPU,就可以开始执行了.runnable状态的线程,会接受JVM的调度,进入running状态,但是具体何时会进入这个状态,是随机不可知的  running状态中的线程最为复杂,

软件测试bug收集策略

Error = 0 的程序是不存在的,怎样收集和处理程序中的错误?怎样更好地利用错误信息的收集和反馈来协助程序的调试?怎样让产品发布后,用户能够反馈出更有价值的问题 信息?这些问题是本文将要涉及的,最近对自己所做项目中的错误处理机制做了一些总结与思考,故在此讨论,希望对大家有所帮助. 目前,按照我个人的理解,软件中的错误收集和反馈方式主要有如下几种: 第一种方式:使用常用的信息输出语句. 对于控制台程序,可以使用 printf 语句或者 std::cout 将错误信息打印出来:对于MFC程序,可

NAT64如何与DNS64搭配完成状态地址转换

  本博文将详细为您介绍NAT64如何与DNS64搭配完成状态地址转换,以及使用时需要注意的一些事项. 在IPv6演进过程中,网络侧的IPv6 Ready程度较高,但是业务侧IPv6化还不乐观,因此解决IPv6网络与IPv4网络的互访,已经成为目前网络建设者关注的重点,特别是IPv6用户访问IPv4服务器的场景. 前面介绍的NAT444和DS-lite技术都是为实现IPv4用户访问IPv4业务.IPv6用户访问IPv6业务服务的,不解决IPv4与IPv6互访需求.NAT64则是专为IPv4与IP

《深入理解OSGi:Equinox原理、应用与最佳实践》一3.2 Bundle状态及转换

3.2 Bundle状态及转换 "状态"是Bundle在运行期的一项动态属性,不同状态的Bundle具有不同的行为.生命周期层规范定义了Bundle生命周期过程之中的6种状态,分别是:UNINSTALLED(未安装).INSTALLED(已安装).RESOLVED(已解析).STARTING(启动中).STOPPING(停止中).ACTIVE(已激活),它们的含义为: UNINSTALLED,未安装状态.处于未安装状态的Bundle导出的Package和包含的其他资源都是不可使用的.但

软件测试的Bug缺陷管理流程

流程说明 1.测试人员填写bug并提交给开发组长,Bug的状态为New: 2.开发组长次日工作前对bug确认是否有效.有效的bug,状态变化为open,并分配给开发人员:bug无效或者延期修改的,将bug状态变化为Rejected,同时也在comment中注明原因. 3.开发人员上班的第一件事情是查看自己有几个bug需要修改. 4.开发人员修改bug,修改完成并进行单元测试后,将bug的状态变为fixed,在comment中说明修改方法: 5.测试人员每天查看自己提交的bug的状态变化,应该成为

软件测试中的抽象层次系列之一 – 黑盒与白盒

前几天我在微博上发出了一个STB-010(软件测试在线公益课程系列)报名通知的帖子,这一讲的题目是"软件测试黒盒技术与应用 - 状态转换测试方法",立即引来了一些讨论. 比如朱少民老师就指出:"人们喜欢将软件测试分为白盒.黑盒方法,虽然方法论上是成立的,从完全不同的方式去看待SUT,有其不同的应用场景,但是这种划分越来越感觉不合适,如将等价类划分.边界值分析...等归为黑盒方法,而它们完全可在代码测试上*透明*应用,如针对参数传递.内部变量等进行测试,是时候重新审视测试方法体