软件测试基础(一)
软件测试的含义
使用技术手段验证软件是否满足需求
软件测试的目的
用最少的人力、物力、财力,找到软件中的问题并修复,从而降低商业风险(薅羊毛的行为)
测试主流技能
功能测试:功能测试主要验证程序的功能是否满足需求
自动化测试:使用代码或工具代替人工验证项目的功能
接口测试:针对模块与模块或系统与系统之间数据请求地址进行测试
性能测试:模拟多人使用软件,查找服务器缺陷
常见测试分类
1.按测试阶段划分
单元测试:针对程序源代码进行测试(开发)
集成测试:又称接口测试,针对模块之间访问地址进行测试
系统测试:对整个系统进行测试,包括功能、兼容、文档等进行测试
验收测试:主要分为内存、公测,使用不同人群来发掘项目缺陷
2.按代码可见度划分
黑盒测试:看不见源代码,主要对程序功能进行测试(系统测试)
灰盒测试:看见部分代码,主要对程序接口进行测试(集成测试)
白盒测试:看见全部代码,主要对程序源代码进行测试(单元测试)
面试题:
自动化测试归属什么测试?(功能测试)
性能测试、安全测试归属于什么测试?(专项测试)
系统测试和黑盒测试重点核心是?(功能测试)
集成测试和灰盒测试又称(接口测试)
单元测试和白盒测试是对(代码)进行测试
测试策略
冒烟测试:大规模执行测试之前,针对程序主功能进行验证,保证程序具备可测性
面试题:
提测标准是什么?(冒烟测试通过)
测试之前要怎么做?(冒烟测试)
软件质量模型
ISO / IEC 25010
功能性:功能满足需求
性能效率:性能满足实际需求
兼容性:软件能与主流硬件和软件兼容
易用性:便于使用
可靠性:性能和功能应用可靠
信息安全:信息在传输或者存储过程的安全程度
可维护性:便于维护
可移植性:具备迁移和便捷性