写点什么

测试人员的 GitHub

  • 2017-07-31
  • 本文字数:2747 字

    阅读完需:约 9 分钟

当与开发人员谈起版本控制时,你一般会听到他们说,Git 是一种工作流工具,而 GitHub 是一个存放代码和个人简历的地方。而对于测试人员或业务分析人员来说,Git 是启动构建和产生缺陷的神秘之源。测试人员也应该来使用 GitHub,不管是出于个人目的还是项目的需要,并成为现有项目的贡献者。

来自 Excelon 的总经理 Matt Heusser 和来自 Laurel & Wolf 的测试工程师 Chris Kenst 在 2017 Spring 在线测试大会上呈现了有关成为GitHub 贡献者的演讲。

Heusser 和 Kenst 以如何创建 GitHub 账号作为开场。因为他们的演讲视频可以重复播放,所以观众可以重复观看视频内容,并在观看过程中暂停视频,然后照着视频中的命令进行操作。

在演讲结束后,InfoQ 采访了 Heusser 和 Kenst,谈论如何在代码之外使用 GitHub、测试人员如何从 GitHub 中得获益,以及如何鼓励测试人员使用 GitHub 和其他开源工具。

InfoQ:你们提到说,GitHub 不仅仅可以用于存放代码,还有其他很多用处。你们能举一些例子吗?

Matt Heusser: 当然。任何一个测试相关的资源——测试计划、会议纪要、简明指南都可以放到版本控制系统里。而规范文件(假设它们是 HTML 或 MS Word 格式的)可以放到 GitHub 上。

Chris Kenst: 探索性测试章程(exploratory charter)、清单、速查手册、数据,甚至是 Reddit 风格的问答(Ask Me Anything,AMA)。我们还能通过 GitHub 页面来创建网站(测试人员应该给自己创建在线资料),并在上面撰写和发布书本作品。只有你想不到的,没有你做不到的!

示例可以激发创造力,所以我举了一些例子。下面是我创建过的测试资源,它们都很有用。第一个是关于如何使用 Elisabeth Hendrickson 所倡导的格式来编写探索性测试章程的描述和示例。第三个是一个字符串清单,你可以把它们用在基于字符串的输入字段上,有助于你找出系统的错误,很有意思!

有很多例子说明如何通过 GitHub 页面来创建一个网站(对于测试人员来说,这是一个很好的选择)。第一个地址是 GitHub 产品经理 Ben Balter 的个人主页和博客。第二个地址是一个非常简单的个人主页,上面汇聚了很多个链接,它们分别链接到不同的社交媒体网站。GitHub 有个很有意思的地方,如果你喜欢什么,你就为它拉取一个分支,然后做一些修改,把它变成你自己的!第三个地址是一个由社区驱动的开源网站,包含了软件测试大会和研讨会的信息。如果你想成为 GitHub 的贡献者,可以看看这个:成为测试大会的贡献者

InfoQ:如何使用 GitHub 来处理非代码对象?可以在这些对象上使用 GitHub 所有的功能吗?

Kenst:所有的项目享受同等待遇。在创建仓库后,你可以使用 GitHub 所有的主要功能,包括版本控制、问题管理、Wiki,等等。即使是非代码对象,你也可以提交拉取请求并作出增量性的变更。

Heusser:是的。除了二进制文件的合并和冲突处理,其他的都是一样的。不过,类似从两个分支中选择最新版本的操作对于 MS Word 文档来说是行不通的。

InfoQ:测试人员能够从 GitHub 中获得哪些好处?

Heusser:首先,你可以了解到开发人员的工作流,然后使用他们喜欢的方式与他们进行沟通。这样会减少测试人员与开发人员之间的摩擦。其次,你离构建资源和代码更近了。如果你看得懂代码,你就可以在代码级别找出一些错误。这样会提升你阅读代码的能力,或许还能参与到代码审查过程当中。Chris 一定会说,你也可以使用 GitHub 来组织自己的工作流——审批推送请求、记录缺陷,等等。另外,拥有一个 GitHub 账号并成为一个贡献者可以让你更容易找到工作,而且对于客户来说风险更小。

Kenst:没错。不管是盈利组织还是非盈利组织(比如 Selenium 项目),他们都在使用 GitHub 来托管他们的代码。

首先,这意味着软件人才会越来越多地使用 GitHub。代码变更是通过拉取请求来提交的,测试人员和开发人员可以看到代码的变更情况,在合并到生产环境之前,可以分别对它们进行测试。在系统的各个层面进行自动化测试给团队带来了优势。就像 Matt 说的那样,测试人员也可以参与到代码审查过程当中,并通过 GitHub Issues 来提交缺陷。

其次,这意味着组织和招聘者会越来越多地通过 GitHub 账号来物色候选人。如果有了 GitHub 上能够显示技术能力的东西,为什么还要去看简历呢?尽管这些东西可能会包含一些无关紧要的项目或非日常工作相关的资料,但它们都比单纯的简历要来得有价值。

InfoQ:你们在大会上演示了如何注册一个 GitHub 账号和启动一个项目,然后做了相应的解释。你们为什么要采取这样的方式呢?

Kenst:我们演示的主要目的是要确保观众能够真正地了解如何创建一个 GitHub 仓库并成为一个贡献者。基于这个原因和时间上的限制,我们决定先做演示,然后再说明一些背景信息和额外的例子。

Heusser:在开始的时候,演示花了很长的时间,而额外的一些补充花的时间更长,我们担心会超时。不过我们还是紧凑地完成了任务。

InfoQ:人们应该如何鼓励测试人员使用像 GitHub 这样的开源工具?你们有什么建议吗?

Heusser:这个问题问得很好。说实话,我听到很多领导或教练说一些“放手去做”之类的话,他们还质疑“为什么测试人员用不了新工具”。我建议让测试人员结成对,让他们使用新工具来完成工作,不管是使用 GitHub 还是 Selenium,或者其他的什么。你可能会觉得这比你想象得要困难一些,需要一些时间和帮助,又或者你觉得这个很容易,结对有助于减小阻力。不管是哪一种情况,你都赢了!

这里有一些给实践者的建议:启动一个项目,学习一些编码招式(katas)。对于编程语言来说,通过 Google 搜索到的建议与深度的专业知识之间是有很大区别的。一些技巧经过反复练习就会变成专业技能。从给我的 katas 仓库拉取分支开始,然后使用 katagenerator.rb 创建你自己的招式。其中有一个转化器是最简单的,它将罗马数字转换成小数。做一些修改,然后提交,你就知道该如何向一个项目提交代码了。

将来如果你需要其他软件,却因预算问题而烦恼时,可以考虑寻找开源的项目。例如,Selenium 可以用来替换 UFT。找到这个项目,看看能不能加入其中,或者仅仅是报告一些缺陷。报告缺陷是 Git 的另一个工作流,学习起来非常简单,而且开发者会因此而感激你!

Kenst: 在软件测试工具方面,过去十年的最大进展来自开源社区。 Selenium 成为 Web 测试的标准(并即将成为 W3C 标准), Appium 似乎也会成为移动自动化测试的标准。我们所使用的那些优秀的浏览器和浏览器工具都得益于开源社区(如 Chrome)。作为最流行的版本控制系统之一的 Git 也是开源的。

为了保持与时俱进,测试人员需要关注这些项目(以及其他相关的项目),而这些项目都在 GitHub 上。

查看英文原文 GitHub for Testers

2017-07-31 19:002760
用户头像

发布了 321 篇内容, 共 127.2 次阅读, 收获喜欢 138 次。

关注

评论

发布
暂无评论
发现更多内容

智能运维场景解析:如何通过异常检测发现业务系统状态异常

云智慧AIOps社区

人工智能 机器学习 异常检测 智能运维 状态管理

阿里云技术专家郝晨栋:云上可观测能力——问题的发现与定位实践

阿里云弹性计算

DevOps 运维 可观测性

大数据培训机构如何选择

小谷哥

8个方法管理 GitHub 用户权限

SEAL安全

git GitHub 安全 软件安全 软件供应链安全

【干货】知识共享的障碍及解决方法

Geek_da0866

极客星球丨字节跳动一站式数据治理解决方案及平台架构

MobTech袤博科技

架构 运维 数据治理 全链路

这样优化Spring Boot,启动速度快到飞起!

艾小仙

Java 微服务 springboot Eureka 微服务治理

java程序员培训班怎么选?

小谷哥

N分钟学会分位值的计算方式

眼镜盒子

指标

行业洞察|如何更好地建设数据中台?IT和业务要“齐步走”

WorkPlus

DistSQL 深度解析:打造动态化的分布式数据库

SphereEx

数据库 开源社区 ShardingSphere SphereEx #开源

知识分享|分享一些提升企业文档管理水平的方法

Baklib

经验分享|企业该怎样利用SaaS进行企业知识管理

Baklib

无套路、无陷阱、无广告 | 这个免费的即时通讯软件确定不用吗?

WorkPlus

活动报名:如何零基础快速上手开源的 Tapdata Live Data Platform?

tapdata

开源 开源社区 Tapdata 实时数据

算法题每日一练---第4天:图像模糊问题

知心宝贝

算法 前端 后端 7月月更

接口文档进化图鉴,有些古早接口文档工具,你可能都没用过

Liam

Postman 接口文档 API swagger API文档

API策略因何成为企业数字化转型的制胜法宝?

WorkPlus

传统企业的办公模式正在发生着变化,为什么企业需要数字化办公?

WorkPlus

为Python打包创建一个世外桃源,解决打包太大且启动慢的问题

迷彩

pyinstaller 7月月更 Python打包

李宏毅《机器学习》丨5. Tips for neural network design(神经网络设计技巧)

AXYZdong

机器学习 7月月更

学习java开发技术有用吗?

小谷哥

Review 后台管理系统实战:请求参数的 2 种封装风格

掘金安东尼

前端 编程范式 7月月更

图的基本定义和概念(二)

乔乔

7月月更

学习大数据技术之前做好这些准备

小谷哥

学好Web前端开发能找到好工作吗

小谷哥

如何快速开发一个简单实用的MES系统?

优秀

MES系统

跟我读论文丨Multi-Model Text Recognition Network

华为云开发者联盟

人工智能 文字识别 语言模型 视觉特征

“万物互联,使能千行百业”,2022 开放原子全球开源峰会 OpenAtom OpenHarmony 分论坛即将开幕

kk-OSC

开源 开放原子全球开源峰会

鼓励企业知识共享的好处,你知道多少?

Geek_da0866

测试人员的GitHub_GitHub_Ben Linders_InfoQ精选文章