测试基础篇(一)—— 面试终极常见
什么是软件测试?
正向思维:验证程序是否正常运行,以及是否达到了用户预期的需求
逆向思维:通过执行测试用例发现程序的错误和缺陷
关键字:正常运行,用户需求,发现错误
软件测试的目的是什么?
找出软件中潜在的错误和缺陷,通过修复错误和缺陷提高软件的质量,回避软件发布后因缺陷或错误带来的商业分风险
关键字:发现错误,提高质量,避免风险
黑盒、白盒的区别
黑盒测试(数据驱动测试,功能测试):不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明
白盒测试(逻辑驱动测试,结构测试):已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查
什么是灰度测试?
概念:灰度发布的过程是一个渐近的过程,其实这才是一种正确、规范、安全的发布过程
影响:灰度发布可以在原有的Alpha版本之后增加了更大范围的外部测试,是一个不断的放量过程,通过这样的发布过程可以使产品的问题暴露出来,而不会影响到全部的用户,最终可以让产品最大程度稳定适合用户
负载测试、压力测试、性能测试、容量测试的区别
性能测试:获得系统在某种特定条件下的性能指标数据
负载测试:通过加压,观察系统的响应时间、吞吐量等,知道系统的极限性能指标
压力测试:通过增加负载,查看系统在峰值使用情况下的操作行为,容错、可恢复能力,发现隐患
容量测试:系统承受大量数据,测试系统是否能够正常处理,通常和数据库有关
什么是回归测试?
抽象说法:在程序有修改的情况下,保证原有功能正常
具体说法:测试时发现bug -》开发修改 -》打了新包 -》重新测试,保证程序在修正了bug之后正常运行,且不会带来新的错误
什么是冒烟测试?
新版本验证测试,主要确认新的版本是否存在致命性bug。新功能正常运行,不影响下一轮测试
系统测试的16个测试策略
功能测试,安全测试,容量测试,性能测试,压力测试,稳定性测试,可用性测试,健壮性测试,GUI测试,安装测试,配置测试,异常测试,备份测试,文档测试,在线帮助测试,网络测试