目录
测试回顾
了解软件测试
- 软件测试:通过手工或者自动化的方式运行被测的软件是否正常(看预期结果和实际结果是否一致)
- 测试目的:保障软件的质量(尽可能多的发现系统中的错误,证明软件存在问题)
- 测试体现形式:通过找出bug的形式验证质量
测试常用分类
- 按阶段划分
- 单元测试:针对程序源代码进行测试(开发)
- 集成测试:又称接口测试,主要针对模块与模块或系统与系统之间的接口进行验证
- 系统测试:针对软件全面进行验证(功能、兼容、文档)
- 验收测试:使用内测、公测来实现
- 内测:公司内部进行测试。
- 公测:让玩家来进行测试。
- 代码可见度划分
- ⿊盒测试:又称功能测试(完全看不见程序源代码,只能针对功能进行验证)
- 灰盒测试:又称接口测试(看不见部分代码)
- 白盒测试:又称单元测试(针对程序源代码进行测试)
软件的质量
前置铺垫
- 需求:用户的想法,为了实现某个目的而产生的想法
- 需求规格说明书:将用户的想法转化为技术上可以实现的文档
软件质量模型
应用场景:提供对于软件产品从测试角度思考的一种思路
- 定义:实际实现的产品和需求描述是否相一致,相一致程度高说明质量满足需求(好)
- 如何评判软件的质量?
- 功能:软件产品是否具备某种能力
某手机是否支持5G
- 性能:软件产品对于时间和空间的占用程度高低
速度快、占用空间小
- 兼容性:软件兼容其他类型的软硬件的能力
著名的"3Q"大战
- 易用性:在一定用户群的基础上,软件是否好用、容易理解
遵循专业性,例如:财务系统软件(账单、流水等)
- 可靠性:软件是否具备持续无故障运行的能力
- 安全性:软件运行过程中对于数据的传输和存储是否安全
属于专项测试,要求较高
- 可移植性:软件产品从一个环境移植到另一个环境中正常运行的能力
- 可维护性:软件出现故障后,自我修复/恢复的能力
- 功能:软件产品是否具备某种能力
软件的生命周期
软件生命周期:软件从无到有到消亡的过程软件生命周期也叫软件开发过程模型、软件生命周期模型
瀑布模型
描述软件生成到消亡的过程模型图
- 该模型目前实际工作中已不常用,但是该模型是其他新型模型的“鼻祖”
瀑布模型的优点
- 每个阶段比较清楚,并且有对应的文档产生
- 当前一个阶段完成后,才开始后面的阶段(一次性的)
瀑布模型的缺点
- 发现问题的时机比较晚,失去提前纠错的机会
- 测试介入比较晚
适用场景
- 适用于需求不易发生变化的大项目
软件测试模型
V模型
作用:主要描述测试、开发之间的对应关系
V模型优点
- 每个阶段比较清楚,测试过程由底层(代码)测试到高层(应用)测试过程
V模型缺点
- 不适用于需求的变更,发现问题的时机比较晚
W模型
作用:将测试过程更加细化说明,对应测试、开发之间的关系更加清楚
W模型优点
- 测试介入时间早,能够及时发现问题,降低修复成本
- 测试伴随整个软件生产周期,除了测试软件之外,还需要验证文档
W模型缺点
- 该模型应用起来复杂度高(具备计算机技能、业务能力、管理能力、测试素质)