最近在自学的软件测试基础。
软件测试的分类
1.按照方法分类:黑盒测试,白盒测试,灰盒测试
黑盒测试:把软件当成一个盒子,看不到内部结构,只根据外部暴露出来的东西进行测试。输入输出型测试 。
eg:机顶盒 根据机顶盒外部结构,有网线,可以联网,这个功能就实现了
qq 看得到的功能,能不能发成功消息,没必要知道发消息的原理
白盒测试:透明的盒子,里面的结构看的很清楚,通过检查内部的结构关系,判断功能
软件的话,看代码能不能写对
灰盒测试:结合两种
2.按照测试方向测试:功能测试,性能测试,安全测试
功能测试就是测试功能,功能。黑盒测试是功能测试的一种方法,在做功能测试的时候,可以采用黑盒测试也可以用白盒测试。功能测试最多的方法是黑盒测试。考虑的是能不能做的问题
性能测试:12306抢票的时候登不上去,能做多好。性能测试分为压力测试,负载测试,并发测试。
压力测试,食堂可以有800人吃饭,找800个人测试有没有剩余,发现软件性能的瓶颈。
负载测试:食堂排队满了,食堂工作人员持续工作,不知道工作人员能不能维持这种高强度工作效率,维持多少时间(不一定最大限度),淘宝双十一。
并发测试,一瞬间所有人都在做同一个事情。很多人在做一个事情的时候出错的情况。
安全测试:黑客
3.按照阶段来分类:单元测试,集成测试,系统测试,验收测试
单元测试:对小的代码块进行测试。测试对象:开发代码模块,方法,函数,类
集成测试:小的代码块通过接口连接在一起,测试模块与模块之间连接的对不对 测试对象:接口,模块与模块之间
系统测试:集成之后的,完整的软件。功能,性能,安全,兼容性(web:各个网站之间和app:不同手机,安卓和ios),易用性(用户体验),稳定性,UI
验收测试:客户
4.按照对象分类:APP测试,WEB测试,物联网测试,嵌入式测试,小程序测试
5.按照状态分类:静态测试(看代码),动态测试
6.其他:冒烟测试(测试前的测试,大概检查这个东西具不具备可测试性);
回归测试(测试结束后,bug被开发改完了,再重新测试,bug有没有被修改,有没有产生新测试);
α测试(内测);
β测试(公测)