万物皆可测试

2022-04-25 20:05:57 浏览数 (1)

你好,我是小牛。

对于初中级测试来说,面试会经常遇到的一类高频面试题就是,面试官会随口问出朋友圈是如何测试的?淘宝购物车是如何测试的?

甚至是非软件物品测试,比如问电梯怎么测试,甚至指着桌子上的水杯,这个杯子怎么测试?

想必大家之前或多或少,都曾经遇到过此类的面试题。这个面试题的目的主要用来考察应聘者的测试思维,以及设计测试用例的角度与思考问题的全面性。

其实,对于这类面试题,是有一定套路的,只要你掌握了相关方法,那么任何物品都可以进行测试,并且设计出相对全面的测试用例。而且测试方法是无穷无尽,可以滔滔不绝的讲好久。

那么,面试过程中遇到此类问题应该如何进行解答呢?

首先,当面试官问出比如一个椅子怎么测试时,你第一时间不是应该思考如何测试。而是第一件事是要明确需求,比如反问面试官,需要测试的是一把什么椅子?

电影院的椅子?商场的按摩椅?公交车上的椅子?又或者是其它什么椅子,不同类型的椅子需要重点测试和关注的点肯定是不一样的。所以,首先应该先明确需求。

这点在日常工作中也是非常重要的,设计测试用例之前,一定要认真研究需求文档,和产品经理讨论清楚需求。

不要出现费了九牛二虎之力,这个功能测试用例写完了,结果却被告知这个功能这个版本不做,白白浪费大量时间。

需求确定之后,就是如何设计测试用例了。这里主要给大家推荐两种思路去回答这个问题。

第一种是首先分角度去设计测试用例,主要分为,功能测试,界面测试,易用性测试,兼容性测试,安全性测试,性能测试等。第二种就是著名的SFDIPOT法则,这个接下来会详细讲解。

首先,来看第一种设计方法,以普通的出差行李拉杆箱为例,看下怎么设计?当然这里主要是给大家提供思路,起到抛砖引玉的作用,并不一定会很全面,所以用例仅供参考。

功能测试

  • 拉杆箱大小,箱子厚度,容量,各个面承重,拉杆承重是否符合质检标准。
  • 拉杆箱超出容量,各个面超出承重,拉杆超出承重能否正常使用。
  • 拉杆的伸缩是否正常,展开收回是否灵活。
  • 轮子的滚动是否正常,是单向,还是360度旋转。
  • 箱子的箱锁是否正常,开锁解锁是否方便安全。

界面测试

  • 箱子面料材质,颜色,花纹,形状是否符合要求,颜色是否容易脱落。
  • 箱子拉杆材质颜色长度,箱子脚轮材质颜色大小是否符合要求。
  • 箱子吊牌logo是否正确,辅助说明是否正确。

易用性测试

  • 箱子拉杆手把是否易握防滑。
  • 侧面手把是否易握防滑。
  • 箱子开合拉链是否易拖动。
  • 脚轮是否灵活。

兼容性测试

  • 箱子脚轮滚动是否支持平底,沙地,泥土地,楼梯使用。
  • 箱子在不同温度,比如高温,超低温是否正常使用。
  • 箱子在下雨天,下雪天,冰雹天是否正常使用。

性能测试

  • 负重连续30公里,查看拉杆脚轮箱是否正常无磨损。
  • 箱子负重处于悬挂状态,左右震荡500次,拉杆是否正常。
  • 负重从1米左右落下,各个面做5次落地,是否正常无磨损。
  • 负重后,360度滚动整个箱子30圈是否正常无磨损。
  • 拉杆来回展开收回,重复1000次,拉杆是否正常。

安全测试

  • 箱子面材料是否安全无毒。
  • 遇到高温,淋雨是否释放有害物质。
  • 箱子各个边角是否光滑无棱角。
  • 箱子拉杆把手,侧面把手是否光滑,是否会划伤手。

以上,就是从多个角度全方位思考设计测试用例。接下来再举一个软件的例子来简单聊聊什么是SFDIPOT法则,以如何测试微信朋友圈为例。因为这个用例实在太多,限于篇幅,只谈思路。

  1. S指structure 结构 微信朋友圈结构是由客户端和服务端组成,所以测试就可以从ui前端测试和接口后端测试去考虑。
  2. F指function 功能 这个很简单,就是考虑测试发朋友圈的功能,不赘述。
  3. D指data 数据 不仅微信,任何一款软件无非就是界面加数据组成,所以要考虑不同页面以及不同系统数据是如何交互的,包括数据库校验等等。
  4. I指interface 接口 考虑内部和外部接口,外部客户端和服务端之间接口,内部比如消息提示功能接口和朋友圈功能点赞接口等
  5. P指platform 平台 比如微信有手机版,pad版,电脑版,然后又分为安卓端和苹果端。从不同平台去考虑。
  6. O指operation 操作 这个主要指用户操作场景,很简单,比如正准备发送朋友圈突然手机没电了或者断网了,之后重新打开朋友圈会怎么样,是否会保存等等正常或者各种异常场景。
  7. T指time 时间 主要是和时间相关的一些测试,比如弱网环境下,朋友圈的发送时间如何?打开朋友圈速度如何,以及高并发下打开朋友圈的时间如何,缓存机制,超时机制等等。

以上,主要给大家提供了两种思路,去回答这个开放性问题,无论测试什么,物品还是软件,都可以套用模板。当然,也是仅供参考,用例设计是无穷无尽的,只要有理有据均可。

0 人点赞