本文首发自「慕课网」,想理解更多 IT 干货内容,程序员圈内热闻,欢送关注!
作者 | 慕课网精英讲师 陈磊
想要成为一名合格的测试工程师并不是一件容易的事件,然而想要划水的人生其实也不难。浏览这篇文章的同学想来肯定是不甘于划水的人生的,那咱们持续往下看:软件测试的人生从测试用例开始说到软件测试,那么咱们不得不从测试的基本功测试用例的设计开始。
那么首先咱们应该晓得测试用例是什么,这里咱们援用 IEEE Standard 610 (1990) 的测试用例的定义开始:A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.(IEEE Std 829-1983) Documentation specifying inputs, predicted results, and a set of execution conditions for a test item. 为特定指标开发的一组测试输出,执行条件和预期后果,例如执行特定程序门路或验证是否合乎特定要求。(IEEE 规范 829-1983)指定测试项目的输出,预测后果和一组执行条件的文档。软件测试用例的定义形容得十分分明,测试用例就是一组有测试输出、执行条件和预期后果的汇合。那么如何设计这样的一个测试用例呢?
我置信你从任何一个软件测试的大学教材外面都能看到,例如边界值法、等价类法、因果图法、场景法期待。只有一提到等价类办法,我置信很多小伙伴都会想起书本上的三个整型变量组成三角形的例子。等价类设计测试用例比拟适宜解决有很多条件组合的输出方面的测试用例的设计,场景法适宜对批量工作、定时工作等业务逻辑进行测试用例设计,边界值适宜于一个输入框的测试用例设计,同时边界值还能够和正交试验办法进行组合应用,因果图办法比拟适宜有互相束缚的性能的测试用例设计。无论你是一个测试经理还是一个测试工程师,甚至你是一个测试开发工程师,你也须要晓得这些迷信的办法,这些迷信的形式是软件测试中输出项的无效的设计办法,在工作中应用这些迷信的办法设计测试用例,能够使你的测试工作更加得牢靠和可信。抉择技术还是抉择业务随同着工作年限的提供,所有人都在面向于业务或者技术的一个抉择。
测试工程师这下面是齐全不同的两条路,一个是走纯业务路线,即测试工程师。测试工程师对本人负责业务很理解,对所有细枝末节的流程都很分明。在一个团队中,产品经理对每次新 feature 很理解,因为是他设计的,他有可能也对一些和这些新设计的 feature 相关联的一些业务逻辑也很分明,然而他对上上一次乃至更久之前的迭代的 feature 有可能并不理解。开发工程师对本次开发的性能很相熟,并且对和本次迭代的 feature 有交加的一些内容理解,然而对历史版本的逻辑并不分明。这外面唯独业务测试工程师对某一个被测试零碎所有的 feature 都很理解,这样他能力更好地评估一个零碎的品质。随着业务测试工程师的致力,缓缓地会变成测试负责人或者一个对应业务畛域的专家。测试开发工程师如果要抉择测试开发这条路,那么你会走上一个半测试、半开发的路,在这条职业生涯的路上,你会一直地 coding,一直从新定义测试。从自动化脚本的撰写到测试框架的设计、开发和保护,从测试执行到测试平台的研发和搭建,而后缓缓走向高级测试开发工程师的路线,推动我的项目级别的继续集成、继续交付、继续部署的过程,推动工程效率的一直进步。最初会走上测试架构师的角色,这个时候你有可能更加贴合理论,更加的底层。
在某一项技术的细节上和开发架构师的知识库和技能库相差无几,然而又多出了很多 DevOps 相干的内容常识体系,是真个团队的自动化水平的推进者,或者倒退成一个测试开发负责人,治理 team 外部的交付周期,推动过程化测试过程。该抉择那一条路?随着测试自动化的倒退,测试开发工程师和测试工程师最终变成一个矛盾体,测试开发工程师在推动团队内的自动化水平,通过一直地开发、引进和摸索,开释大量的业务测试的手工测试工作量。业务测试工程师的很多工作越来越多的交由机器来实现,业务测试工程师会逐步的变成整个测试进度、测试过程的决策者,辅助测试工具链最终实现测试,并评审最终的测试后果。然而现在市场曾经越来越多地开始意识到了自动化能够给团队交付效率带来的红利,因而当初的一个纯业务测试工程师的工作机会越来越少了,因而我还是倡议很多人抉择第二条路,无论你当初是中级业务测试工程师还是高级业务测试工程师,都要尝试着去学习测试开发的技术,给本人充电。
测试的技术栈在把握测试实践根底之上你还须要晓得如下的常识内容:HTTP 协定等一些相干的通信协议,把握各种各样的协定截获办法;开发的专业术语:序列化、MVC、NIO 等内容;自动化测试框架(这外面蕴含了 WebUI、AppUI 和 API 相干的自动化测试框架);性能测试工具;Linux 操作系统相干操作方法;数据库的一些查询方法语句;各种音讯、协定的模仿伎俩;了解继续集成、继续交付、继续集成和 DevOps;理解麻利,懂得精益,会用看板;懂得容器化以及容器编排;会一种 coding 的技术(有根底的你会什么就深刻学习一下对应的,要是都没有倡议学习 python)。下面都是很多星星点点的一些知识点,最初要通过 DevOps 类的平台能够流程化你的技术体系,达到一种能够通过端到端交付成果的过程。
总结
明天咱们从软件测试工程师基本功测试用例设计开始,探讨了测试职业生涯的两条路,然而就与当今招聘市场的需要,倡议大家都多少走到第二条路上。最初介绍了要走上第二条路须要逐步学习的一些内容,以及对大家的一些倡议。
欢送关注「慕课网」,发现更多 IT 圈优质内容,分享干货常识,帮忙你成为更好的程序员!