软件测试的定义和分类

1.软件测试的定义

软件的预期结果与实际结果做对比。

2.软件测试的分类

如果分类要进行比较,必须同类型之间才能够比较。

(1)按方法分类(最常见的测试方式)

黑盒测试:把软件比喻成一个黑色的不透明的盒子,检查输入与输出是否对应的上,完全不考虑程序内部结构和内部的特性,着重于程序外部结构,不考虑内部逻辑结构,针对软件界面和软件功能进行测试。

白盒测试:把软件比喻成一个透明的盒子,通过检查软件内部的结构来测试。通过去检查代码的方式来判断软件的功能有没有问题。

灰盒测试:把软件比喻成一个半透明的盒子。介于黑盒测试和白盒测试之间,在看内部结构的时候我们也在外部进行点击来检查有没有问题。

(2)按阶段分类(对应于软件研发进行的阶段)

单元测试:去测试代码模块有没有问题;测试对象是测试开发写的代码块,函数,方法等。用白盒测试,一般单元测试由开发自己做。

集成测试:又叫做接口测试。把代码块和代码块连起来的过程,我们就把它叫做集成,测试的是不同的大的模块和大的模块连接的对不对,他们是通过接口连接的。所以我们测试代码块和代码块连接的对不对就是测试的接口。用灰盒测试比较多

系统测试:对整个完整的软件进行测试。

验收测试:交付时进行的测试,协助领导验收。确定产品是否满足合同或者用户所规定需求的测试。

α测试:内测

β测试:公测

(3)按方向分类(在系统测试阶段做的)

功能测试:功能测试用到的大多数的测试手段都是黑盒测试。

性能测试:软件反应的速度快不快,响应的速度越快,性能就越好。

分为:

压力测试:找到系统的极限在哪里

负载测试:系统在极限工作的情况下可以持续多久。会造成内存泄漏,内存溢出。内存泄漏/溢出是指随着软件的不断运行,用户产生的数据不断堆积,没有位置给它存放就会导致内存溢出。

并发测试

安全测试:和黑客有关系,防范的就是黑客,自己学会黑客的各种技术,然后通过这些技术去攻击自己家的系统,看能不能攻破。

渗透测试:比如有的地址是藏起来的,外人是不知道的,但是可以根据经验一个一个去试,去找到这一个渗透,找到这一个可以访问内部的连接,然后就进入你们家的系统。

DDOS攻击:就是流量攻击,防不了的。

跨域攻击:打开陌生网站时的一瞬间可以偷走你的账号密码。现在浏览器限制跨域的访问,所以现在不容易被跨域攻击。

SQL注入:

select * from t_student where sname like '%';

drop database *;

%';

暴力破解:试你的密码,多试几次就可以把你的密码给试出来。是因为密码设置的太简单了,而且最好不要开放远程访问,会增加被别人攻破的几率。

UI界面测试:不管app还是web都有自己的页面,检查界面好不好看。

界面的风格是否保持一致

界面的按钮大小是否保持一致

界面是否和设计图保持一致

兼容性测试

app:

分为Android和IOS,两种都需要测。

Android:在不同的系统,屏幕,分辨率,品牌等Android手机上进行测试。综合的考虑市场占有率,去选择需要测哪些型号的手机。

ios的系统一般都是互相兼容的,并且必须保持一致,是苹果公司要求的,所以一般不需要进行测试。

可以用云测平台。

web:

在不同的浏览器上运行。

谷歌浏览器,新的edge,火狐浏览器,IE等

易用性测试:就是用户体验测试。

学习成本越低越好

功能越简洁越好

稳定性测试:能不能长时间稳定的运行。

后端:7*24小时

前端:3-5个小时,一般会用工具长时间的去运行

App的专项测试

弱网测试:APP能不能在不同的网络环境下正常的运行。可以模拟不同的网络环境:2G,3G,4G,5G,wifi ,热点

场景交互测试:不同的APP相互切换;前后台切换;来电话了;来短信了;微信语音。。。

资源征用测试:同类型的APP同时工作的情况。

权限测试:通讯录权限,相册权限等。当我们关闭了某个权限然后进行测试,是否影响其他功能的使用,使用对应的功能时,是否提醒你打开权限。

离线测试:断开网络后,app还能不能用,有的功能还能不能用。

安装,卸载,更新:

消息推送:消息推送的服务器,由手机厂家提供。当我们断开网络后,有消息推送,然后我们连上网络后,能不能收到这个消息推送,以及这个消息推送显示的时间会不会出问题。APP关闭后还能收到消息推送吗;断网后再联网之前的消息能收到吗。

资源监控:APP的大小(越小越好);流量(平均每小时消耗多少流量);电量(平均每小时消耗多少电量);内存;cpu的消耗

(4)按对象分类

APP测试;web测试;小程序测试;物联网测试;车联网测试;AI测试;大数据测试

(5)按状态分类

动态测试:黑盒测试

静态测试:白盒测试

(6)其他测试

回归测试:检查上一次发现的问题有没有被修改。

冒烟测试:测试前的测试,检查软件是否具备可测试性。闪退/无法登录。

你可能感兴趣的:(软件测试的定义和分类)