昨天小明跟前端后台打完交道搞定之后就兴高采烈的跑去跟老大汇报。
小明:苏总,改完了。
苏总:恩,我看看。。。(沉默三秒)这啥玩意,怎么这里还是不行?你测了吗?
小明:啊,还要测吗?
苏总:我告诉你,一个任务不是做出来了就完事了的,还要经过测试,测试过没问题才是真正的做完,去测完再给我。
于是小明灰头土脸的去找测试。
小明走到大华的身后,拍了拍大华:大华哥,这个给测一下呗。
大华:行,没问题,一分钟的事。
小明看着大华随便点了点就给了自己,不禁心想:这么简单,老大那么训了我一顿,结果一分钟就搞定了?
小明:大华哥,怎么这么简单啊,你这怎么测的?
大华:你这个是小bug,测一下交互和流程还跑不跑得通就行,没有什么技术含量的。
小明:原来测试这么简单啊!
大华:话可不能这么说,这个是小功能所以简单,但是测试其实也是很技术的一件事,你要对业务逻辑非常熟悉,要测到每一种可能出现的情况,很考验个人逻辑能力和细心程度的,测试呢,主要分为单元测试、集成测试、性能测试、功能测试,具体方法有黑盒测试、白盒测试、交互测试、交叉测试等等,当然不同情况所用的测试方法不一样,而且同一种测试方法在不同公司的实际操作也不尽相同,可不能小瞧测试,我们不是吃白饭的。
小明:大华哥,你别误会,我不是这个意思,都是我太小白,什么都不懂,原来这里面还有这么多学问呢。大华哥你能大概跟我讲讲你刚才说的什么黑盒白盒测试什么的吗?
大华:真要讲起来要说半天呢,我大概跟你讲一下吧。这里的盒子指的是被测试的软件,黑盒测试,就像是一个黑盒,你看不到盒里面的东西,只知道你放进去了什么,拿到了什么,主要检测每个功能是否都能正常使用,没有办法测出内部逻辑结构等错误;白盒测试就和黑盒测试相反了,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的并想要通过测试找出其中的错误。打个比方,黑盒就像一般餐厅的厨房都是封闭的,大家只能看菜谱点菜,然后菜做好了端上来吃,中间做菜过程不关注,只关注好不好吃;而白盒就像“西贝莜面”的厨房是透明的,我们能知道具体菜是怎么做出来的,流程怎样、是否干净。具体的等需要这些测试的时候你可以过来我再具体给你展示,空口说不太容易明白还比较浪费时间,我还有工作,先不跟你说了。
小明:奥奥,好的,谢谢大华哥,你先忙。
小明自己照着大华哥刚才的方法点了点界面,一头雾水得去找老大交差了。
知识点总结:
做一下简单的解释:
1、单元测试:程序猿GG自己玩自己的,保证自己写的模块、类/方法能正常运行;
2、集成测试:是多个程序猿GG一起玩激情四射的游戏,做多个模块或组件进行组合测试,或者我们可以简单理解为联调,客户端跟后台的联调、后台点评模块与发布模块的联调;
(关于单元测试和集成测试,举个简单例子:我们要造一个汽车。我负责做轮子,你负责做发送机,我的发动机要能带动你的轮子。轮子和发送机是单元测试,能否带动是集成测试)
3、性能测试:一般指后台的压力测试(测出系统的瓶颈)和负载测试(逐渐增加负载,观察系统的性能变化情况),现今,逐渐也有了手机APP的性能测试;
4、功能测试:这个大家都知道,程序猿的小伙伴完成研发,交付给测试进行测试的“成品”,测试工程狮按照提前以产品需求为基础准备的测试案例进行功能测试。
5、白盒测试:是关心、深入到程序结构和代码里,以此找出其中的缺陷。
6、黑盒测试:不关心代码及程序结构如何,只管输入、输出的元素,测试功能是否能用。
7、alpha测试:是提前测试/验证的一种手段,在系统开发接近完成的时候就进行测试验证,后面还有一些不影响的开发工作和修改/调整。alpha测试一般放在内部局部试用(内测版)。
8、beta测试:是开发和测试都基本完成的时候,需要在正式发布前将bug修复。beta测试一般会放在外部局部试用(公测版)。
alpha测试和beta测试这两种,都是最终用户或其他人员进行测试(试用),不会有程序猿和测试工程狮来测试。