什么是基本功?百度到的结果是:从事某种工作所必需的基本的知识和技能。
推理1:“基本”二字,意味着基本功必定是来源测试工作的基本流程。
推理2:“必须”二字,就意味者无论你是高级的测试开发,还是初级的手工测试,都必须具备的技能。
知道基本功的概念,"开发技术算不算测试人员基本功?",那肯定不算呀。我是初级测试,我不会自动化,但我用手工依然可以完成测试呀。虽然低效,但也能测试完。这说明开发对于测试而言,并不是必须的,当然也就不属于基本功了。
回到主题:软件测试人员的基本功包括哪些呢?结合上面的分析,接下来该问题的阐述结构如下:
1、一看软件测试基本流程
2、二看初级测试人员的岗位需求
3、明确软件测试的基本功有哪些
4、如何牢固掌握这些基本功
一、软件测试基本流程
上图就是软件测试的基本流程。
1)需求评审
2)计划编写
3)用例设计
4)用例执行
5)缺陷管理
6)测试报告
所有公司软件测试团队工作,基本都是围绕这套流程来开展工作的。
6个环节哪些是基本功,还要结合初级测试的岗位要求得出。
因为,初级测试人员不需要掌握的工作内容,就不叫基本功。
二、再看初级测试人员的岗位需求
从初级功能测试(也叫手工测试)的工作描述上,结合基本测试流程,我们可以拆解下和技能相关工作内容,就是下面4点。
1)编写测试用例
2)完成测试执行
3)提交跟踪缺陷(基本流程里叫缺陷管理)
4)提交测试报告
而基础流程中的“需求评审”、“计划编写”,由测试组长或测试经理负责即可,初级测试工程师不用涉及,所以这2项就不是基本功。
三、明确软件测试的基本功有哪些
但是测试报告,就是“统计下测试结果和缺陷统计”。因为仅仅是统计,所以远称不上技能。最终定下的软件测试人员基本功,就是下面这3项:
1)测试用例
2)测试执行
3)缺陷管理
无论你是做互联网的软件测试,还是做线下的硬件测试,还是做软硬结合的"车载测试”,以上三个都是基本功,具有广泛的通用性。
所以只要你想吃测试这碗饭,这三项基本功必须牢固掌握。
基本功如此重要,如何牢固掌握,接下来我按照1)是什么,2)有什么用,3)怎么做,4)怎么加强 四个维度分别来阐述。
四、如何牢固掌握测试三大基本功-测试用例
1、什么是测试用例?
专业的术语解释为:测试用例,是为特定测试目的设计的测试执行文档。
通俗解释为:针对被测功能,你要测什么,你要通过测试团队规范化的用例形式把他写出来。
测试用例,简单来说,是个人测试思想的文档体现。
测试用例举例
2、测试用例作用?
测试用例有3个作用,每个都非常重要:
a)防止漏侧
b)实施测试的标准
c)测试工作评估
3、怎么做测试用例
首先,要了解测试用例的8大要素:
要素1:用例编号: 项目+模块+编号
要素2:用例标题: 预期结果+操作步骤
要素3:模块/项目: 所属项目或模块
要素4:前置条件: 要执行此条用例,有哪些前置操作
要素5:优先级: 表示用例的重要程度或者影响力P0~p4 (P0最高)
要素6:测试步骤: 描述操作步骤
要素7:测试数据: 操作的数据,没有的话可以为空
要素8:预期结果: 期望达到的结果
接下来,就是要了解常用的测试用例方法啦。
方法1:流程图法
方法2:等价类划分法
方法3:边界值分析
方法4:判定表
方法5:正交法
方法6:错误推测法
常用方法是前面3个,即流程图法,等价类划分法,边界值分析法。
测试用例方法中,最重要的就是了解各个方法的应用场景区别。
a)流程图法的应用场景是“描述用户的使用场景,在业务场景中涉及多功能的组合逻辑”。典型代表是“流程测试”
b)等价类划分法的应用场景是“无法穷举的测试数据 or 测试数据量过大”,典型代表是“页面的输入框测试”。
c)边界值划分法的应用场景是“在等价类的基础上针对有边界范围的测试数据,测试数据一般为数字类或时间类”,典型代表是“有边界范围的输入框类测试”。
d)正交表法的应用场景是“一条用例要覆盖多个输入条件(4个条件以下),且条件之间有依赖(制约)”
e)判定表的应用场景是“有效测试用例太多,但因为条件输入值是中英文字符,无法使用边界值划分法来缩小出测试范围,就使用数学统计类工具'判定表'来合理缩小测试用例条数”。
f)错误推测法的应用场景是“根据经验对可能错误测试”,小白不太适合。
4、怎么牢固掌握测试用例?
测试用例,针对测试用例,我撰写了很多文章,可以交叉看下面这些:
测试用例更多的学习资源,推荐如下:
1)若时间紧张,可快速看下面测试用例相关的高 赞文章:
《测试用例是怎么写的?110 赞同 · 18 评论回答》
https://www.zhihu.com/question/272193009/answer/2962583197
《感觉测试用例好难写怎么办?70 赞同 · 38 评论回答》
https://www.zhihu.com/question/393584042/answer/2957750770
《如何编写测试用例?2500 赞同 · 356 评论回答》
https://www.zhihu.com/question/51558124/answer/1494934653
《有哪些比较好的测试用例管理工具?116 赞同 · 18 评论回答》
https://www.zhihu.com/question/26898212/answer/2940946212
《如何写出高效的软件测试用例?995 赞同 · 90 评论回答》
https://www.zhihu.com/question/39865629/answer/1639536795
《测试工程师都是怎么写测试用例的?222 赞同 · 14 评论回答》
https://www.zhihu.com/question/339206144/answer/2322810917
《在国外,资深的软件测试人员大多是手动测试,他们厉害之处在于测试用例的设计,但在国内,很多测试人员都把自动化测试当成很厉害的资本,为什么?635 赞同 · 69 评论回答》https://www.zhihu.com/question/19721142/answer/1633490943
2)若时间充裕,想系统学习测试用例,可看下方视频:
a)《黑盒测试用例设计》
本视频b站链接:https://www.bilibili.com/video/BV1YT4y137WA
b)《功能测试_6天黑马手工测试2021版》
本视频b站链接:https://www.bilibili.com/video/BV1Q
c)《移动端App测试_最新2020教学视频》
本视频b站链接:https://www.bilibili.com/video/BV12o4y1k7Kb
d)《测试入门_9天黑马手工测试理论+实战完整分享_适合0基础》
本视频b站链接:https://www.bilibili.com/video/BV1at4y1Y7AN
e)《白盒测试用例设计》
本视频b站链接:https://www.bilibili.com/video/BV1cC4y1s7Bx
五、如何牢固掌握测试三大基本功-测试执行分享
1、什么是测试执行
就是严格执行写好的测试用例,在软件上执行,验证是否和预期结果一样,并记录。
红色字体为测试执行后的记录
2、测试执行有什么用?
发现软件中的缺陷(也叫bug)。
3、测试执行怎么做?
step1: 根据测试用例优先级来执行测试用例
step2: 比对实际结果与测试用例中的预期结果是否一致。
一致,则记录通过。不一致,则记录失败。无法执行,则记录阻塞。
step3: 用例执行失败:记录并提交缺陷。
step4:更新测试用例。
为什么测试执行的时候,还可以个更新测试用例呢?原因是测试用例不是一蹴而就,而是反复优化的结果,如果测试人员在执行中发现测试用例遗漏,冗余,无法执行,这进行相应操作即可。
4、怎么牢固掌握测试执行?
如果是人工进行测试执行,严格按照测试用例执行即可。所以测试执行虽然是基本功,但是技术门槛并不高哈,执行时细心即可。
七、如何牢固掌握测试三大基本功-测试执行分享
1、什么是缺陷管理
缺陷,也叫bug。缺陷管理就是提交bug,跟踪bug。
2、缺陷管理有什么用?
1) 软件测试工程师,要通过缺陷管理和开发打交道,修复软件中的BUG;
2) 软件测试工程师,可通过缺陷管理,帮助开发进行缺陷定位。
3、缺陷管理怎么做?
因为缺陷提交,可以借助Jira或禅道等工具。工具很容易掌握,工具不是重点,只是手段。
所以,缺陷管理的核心在于缺陷提交内容的编写(如下图)。
缺陷提交模板
1)缺陷管理的提交要素分为这5种:
a)缺陷编号,b)缺陷状态,c)严重程度,d)优先级 e)bug类型
缺陷编号的掌握很容易的,英文+数字即可。
缺陷状态、严重程度、优先级,按照公司的要求输出即可。
bug类型不是必须,看公司要求。
某公司对缺陷提交要素的要求
2)但缺陷的核心要素却是下面这三种:
a)缺陷标题【核心】
缺陷标题作用,就是将缺陷描述清楚。
描述清楚的评价标准:就是开发人员时候可以不看其他要素,仅看标题就能知道反馈的是什么bug。
要想描述清楚,缺陷命名技巧要采用【实际结果+预期结果】的命名方法,
比如“验证码在(10,15]分依然能登录成功-预期失败,因有效时间是10分钟以内”;
再比如“QQ号为空,下一步可点击(预期不可点击)”
b)缺陷描述(重要)
缺陷描述,包含这四块:
1)预(前)置条件(对应测试用例的“前置条件”)
2)复现步骤(对应测试用例的“测试步骤”)
3)预期结果(对应测试用例的“预期结果”)
4)实际结果(对应测试用例的“实际结果”)
画框部分为缺陷描述
缺陷描述虽然重要,但是撰写起来却很简单,将测试用例的核心写进来就可以。
为什么要缺陷描述中,要将测试用例为啥还要再表达一遍?
原因1:测试用例是指测试团队内部执行的一个重要产出,是测试组内部的执行参考(跨组不看)。
原因2:缺陷是提给开发的,你得让开发去再现这个缺陷(bug)。所以你需要把测试用例核心内容在缺陷(bug)里写清楚。
c) 必要附件
附件可以为下面三种,目的是为了避免和开发扯皮
或图片——能用图片反馈的bug一定要用图片
或日志——能放上日志就一定放上,方便开发进行bug分析
或视频——对于偶发性的bug,一定要录视频
4、怎么牢固掌握缺陷开发
缺陷相比测试用例而言,还是比较简单的。利用我刚才的文字就能掌握。
推荐视频如下:
1)北京校区-《1天软件缺陷与JIRA》
本视频b站链接:https://www.bilibili.com/video/BV1DU4y1w7tX
2 )《测试入门_9天黑马手工测试理论+实战完整分享_适合0基础》
本视频b站链接:https://www.bilibili.com/video/BV1at4y1Y7AN
3)《实战项目带小白入职7-12k功能测试岗位,仅7小时【史上最快】》
本视频b站链接:https://www.bilibili.com/video/BV1kw411o756
八、总结:
业务理解,有效沟通,思维逻辑...这些对于测试人员来说,重要吗?
当然重要。但这些是能力,而不是基本功。
对于软件测试这种技术岗位而言,基本功指的是技术。
但拥有扎实的基本功,在当前经济环境下,还是很难就业的,还要掌握自动化技术。
因为各行各业都不好过,这个时候企业用人,就会找性价比更高的。
所以大家想从事测试工作,在搞定基本功的基础上,希望你能够再学习一些自动化的东西。