1.发现软件程序存在的代码或业务逻辑错误
2.检验产品是否符合用户需求
3.提高用户体验
V模型:测试介入早,可以提前对需求进行评估审核测试,回溯成本减少,测试提前准备测试文档用例,可以直接执行测试,节省准备文档的时间,提高项目效率,周期缩短
项目立项(pm)-需求分析(需求评审:产品,开发,测试)-设计-编码
测试技术划分:
黑盒测试:产品-黑色盒子-代码实现-输入输出-数据驱动的测试-点点点测试
白盒测试:产品-透明盒子-代码逻辑,看懂代码-开发自测-代码审查(单元测试)
灰盒测试:大概知道代码逻辑实现,不需要看懂所有代码-接口测试
动态测试,静态测试(程序是否运行)
手工测试(点工),自动化测试(工具+代码)
测试内容:
功能测试:测试业务逻辑,功能实现(手工,自动化)-核心测试
界面测试:UI-外观美观,设计合理,-主观性强(产品-需求规格说明书)(参照原型图,UI切图)
安全测试:高级类型-防止攻击(通过工具appscan,代码(脚本sql注入),查找漏洞薄弱点)-账号密码,https协议(安全测试范畴)
性能测试:高级类型-访问人数多-并发(10000人)-服务器资源,cpu,内存-高压下正常处理(压力测试稳定性测试,负载测试)
兼容性测试:软件+硬件(windows,Linux,MAcos,Android,ios);软件+软件(浏览器)-调用,软件不同版本之间的兼容-APP升级(老功能,数据)
易用性测试:偏主观-人性化,舒适,使用习惯,用户体验-站在用户角度考虑-参考成熟产品
回归测试:测试-BUG,开发修复BUG(修改bug)-验证BUG(其他没有被修改的代码模块的测试)-重复测试(自动化)
冒烟测试:软件提测-核心业务功能,主流程测试-提高测试效率
探索性测试:发散测试-能力要求非常高(靠经验积累,直觉形成的测试思维)
单元测试-集成测试-系统测试-验收测试-A测试内测-B测试公测-上线发布
单元测试:开发自测(白盒测试),主要是测程序代码,为的是确保个单元模块被正确的编译,有具体到模块的测试,也有具体到类,函数,方法的测试
集成测试:(接口测试)单元测试之后,将各单元组合成完整的体系,测试软件单元之间的接口是否正确,数据能否正常传递
系统测试:把软件系统搭建起来,按照软件规格说明书中所要求,测试软件其性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞(功能测试,界面测试,性能测试,兼容性测试,易用性测试,冒烟测试,回归测试)
验收测试:主要就是用户在拿到软件的时候,在使用现场,会根据前面所提到的需求,以及规格说明书来做相应测试,以确定软件达到符合效果的