zoukankan      html  css  js  c++  java
  • 软件测试系统学习流程和常见面试题

    在学习软件测试的时候你是否会感觉到不知从何下手?

    今天教导你们软件测试学习的系统流程和面试常见的问题。

    学习流程

    一、必备技能

    1. 编程基础,能看懂前端页面,掌握一门语言:php/python/java等

    2.数据库知识,建议准备好sql语言,能掌握高级查询使用基本可以应对了。

    3.软件测试理论,这个大家都不陌生,也是必考的了,应该可以轻松应付。要注意准备下web和app测试和性能测试这块,现在做web、app和微信小程序的公司好多。

    4.根据公司具体的职位要求可以准备的有linux的命令,CMMI的基础知识,TCP/IP的基础知识等。
    二、学习流程

    1.功能测试学习

    功能是软件测试最基础最本质的工作,就和地基一样,所以功能测试基础一定要打好。在了解基础的功能测试的时候可以看一看《软件测试的艺术》这本书对才学习软件测试的人真的很有用。

    2.接口测试

    接口是前后端数据交互的通道,接口测试也是测试中很重要的一部分,接口测试的学习包括测试工具的学习:apipost、jmeter、loadrunner等。通信协议,http协议也需要重点学习,推荐看一下《图解网络-小林coding》,可以帮助我们基础了解互联网通信,前端如何传递数据到后端。

    3.性能测试

    性能测试一般是接口测试的一部分,通过接口对服务器进行的测试,查看服务器各种数值,性能测试包括很多分类测试注重点也不一样,如:压力测试、负载测试、稳定姓测试等。

    4.自动化测试

    自动化测试可以分为:接口自动化测试和ui自动化测试。

    学习自动化测试,需要掌握一门语言,php/python/java等。接口自动化测试要掌握requests框架,ui自动化测试需要掌握:web端需要掌握selenium、app端需要掌握appium。

    5.Linux操作系统

    学习Linux操作系统是为了自己部署测试环境,方便于自己测试。学习好Linux shell语句也很重要,学习书籍可以看看《鸟哥的linux私房菜》。

    6.前端、后端和数据库语言

    能够看懂前端页面,知道前端页面是如何编写出来的,ajax传值的方法,后端会一门后端语言,php/python/java等。会数据库基本的sql语句的编写。

    常见面试题

    一、功能测试

    1.说说你以前公司的测试流程。必答题。主要结合自己的项目经验相信讲一个自己做过的项目,从立项到测试结束,当然侧重测试和自己所做的内容。这里面试官一般都会根据你说的再提问。

    2.功能测试主要有那些测试方法?

    等价类划分、边界值、因果图划分、正交、场景、随机、错误推断、测试大纲

    A:等价类划分法: : 1:有效等价类: 2:无效等价类:

    案例:比如一个登陆输入框,规定只能输入中文,同时长度为6-10,

    通过等价类设计测试用例:

    测试用例中重要的三步: 输入 操作 预计结果 如果与预期结果不符合就是bug

    有效等价类: 输入:输入长度为6的中文,输入的为王小明,这就是有效等价类

    无效等价类:

    1: 输入长度为4的中文,输入位小名,点击登录,预计结果长度不符合要求

    2: 输入长度为6,但是是英文的,点击登录,预计结果 请输入中文

    3: 输入长度为4,而且不是中文的,是数字,1234,点击登录,预计结果请输入中文并且长度为6-10位

    4:输入长度为12而且不是中文的,比如qwertyuiopas,点击登录,预计结果请输入中文并且长度为6-10位

    B:边界值法:

    应用场景:边界值往往和等价类划分法一起使用,形成一套更为完善的测试方案,找到有效数据和无效数据的分界点,

    注解边界值一般和有效等价类划分法配合使用:

    案例:比如一个登陆输入框,规定只能输入中文,同时长度为6-10,

    上面输入框的边界的:如果固定大于等于6,并且小于等于10,

    那左边界就是 5和 6

    右边界是:10 和 11

    测试用例:

    1:输入的为王小明,这就是有效等价类和边界值的结合使用

    2:输入小名,这就是边界值为5,同时有效等价类

    3:输入欧阳致远家,这就是边界值10,同时等价类有效

    4:输入欧阳致远啦啦,这就是边界值为11,同时有效等价类

    C:因果图及判定表法:

    应用场景:在一个界面中有多个控件,如果控件之间有组合关系或者限制关系,不同的控件组合会产生不同的输入结果,为了弄清楚不同的输入组合会产生咋样的输出结果,可以使用因果图及判定表法:

    判断是儿童还是青年还是成年人:

    条件1:年龄 age

    条件2:身高height

    条件3:体重weight

    输入年龄5,体重80公斤,身高170,查无此人

    输入提高80,身高170,输入年龄20,成年人

    输入年龄5,体重30,身高60,小孩

    D:正交表:

    应用场景:在一个界面中有多个控件,每个控件有多个取值,测试时考虑不同的控件不同取值之间的多种组合,但组合数量巨大(>20种,20种以下一般考虑判定表因果图),没有必要全部测试,如何从所有的组合中挑选最少、最优的组合进行测试,可以使用正交排列法。

    正交表的测试思想特点:

    1)使用每个控件的每个取值参与组合的次数是基本相等的(均匀的)

    2)在所有的组合数据中,选取数据时,应该均匀的选取,而不能从局部选取。

    3)如果时间允许,尽可能的多测一些组合

    正交表:主要针对一个输入框里面可能有多个值,而且数量巨大

    年龄 体重 省 市 县

    比如:输入年龄 18,体重45,山西 大同 阳高

    E:测试大纲法

    适用场合:程序包含多个窗口,每个窗口中又有多个功能,这些功能之间又有一定的联系。为了梳理清楚窗口之间以及窗口不同功能之间的联系,使用测试大纲法。

    F:场景法

    适用场合:大多数的业务比较复杂的软件系统都适合使用场景法(便于将各个功能点串起来,便于形成完整的业务感觉)是一种基于软件业务的测试方法,把自己当成最终用户,尽可能的模拟用户在使用此软件的操作

    案例:

    场景一:比如买东西:输入袜子,点击查询,出现列表,点击七匹狼,点击进入详情,点击加入购物车,点击去购物车结算,点击收获地址,点击支付,支付成功

    场景二:比如买东西:输入袜子,点击查询,出现列表,点击七匹狼,点击进入详情,点击加入购物车,点击去购物车结算,点击收获地址,点击取消支付

    G: 错误推断法

    基于经验和直觉推测程序中所有可能存在的各种错误 , 从而有针对性的设 计测试用例的方法

    在进行灰盒测试的时候经常用到此方法

    H:随机测试

    随意测试,不考虑任何用例和需求,完全站在一个用户或者的角度对产品进行使用。

    适用场景:

    1) 所有之前设定的用例已经 执行完毕

    2)海量的条件组合无法一遍 历的时候

    二.性能测试和接口测试

    1.一般使用什么性能测试和接口测试工具

    性能测试:jmeter、loadrunner

    接口测试:apipost、postman
    ApiPost - 可直接生成文档的API调试、管理工具​

    2.如何进行接口测试,接口测试需要注意那些方面

    通过apipost、postman等工具,根据接口文档,输入请求方法get、post等方法,输入url,输入需要传递的参数,然后查看响应是否符合接口文档所显示的。需要注意json响应中的参数的类型等

    3.性能测试具体指什么

    指验证软件的性能可以满足系统规格给定的指定要求的性能指标。性能测试是一个比较大的范围,可以进一步衍生出负载测试、强度测试、压力测试、稳定性测试。通过自动化测试工具模拟多种正常、异常、峰值条件,对系统各项性能指标测试

    4.什么是压力测试

    压力测试方法测试系统在一定饱和状态下,例如cpu、内存在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误。测试出系统所能承受的最大极限。是指系统在极限下的压力情况,系统在什么样的压力下会导致系统得到失效,无法正常运行。100个用户连续访问1小时可以看做是压力测试,连续访问10小时可以认为是负载测试

    三.自动化测试

    1.自动化测试指什么

    ui界面自动化和接口自动化

    ui界面自动化:通过代码模拟人对程序进行的操作

    接口自动化;通过代码实现大批量接口测试

    2.自动化测试一般使用什么工具

    web测试:python+selenium+浏览器驱动

    app测试:python+appium

  • 相关阅读:
    Java实现 蓝桥杯 算法提高 特等奖学金(暴力)
    Java实现 蓝桥杯 算法提高 特等奖学金(暴力)
    Java实现 蓝桥杯 算法提高 GPA(暴力)
    Java实现 蓝桥杯 算法提高 GPA(暴力)
    Java实现 蓝桥杯 算法提高 GPA(暴力)
    Java实现 蓝桥杯 算法提高 套正方形(暴力)
    Java实现 蓝桥杯 算法提高 套正方形(暴力)
    第一届云原生应用大赛火热报名中! helm install “一键安装”应用触手可及!
    云原生时代,2个方案轻松加速百万级镜像
    Knative 基本功能深入剖析:Knative Serving 自动扩缩容 Autoscaler
  • 原文地址:https://www.cnblogs.com/ceshirenshenglu/p/14023563.html
Copyright © 2011-2022 走看看