HOME AUTHORS

软件测试常见方法/问题

2019年9月15日 14:32 2022年3月27日 16:20 更新
ali
Tags bug 水杯 等价

测试用例的八大要素

要输入的一些内容或进行的操作

bug级别以及如何定级

bug的级别有致命、严重、一般、建议优化。

主流程无法跑通,涉及到金钱等重要数据的严重计算错误,常规操作都能引起系统崩溃,系统异常退出等,这些属于致命bug,要紧急优先进行修改。

主要功能存在缺陷或者是功能遗漏,但是不影响主流程测试;还有是数值等轻微的计算错误,数据无法正常更新,这些可以算是严重bug。

兼容性不好,界面样式不美观这些界面或性能上的缺陷,影响用户交互体验的,可以算作一般bug,也是软件测试中最常遇到的一类bug

需求文档上没提及的一些细节,提示语不清晰或者没有,文字排列不整齐,鼠标位置不对等这些界面或用户交互体验可以优化的,可以算是建议优化

工作中的测试流程

怎么区分前后端bug

如果是请求数据的格式或内容有问题,前端bug;如果前端请求的接口和后端定义不一致,前端问题;如果是响应内容有问题,后端bug。如果响应内容没问题,页面显示有问题,前端bug。

测试用例怎么设计

常用7种方法:

等价类划分法

要考虑有效等价类和无效等价类,保证软件具有更高的可靠性

使用场景

根据测试用例的完整性区分

遵循单缺陷原则,用例覆盖每一个变量的一种有效值即可,不用考虑无效值

a有3个有效等价类(a1,a2,a3),b有2个有效等价类(b1,b2)

那么可以设计(a1),(a2),(a3),(b1),(b2)

在弱一般等价类的基础上,增加取值为无效值的情况。

在上面基础上,a有两个无效等价类(1a,2a),b有2个无效等价类(1b,2b)

那么可以设计(a1),(a2),(a3),(1a),(2a),(b1),(b2),(1b),(2b)

优点缺点

举例

等价类表:

image

测试用例:

image

边界值分析法

对输入输出的边界值进行测试,通常边界值分析法是作为等价类划分法的补充。

边界值与等价类的区别:

场景设计法

通过运用场景来对系统的功能点或业务流程的描述。

基本流:通过用例的最简单的路径(无任何差错,从开始直接执行到结束)

备选流:一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选流,或终止用例,不加入基本流中。

判定表

是分析和表达多逻辑条件下执行不同操作的情况的工具

image

判定表:

image

因果图

利用图解法分析输入的各种组合情况,适用于检查程序输入条件的各种组合情况

产生背景

等价类划分法和边界值分析法都是着重考虑输入条件,但是没有考虑输入条件的各种组合情况、各种输入条件之间的相互制约关系。这样虽然输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视

错误推测法

靠经验或者直觉推测程序中可能存在的各种错误

get请求和post请求区别

  1. 请求方式: get请求的内容只能放在请求头,通过url进行传递。而post请求的内容既能放在请求头,也能放在请求体

  2. 请求内容长度:get能传输的请求内容长度较短,而post请求对长度没有限制

  3. 缓存: get请求会被缓存,而post请求不会被缓存

  4. 安全性:post请求比get请求安全。get请求的参数会直接显示在url上,页面会被浏览器缓存,容易泄漏数据

  5. 编码方式:get请求只支持url编码,而post支持多编码方式

http协议和https协议的区别

  1. http协议是超文本传输协议,是明文传输的,端口是80

  2. https协议是安全版的SSL/TLS传输协议,传输数据是加密的,比较安全,端口是443

  3. http请求与响应速度比https要快,https更消耗服务器资源

抓包时发现抓到的请求是乱码的,怎么办

很可能是数据编码的问题,可以在fiddler响应数据页面那点击decode进行解码后正常显示数据

poatman里面body请求有哪些格式

postman中的请求格式可以分为两个大类,一个是params,另一个是body

params: 在这里设置了参数会以?参数1=参数1的值&参数2=参数2的值显示在URL上

body则是将请求参数放在请求体中

body中的请求格式有以下几种:

  1. multipart/form-data

    以键值对的格式输入,主要特点是可以上传文件

  2. application/x-www-form-urlencoded

    也是以键值对的格式输入,但是不支持文件传输

  3. raw

    还可以细分为:json、text、html、javascript、xml等格式

image

选择text,则请求头是text/plain

选择html,则请求头为text/html

选择javascript,则请求头为application/javascript

选择xml,则请求头为application/xml

  1. binary

    相当于Content-Type:application/octet-stream,只可上传二进制数据,由于没有键值,每次只能上传一个文件

  2. GraphQL

    支持使用正文创建和发送GraphQL查询。基本不使用这个

multipart/form-data与application/x-www-form-urlencoded区别

测试水杯/行李箱/鼠标

水杯

是否能正常装水,正常喝水;是否有盖子,盖子是否适合;水杯是否有保温功能,保温功能是否正常;水杯是否会漏水,盖住盖子之后是否会漏水

外观是否完整,是否舒适;颜色搭配是否美观;大小是否适中,形状是否合适;是否有图案,图案是否易磨损

水杯装水是否方便,喝水是否方便,倒水是否方便;是否防滑;装低温或高温水的时候,是否让手感到不适

水杯装满水之后,是否会露出来;水杯的最大可使用次数;水杯装高温水时,是否会破裂;水杯装低温水时,是否会破裂;水杯保温性是否能达到要求,水杯掉落之后,是否能正常使用;水杯长时间放置时,是否会发生泄漏

将水杯放在常温环境,使用是否正常;放在零下环境,使用是否正常;放在高于正常温度的环境,使用是否正常

材质是否无毒,装满热水后,是否烫手或者释放有毒物质;放在零下环境,是否会产生有毒物质,放在高温环境,是否会产生有毒物质

行李箱

拉杆箱大小,厚度、容量、以及各个面的承重情况,超出承重超出容量会有什么影响;拉杆的伸缩是否灵活,开锁解锁是否方便安全

拉杆手把是否防滑,拉链是否顺滑,脚轮是否灵活

是否支持在平地、沙地、楼梯、泥土地等场景使用,还有不同温度下的使用情况

材质是否无毒;遇高温、下雨等是否会释放有毒物质,边角是否光滑,无棱角,没有危害。

承重30公斤,脚轮是否正常无磨损,拉链是否正常;提起拉杆使负重箱子处于悬空状态,拉杆是否正常,箱体是否变形,拉链是否正常,将箱子从1米高度扔下,各个面是否正常无磨损,拉杆是否正常展开收回,重复进行压力测试,看什么时候会有磨损以及使用不正常的情况

鼠标

app后台杀死进程之后还能保持登录状态的方法

APP测试、PC客户端测试、web测试的区别