Tester

必备基本功:缺陷生命周期

半世苍凉 提交于 2020-11-30 13:43:51
此文来自 百人计划 成员 倔强的潇洒小姐 的投稿。 文章从“什么是Bug ”、 “Bug基本属性” 、 “如何有效的报告缺陷” 、 “缺陷的生命周期” 、“Bug常见类型” 、 “如何重现Bug” 、“缺陷分析”等多维度综合阐述 。 是一份非常完整的 软件测试从业者 必备知识。 --如下是正文-- 什么是Bug? 一只虫子爬进主机引起短路的这个事件(不知道的可以咨询百度),让我们知道了软件缺陷被称为“Bug”的原因,而我也一直以为缺陷就是bug。 那缺陷又是什么呢? 还是看上面的这个例子,真正的缺陷是计算机维护工程师提出来的那个问题:在主机的散热孔那里可以加装一层更加细密的金属网,既不影响散热,又可以防止虫子爬到主机里。这是计算机设计人员疏忽的地方,是产品真正的缺陷。而虫子引发的那个故障只是这个缺陷导致的故障的其中一种表现形式。也就是说,Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的。 所以 缺陷和bug是一对多的关系 ,弄清楚这层关系了接下来我们就来看看缺陷报告。 缺陷报告是测试人员日常工作中的一部分,每天都要进行,有时可能一天要报上三四十个,因此缺陷报告的质量就显得特别重要,直接关系到缺陷修正的速度、开发人员的效率。 缺陷报告的描述 一份有效的缺陷报告要素通常包括:标题、前提、测试环境、操作步骤、实际结果、期望结果、出现的频率、优先级、严重等级、附件

测试用例管理工具-TestLink

寵の児 提交于 2020-11-25 05:11:56
TestLink是基于web的测试用例管理系统,主要功能是测试用例的创建、管理和执行,并且还提供了一些简单的统计功能,主要功能包括: 测试需求管理 测试用例管理 测试用例对测试需求的覆盖管理 测试计划的制定 测试用例的执行 大量测试数据的度量和统计功能 安装XAMPP 在mac上终端使用ssh远程连接到linux服务器: $ ssh -p 22 root @29. 45.71. 131 $ 输入密码 1 2 与linux服务器建立连接后,使用 wget -c 命令下载XAMPP安装包,此时如果另起一个连接,使用 ps -ef|grep wget 可以清楚看到服务器正在下载: $ wget -c https:/ /sourceforge.net/projects /xampp/files /XAMPP%20Linux/ 7.2. 0/xampp-linux-x64- 7.2. 0- 0-installer.run 1 下载成功后,使用 ls 命令能在目录中看到名为“xampp-linux-x64-7.2.0-0-installer.run”的文件,安装前需要先给该文件可安装程序的权限,然后就可以运行安装程序: $ chmod 755 xampp -linux -x64 - 7.2 .0 - 0 -installer .run $ ./xampp -linux -x64 - 7.2

欢迎一起交流

こ雲淡風輕ζ 提交于 2020-11-23 23:44:48
微信公众号 NuclearTester : QQ群 Tester终点站 ,群号340964272: 本文分享自微信公众号 - FunTester(NuclearTester)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接: https://my.oschina.net/u/3973795/blog/4593937

欢迎一起交流

耗尽温柔 提交于 2020-11-23 22:47:43
微信公众号 NuclearTester : QQ群 Tester终点站 ,群号340964272: 本文分享自微信公众号 - FunTester(NuclearTester)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接: https://my.oschina.net/u/3973795/blog/4593949

Python 学习 第12篇:命名元组

旧巷老猫 提交于 2020-11-02 05:37:30
Python的元组不能为元组内部的数据进行命名,而 collections.namedtuple 可以来构造一个含有字段名称的元组类,命名元组可以通过逗号+字段名来获取元素值: collections.namedtuple(typename, field_names) 返回一个命名元组类 typename,其中参数的意义如下: typename :类名称 field_names : 元组中元素的名称 一,定义命名元组类 命名元组是一个类,有两种方式来定义命名元组: from collections import namedtuple User = namedtuple( ' User ' , [ ' name ' , ' age ' , ' id ' ]) User = namedtuple( ' User ' , ' name age id ' ) 实例化命名元组,获得类的一个实例: user = User( ' tester ' , ' 22 ' , ' 464643123 ' ) 二,命名元组的属性和方法 1,命名元组类的属性和方法 类属性 _fields:包含这个类所有字段名的元组 类方法 _make(iterable):接受一个可迭代对象来生产这个类的实例 # 通过类方法 _make() 和一个list创建一个User对象 user = User._make([ '

HTMLTESTRunner自动化测试报告增加截图功能

£可爱£侵袭症+ 提交于 2020-10-25 04:53:03
我们都知道 HTMLTESTRunner自动化测试报告 ,是Unittest单元测试框架报告,那么在做ui测试的时候就有点不适用了。 我们需要出错截图功能。 以下是我改的,增加了截图功能,先展示界面,再展示代码。 概要界面: 展开界面: 代码展示: 以下代码python2.7 和 python3.6两个版本 截图方式: python2: print 'screenshot:' , timestrmap , '.png' 在要截图的位置print就可以了。 python3: print( 'screenshot:' , timestrmap , '.png' ) 原理:展示时通过捕获unittest print中查找字符串“ screenshot: ”;找到就说明有截图,然后截取图片地址,写到html模版src=中。 截图代码: @property def getImage(self): ''' 截取图片,并保存在images文件夹 :return: 无 ''' timestrmap = time.strftime( ' %Y%m%d_%H.%M.%S ' ) imgPath = os.path.join( gl.imgPath , ' %s.png ' % str(timestrmap)) self.driver.save_screenshot(imgPath) print '

HTMLTESTRunner自动化测试报告增加截图功能

大兔子大兔子 提交于 2020-08-14 22:42:51
我们都知道 HTMLTESTRunner自动化测试报告 ,是Unittest单元测试框架报告,那么在做ui测试的时候就有点不适用了。 我们需要出错截图功能。 以下是我改的,增加了截图功能,先展示界面,再展示代码。 概要界面: 展开界面: 代码展示: 以下代码python2.7 和 python3.6两个版本 截图方式: python2: print 'screenshot:' , timestrmap , '.png' 在要截图的位置print就可以了。 python3: print( 'screenshot:' , timestrmap , '.png' ) 原理:展示时通过捕获unittest print中查找字符串“ screenshot: ”;找到就说明有截图,然后截取图片地址,写到html模版src=中。 截图代码: @property def getImage(self): ''' 截取图片,并保存在images文件夹 :return: 无 ''' timestrmap = time.strftime( ' %Y%m%d_%H.%M.%S ' ) imgPath = os.path.join( gl.imgPath , ' %s.png ' % str(timestrmap)) self.driver.save_screenshot(imgPath) print '

教培行业工程师面临着什么挑战?研发面板全栈式解决工程师的痛点

让人想犯罪 __ 提交于 2020-08-13 12:13:08
“攻城狮”之痛 痛一:最“可爱”的产品经理,这些人一天到晚提需求,而且毫无愧意改来改去。 每一个需求背后都是一大串的代码,每一次需求的变更,意味着相对应的每一个环节都要变更,而这些,都是“攻城狮”一个一个代码敲上去的。所谓杀掉一个“攻城狮”,不用枪、刀、剑、斧,多提需求以及需求变更就够,大概就是这样子的吧。 产品经理们,摸过你们长在左心房的良心吗?而且,说好的下午茶、大餐呢? 痛二:最“要命”的老板,这些人老是有这周想到下周就要的系统。 996已经司空见惯,跟谁学更是提倡“996变为007”,鼓励员工尽量住在公司,所谓“不畏加班不念下班”,虽然不确定真假,但这个应该是每一个老板的内心想法。项目工作量需要30人/天,老板要求10人/天,这就是现实! 老板们,你有考虑过我们“攻城狮”所剩无几的头发兄弟的感受吗?你有想过我们“攻城狮”也想有时间去大学城找女朋友吗? 痛三:最费头发的事儿——修Bug,这些“兄弟”最讨人烦,但无奈它天天光顾。 在公司/机构里,老师绝对是最受宠的那类人,天天都有人围着。 我们这些“攻城狮”则天天围着Bug,当真是一个Bug一时爽,一打Bug头发光。如果是自己写的代码倒还好,最坑的是公司/机构里有N多不知道哪儿来的“系统”,甚至还没有说明文档。 痛四:最憋屈的事儿——修复“罢工”系统,这些家伙不来则已,一来惊天动地。 每年招生高峰期,大大小小的活动肯定是少不了

创建Jenkins构建触发器,代码提交至gitLab即自动触发构建

只谈情不闲聊 提交于 2020-08-13 12:11:34
https://www.cnblogs.com/chenchen-tester/p/10025420.html 下载所需插件,系统设置--》插件管理,搜索以下两个插件,选择安装 登录gitLab,生成一个Personal Access Tokens 进入Jenkins,添加api token,路径:首页--》凭据--》添加凭据 添加后再次打开,如图所示 然后打开系统管理,进入系统设置,配置gitLab 然后进入job,进行配置 进入GitLab,打开项目--》settings 测试成功,返回200 到此,触发器配置成功,开发一旦有提交代码,就会自动构建,如图所示 Ps:遇到的问题:gitLab上添加webhook保存,报错Requests to localhost are not allowed 解决方案:需要使用管理员帐号登录,进入Admin area,在Admin area中,在settings标签下面,找到OutBound Request,勾选上Allow requests to the local network from hooks and services ,保存更改即可解决问题 来源: oschina 链接: https://my.oschina.net/xxjbs001/blog/4439728

敏捷软件测试常见的七个误区

喜你入骨 提交于 2020-08-12 03:13:35
敏捷软件开发是从1990年代开始逐渐引起广泛关注的一种新型软件开发方法,是能够应对快速变化的需求的一种软件开发能力,它作为一种新型的开发模式,被越来越多地应用到软件项目中。 敏捷软件测试指的是在敏捷软件开发过程中跟质量相关的一系列活动,和传统意义上的软件测试有很多区别,因为敏捷软件测试的概念一直比较模糊,所以经常会有人走入误区,我曾经在瀑布型的软件开发模式下做过几年的测试人员,所以在刚刚接触敏捷项目的时候也曾有过一些误解,但是在敏捷软件开发团队工作将近5年后,对很多问题有了新的认识,以下针对几个常见的误区和大家分享一下我的理解。 不需要测试策略 测试策略关注的是目标和方法,即怎样在限定的时间内有效利用有限的资源达到提前制定的目标,一般制定测试策略时会首先明确测试目标,然后确定需要哪些测试类型,各种测试类型所占的大概比例,选择测试框架,最后规划一下软件发布前需要经历哪些测试阶段。 很多人认为,敏捷软件开发以用户故事为单元,是不是集中精力在用户故事测试就足够了?是不是根本不需要考虑测试策略? 其实这是一个很大的误解,因为敏捷软件开发通常都是迭代式的发布,周期比较短,资源非常有限,这就更需要我们统筹规划,小到一个用户故事,大到一个完整的用户特性,都需要考虑怎么合理利用测试资源,所以敏捷项目是非常需要测试策略的。 具体到实际项目中,通常团队会在项目初期(迭代0)制定测试策略,明确目标