我们常说,“磨刀不误砍柴工”,一门技术的学习,我们通常呢,会先指定一个学习计划,或者说学习路线,今天我们就来谈谈功能测试的学习路线吧!
一.测试理论要学习
按照我们“是什么?为什么?怎么办?” 三段论法,学习软件测试,首先我们必须学习测试的一些基本理论,理解它,运用它!但是呢,不是所有的测试理论都要学,如我们所说的H模型、W模型,这些只需要有一个印象即可!
受“快餐式”生活的大环境影响,我们实际工作中基本上也是快节奏的开发,快节奏的测试。比如一些小公司一般会直接给到你一个系统让你测,测试岗位就他自己和你两个人,给你所谓的需求说明书开测吧!
那么拿到这么一个系统,我们怎样对它进行分析呢?
流程大体是这样的:
系统 → 功能模块 → 细化具体的子模块 → 细化测试点 → 测试内容
举个例子:测试文本框,怎么测?
有些职场小白可能这么想,看一下能不能输入特殊字符!
对吗?对!但是不全面,我们需要考虑的是关注几个维度?怎么进行设计?
1.文案是否正确
2.输入框能输入字符类型:数字、英文字符、汉字、特殊字符、空格、空值以及这些的组合
3.输入的长度 打开源码 html标签中输入maxlength
二、html要掌握
在自动化测试和web测试中我们都需要用到元素定位,定位的就是html元素。
功能测试中,用XMind进行测试点提取的时候,会发现有很多重复的组件 html元素。
定位模式:相对定位、绝对定位
三、Linux必须掌握
1.记住命令 10个命令
2.测试环境的部署,动态网络、静态网络的配置,集群搭建
四、MySQL一定要学习
MySQL绝对不能简化,一定要实打实的学习,尤其是MySQL查询必须实战。我们在MySQL学习中经常出现这样一种现象:简单的SQL会,稍稍复杂一点就挂了!!!
# 单表查询
select * from 表名;
遇到复杂的SQL,我们要细化要求
举个例子
# 查询每个领导下员工的最高工资,要求员工的最高工资不能为空
# 分布写
# 1.查询员工的最高工资
select max(e.salary) from employees e;
# 2.在以上的SQL上添加每个领导 查询条件 分组 根据每个领导进行分组
select max(e.salary) from employees e group by e.nanager_id;
# 3.在以上的SQL基础上添加员工工资不能为空 这个条件
select max(e.salary) from employees e where e.salary is not null group by e.nanager_id;
五、抓包工具
六、项目实战
功能测试比较简单,自动化测试难点,自动化测试的难点是需要掌握一门语言,比如Java、python等,无论是Java还是python我们都需要有一种思想,就是面向对象!
面向对象,我们今天用一个故事来理解,就是女娲造人!
假如你是女娲,造人之前首先要思考我想要造什么样的人?女娲当年造人造的是一批人,属于一类事物,这里我们就引入了python中类的概念
1.想着我要造人
class Person:
# 出生具备的属性 体重、名字 调用init方法
init(self.name,体重)
# 都能做一些事情
def eat()
2.具体去操作
Java中有一句话,万物皆可new
python中没有这个概念
对象 一个对象就是一个真真正正的人
peeson-Person("xrl",100)
运行出现以下字样的话
>
这是编码的时候申请的内存地址
类写完了,不运行,不占用任何的内容
最后,那么功能测试和自动化测试又什么区别呢?
功能测试即我们常说的手工测试,我们必须先学习功能测试,它是基础,主要是测试使用软件过程中发现的问题,测试的主体是人;而自动化测试的主体是代码,整体逻辑不易。就好比我们工厂里面机器代替人工测试。
了解了以上内容,我们就可以开展我们功能测试的学习了,在这里以诸葛亮的《诫子书》来激励想学习软件测试的小伙伴们吧!
夫君子之行,静以修身,俭以养德。非澹泊无以明志,非宁静无以致远。夫学须静也,才须学也,非学无以广才,非志无以成学。慆慢则不能研精,险躁则不能理性。年与时驰,意与岁去,遂成枯落,多不接世。悲守穷庐,将复何及!