一、软件测试
软件测试是什么?简单来说,是查找软件中的bug,来保证软件的质量。
软件的实现流程
AI(人工智能)旨在使机器能够模拟和执行人类智能活动。因此,AI赋能软件测试技能能够提高测试的速度和效率,也能预测与分析bug。
二、测试的分类
1、按照软件生产阶段划分
按照软件生产的阶段划分,可以分为单元测试、集成测试、系统测试、验收测试
单元测试(相当于测试单个零部件)
针对程序源代码进行测试,由开发人员自测。
集成测试(相当于零部件组装)
针对模块之间功能交互进行测试,又称组装测试,由测试人员进行。
系统测试(相当于整体测试)
针对整个系统进行全面测试,由测试人员进行。
验收测试
以用户代表为主,验证项目是否符合预期需求,由用户进行测试。
2、按照代码可见度划分
根据程序的源代码可见程度,可划分为黑盒测试、灰盒测试、白盒测试。
黑盒测试
源代码不可见,UI功能可见,主要关注数据输入和结果输出。(系统测试)
灰盒测试
部分源代码可见,UI功能部分可见,关注输入输出、数据访问通道。(集成测试)
白盒测试
全部源代码可见,UI功能不可见,主要关注代码本身的语法逻辑。(单元测试)
3、其他测试
冒烟测试
对核心功能进行验证,保障提测内容的可测性。
回归测试
对已修复bug/更新后对已测内容的再次测试,保证bug修复,确保新功能对旧功能没有影响。
修复bug过程中,有可能出现新
新功能有关的旧功能一定要测
三、软件质量模型
软件质量模型是衡量一个软件质量的维度。
★功能性
软件是否具备某方面的能力。关注功能数量是否正确、功能能否正确实现。
★性能
多用户同时使用能否满足要求(时间、资源)。关注是否响应快、资源占比少。
★兼容性
在不同的设备或平台上能否正常运行,软件能够正常使用不受影响。
★易用性
易学、易用、用户粘性好,关注用户的体验感。
可靠性
长时间运行稳定,不出现异常。
★安全性
敏感数据存储/传输安全,关注加密传输/存储是否有保障。
可维护性
运行过程中出现问题维护操作是否方便,出现异常是否易修复
可移植性
应用系统、数据迁移方便