黑盒测试:将整个程序当做一个黑盒子,不知道盒子内部做了什么,只能通过输入输出的结果来判断是否能得到我们所需的测试。已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。 白盒测试:将整个程序当做一个白盒,可以看到程序的内部,通过程序的源代码进行测试而不使用用户界面。已知产品的内部工作过程,可以进行测试证明每种内部操作是否符合设计规格要求,所有内部成分是否经过检查。 灰盒测试:黑盒和白盒的结合。
黑盒测试:优点:能直接站在用户的立场上进行测试。缺点:不能测试程序内部指定部位,如果程序有误,无法发现;无法覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%。 白盒测试:优点:能对程序内部指定部位进行覆盖测试。缺点:无法检测程序外部特性;当系统庞大时,测试开销会非常大。
单元测试:按程序的最小单元测试,一般是代码块,函数,方法,一般由开发自己去做。 集成测试:一般是接口测试。 系统测试:对整个个完整的软件进行测试。 验收测试:一般是甲方或者产品来对软件进行验收。验收测试包括α测试(内测),β测试(公测)。
a、功能测试:测试系统的各个功能。 b、性能测试:分为压力测试,负载测试,并发测试。压力测试主要是测试系统极限;负载测试主要测试系统在极限情况能持续多久时间;并发测试主要多个用户在同一时间干同一事情。其中,负载测试可能会造成内存泄露。 c、安全测试:分为渗透测试,DDOS测试,跨域攻击,SQL注入,暴力破解。 d、UI界面测试:测试界面是否美观;界面风格是否统一;界面的按钮大小是否一致;界面是否与设计图稿一致。 e、兼容性测试:兼容性测试主要分为app和web端。app端又分为andriod和ios。andriod要考虑不同系统,不同品牌,不同屏幕,不同分辨率。web端要考虑谷歌浏览器,火狐浏览器,新的edge浏览器,ie浏览器。 f、易用性测试:用户体验性测试;学习成本越低越好;功能越简洁越好。 g、稳定性测试:后端一般以软件运行下7*24h稳定运行,前端一般3~5h即可。 h、APP专项测试:APP专项测试分为弱网测试,权限测试,场景交互测试,资源争用测试,消息推送测试,安装、卸载、更新,离线测试,资源消耗测试。 弱网测试分为2g,3g,4g,5g,WiFi,热点测试,模拟APP在不同网络下能否正常运行; 权限测试指权限开了,权限关了时,以及使用相应功能是否给权限; 场景交互测试指不同app切换,前后台切换,来电话,发短信,来微信语音时测试; 资源争用测试指同类型同种APP同时工作;离线测试指断开网络APP某些功能能否正常使用; 消息推送测试指APP关闭后的消息推送,app推送的样式,APP推送的顺序,断网后再联网后之前的消息; 安装、卸载、更新即APP的该项操作,其中更新又分为强制更新,正常更新,热更新,提示更新。 资源消耗测试指的是电量,流量,内存,应用大小,响应时间的测试。
静态测试即不允许软件的情况下,看代码可能的错误;动态测试即运行软件测试。
C/S测试即客户端服务器结构测试,B/S测试即浏览器服务端结构测试。
冒烟测试即测试前的测试,检查软件是否具备可测性。回归测试即测试后再回归测试一遍。