技术标签: bug 测试 单元测试 软件测试 测试工程师 测试工具
测试人员最本质的工作就是寻找bug,提交bug、验证bug、推进bug的解决,直至软件达到发布的标准,提高软件的质量,及研发的工作效率和质量。
软件的BUG,狭义方面可以理解为是是指软件程序的漏洞或缺陷,广义方面除找到程序的之外之外还包括测试工程师或用户所发现和提出的软件可改进的细节、或与需求文档存在差异的功能实现等。即测试的介入可以从需求分析开始,跟踪开发流程。
二、bug的生命周期
生命周期中缺陷状态:新建–>指派–>已解决–>待验–>关闭
发现BUG–>提交BUG–>指派BUG–>研发确认BUG–>研发去修复BUG–>回归验证BUG–>是否通过验证–>关闭BUG
a.按照测试用例进行操作,发现和测试用例的预期结果不一致的,都可以被称之为Bug。
b.测试用例不可能穷尽,总有超出你预料之外的因素,或者是神操作出现的bug。
c.成本问题,没有充足的时间编写测试用例,发现的bug
在提交一个缺陷的缺陷,首先尽量描述这个缺陷的属性、Bug重现环境,bug类型,bug等级,bug的优先级以及详细的重现步骤,结果与期望等。
当然,我们在提交一个问题之前首先应该保证,这个缺陷是没有被提过的,以免造成重复缺陷单。
这一步不是必须的,跟项目模式有关,有些公司测试部门与开发部门独立,那么测试人员就不确定自己测试的模块是由哪位开发人员负责的,在这种情况下,测试人员统一把问题指派给项目组长或经理,由项目组长(或经理)对问题进行确认后再次分配给相应的开发人员。
有些测试人员是穿插到不同研发团队中的,所以对不同的开人发员负责的开发模块非常清楚,这个时候就可以将问题直接指派给相应的开发人员。
也有一种情况,本来此问题应该由A开发人员负责,但由于A开发人员的调离或辞职,些问题为转交给其它人员处理。“分配”强调是上级对下级;“转交”强调的是平级之间。
当开发人员接到一个缺陷时,首先是对其进行分析与重现,如果对其进行分析发现不是缺陷(可能由于测试人员不了解需求)或无法对此问题进行重现,那么就需要将此问题反回给测试人员,并注明原因。如果确认为缺陷则需要对其进行处理。
推迟处理
在处理问题之后,还需要进行一次判断,是否需要推迟处理,有些需求已经确认了是问题,由于其可能在极端情况下才会出现,或需要对系统架构进行改动,或其优先级非常低,所以暂时不需要对此问题进行处理(或到下个版本进再进行修复)。
固定:
对于推迟处理的问题可以暂时进行固定(“固定”为QC中的叫法。)一般固定的问题需要经过项目经理与测试经理协商后才能固定。
处理缺陷:
开发人员在确认完一个问题需要处理时,那么就对其进行处理工作。(例如,redmine 是支持处理人时时更新问题处理进度的,如 已处理30% ,已处理80% 等,当然,对于短时间内可以修复的问题就没必要时时的去更新处理进度。)
回归缺陷对于测试人员来说是非常重要的工作,其有三个入口两个出口。
确认非缺陷问题:对于提交的一个缺陷,开人员处理为非问题或无法重现,然后直接转交给测试人员回归。测试人员再次确认,如果真如开发人员所说,则将问题关闭。如果非开发人员所说,是由于问题描述模糊或其它原因喂重现问题,则再次注明原因转给开发人员。
确认修复问题:对开发人员修复的问题再次进行确认,确认能过,则关闭问题。确认不通过,将问题再次打开并转给开发人员。
确认固定问题:有计划的对固定问题进行确认,有些固定问题随着时间的推移,版本的更新或已经不存在了,对这类问题应该及时关闭。有些固定问题依然存在且变得紧急,对于这类问题应该及时打开交给开发人员处理。
对于已经修复的缺陷进行关闭,这也是一个缺陷的最后一个状态。
在做接口测试的时候可以使用国产的接口测试和接口文档生成工具apipost
Bug会导致软件在运行时发生意料不到的故障,给企业带来损失,而软件测试的过程简单来说就是围绕bug进行的质量保证工作。为了提高测试工作效率,同时能够更高效的管理bug、提交bug、解决bug,合理的使用一些bug管理软件是非常有必要的。
禅道
禅道是第一款国产开源项目管理软件。它的核心管理思想基于敏捷方法scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能。在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。
禅道使用自主开发的zentaophp框架开发,内置了完整的扩展机制,用户可以非常方便的对禅道进行彻底的二次开发。禅道还为每一个页面提供了json接口的api,方便其他语言来调用交互。内置多语言支持,多风格支持,搜索功能,统计功能等实用功能。
Tracup
Tracup 是一款轻量级的团队协同平台,提供简洁、高效的 Bug 追踪,轻量、便捷的项目管理,安全、稳定的数据保障,完美地将 Bug管理与团队协作结合在一起。
无论是修改Bug,还是新增一个功能, Tracup 都可以提供一个理想的工作云平台。便捷团队协作,轻量的项目管理, 完备的问题系统,大容量的文件存储,让用户工作更方便。
Bugtags
Bugtags是新一代的、专为移动测试而生的缺陷发现及管理工具。致力于改善移动 app 的测试流程,连接发现缺陷与提交缺陷之间的用户体验,提高测试及解决缺陷的效率。帮助测试人员高效的进行 app 测试及 bug 的跟踪和管理。
移动 app 集成 bugtags SDK 后,测试用户就可以直接在 app 里所见即所得的提交 bug,SDK 会自动截屏、收集 app 运行时数据,如:设备信息,控制台数据,用户的操作步骤等,开发人员在 bugtags 云端高效的跟踪及管理 bug。
Bugtags 与其它 bug 管理系统相比,最大的区别在于:
Bugtags 是专为移动开发而设计的,不是简单将以前面向 Web 及桌面应用的 bug 管理系统进行的改进或升级,而是完全以移动 app 开发及测试的视角重新设计的 bug 管理系统。
Bugtags 不需要布署,云端注册即可使用,简单便捷。
Bugzilla
Bugzilla 是 Mozilla 公司提供的一款开源的免费 Bug 追踪系统,它可以管理软件开发中缺陷的提交(new),修复(resolve),关闭(close)等整个生命周期。用来管理软件开发,建立完善的 Bug 跟踪体系。
JIRA
JIRA是一个缺陷跟踪管理系统,开发者是 Atlassian。JIRA 这个名字并不是一个缩写,而是截取自“Gojira” 。JIRA被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。JIRA中配置灵活、功能全面、部署简单、扩展丰富,其超过150项特性得到了全球115个国家超过19,000家客户的认可。
WebIssues
WebIssues是一个采用客户机/服务器模式的团队协作工具和问题跟踪系统,可以支持小规模的开发团队。它可以被用来存储,共享和跟踪问题的各种属性,注释和文件附件。很容易安装和使用,高度可定制。服务器可安装在任何支持PHP和MySQL或PostgreSQL的主机上,客户端可以是视窗或Linux的桌面。
Bugify
Bugify是一个非常简单的bug跟踪管理系统,并且功能非常强大。它的主要功能有:问题优先级,搜索过滤,邮件通知,标签,问题链接,键盘快捷键,Mardown格式化,最突出的功能就是支持无限种其他语言。
文章浏览阅读2.3w次,点赞3次,收藏11次。基本概念bit 意为“位”或“比特”,是计算机运算的基础,属于二进制的范畴;Byte 意为“字节”,是计算机文件大小的基本计算单位;计算机最小存储计量单位是:bit(位)计算机最基本存储计量单位是:Bytes(字节)两者应用的场合不同:1、bit通常用来作数据传输的单位,因为物理层,数据链路层的传输对于用户是透明的,而这种通信传输是基于二进制的传输。2、byte通常是在应用层用来作单位,表示文件的大小,在用户看来就是可见的数据大小。比如一个字符就是1byte,如果是汉字,则是2byte。_bytes转换mb
文章浏览阅读4.2k次。引言 本篇博文结合链接食用更佳(知识点遥相呼应,有共通之处,且大多结合使用,轻松举一反三)Excel 信息录入(登记人员信息录入,打字慢如何快速输入数据,数据列的格式调整)业务需求 & 效果实现 Excel 表格在手动输入别人的手写数据时,总会有那么几列名义变量的类别是固定的,比如性别要么男要么女;所属部门要么A要么B or C or D 之类的,如果你还在手动输入他们或者..._excel行打字怎么出现重复
文章浏览阅读5.3k次。解决跨域以后,如何允许跨域请求携带cookie,例如访问B的接口,默认情况下是不允许带cookie的,此时需要设置axios的withcredentials的属性为true,告诉浏览器在访问B网站时,将B网站的cookie带上,此时光前端设置还不行,还需要后端在响应头中添加 allow-withcredentials = true,这样就可以保证跨域请求也可以携带cookie。在站点A下面访问B域名的接口,那么这是一个跨域请求,如果不做处理,此时这个请求就跨域了,浏览器在接收到响应以后会直接报错。_跨域cookie共享
文章浏览阅读456次,点赞14次,收藏20次。1.背景介绍在当今的数字时代,数据安全和企业风险管理已经成为企业最关键的问题之一。随着互联网和人工智能技术的发展,企业数据的安全性和隐私保护成为了越来越重要的问题。因此,安全架构和企业风险管理已经成为企业最关键的问题之一。在这篇文章中,我们将讨论安全架构与企业风险管理的关系,以及如何实现全面的安全保障。我们将从以下几个方面进行讨论:背景介绍核心概念与联系核心算法原理和具体操作步骤...
文章浏览阅读4.1w次,点赞50次,收藏268次。图论算法摘要1. 图的概念图一个图(graph) G=(V,E)G=(V,E)G=(V,E) 由顶点(vertex)集 VVV 和边(edge)集 EEE 组成。每一条边就是一个点对 (a,b),a,b∈V(a,b),a,b∈V(a,b),a,b∈V。有时候也把边叫做弧(arc)。有向图如果点对(a,b),a,b∈V(a,b),a,b∈V(a,b),a,b∈V是有序的,那么图就是有向的..._npc问题
文章浏览阅读7.6k次,点赞8次,收藏24次。目录问题阐述与解决效果RVO Avoidance与Detour Crowd AI Controller的区别如何使用Detour Crowd AI Controller蓝图C++弃用的写法新版写法(也很简便)问题阐述与解决效果在项目存在大规模寻路人群时,很容易出现两个角色的寻路路径相冲突,就会造成这种互斥现象。使用AI ControllerUE4为此..._detour crowd
文章浏览阅读4.9k次,点赞2次,收藏3次。满二叉树(Full Binary Tree)、完全二叉树(Complete Binary Tree)_full binary tree
文章浏览阅读1.2k次。内容简介:网络营销实务(方玲玉)课件及参考答案教学内容第01讲 网络正在改写传统商业规则第02讲 网络营销:传统营销的继承与超越(1)实训1 传统企业经营现状及网络平台建设情况调研第03讲 网络营销:传统营销的继承与超越(2)第04讲 创新创意:网络营销的核心竞争力实训2 成功网络卖家网络营销创新创意分析第05讲 目标市场及竞争对手分析第06讲 网民消费模式分析实训3 网络目标用户、竞争对手及消费..._网络营销实务课后题答案
文章浏览阅读993次。Java Web开发的用到的框架之多简直令人发指,而且因为版本的更新换代导致的问题也是层出不穷。然而这也是Web技术不断演化的结果,要么选择接受,要么引领节奏。原来常用的Javaweb框架是SSH(Struts + Spring + Hibernate)后来随着Spring的强大以及Struts漏洞上的等等问题,演变成为了Spring + SpringMVC + Hibernate/Mybatis。互联网这块比较常见的是Mybatis。再后来也慢慢演变为了Springboot + Mybatis。1. _javaweb框架
文章浏览阅读294次。最近写的lua脚本需要运行在多个平台,因而一些平台相关的属性必须区别设置。如路径分隔符。在lua中,没有找到相关判断操作系统的函数。因此相关设置一直手工设置,增加了环境配置的时间。 在luarocks模块中,有一个luarocks.site_config模块(一个lua文件),其安装时便设定了操作系统类型。因此我们可以从这个模块获取操作系统:示例:require "..._lua判断操作系统
文章浏览阅读6.2k次,点赞6次,收藏39次。摘要广度优先搜索算法(又称宽度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。其别名又叫BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。(来自百度百科)算法思想1.对图中的任..._广度优先算法可行路径matlab
文章浏览阅读1.1w次,点赞5次,收藏38次。支付宝 当面付 条码支付 应用场景:商家使用扫码设备,扫描用户支付宝钱包上的条码/二维码,完成收款。支付流程:API列表: 接口名称 描述 API地址 alipay.trade.pay 统一收单交易支付接口 https://docs.op..._支付宝的应用场景