测试基础


1、软件测试的定义
软件:控制计算机硬件的工具;
软件的基本组成:
1. 客户端:用户直接交互的界面
2. 服务器:处理业务逻辑
3. 数据库:持久化数据存储
软件的产生过程
①需求产生,②需求文档,③设计效果图,④产品开发,⑥产品测试,⑦部署上线

软件测试:使用技术手段验证软件是否满足使用需求,减少软件缺陷,保证软件质量。
2、测试的主流技能
- 功能测试:验证程序的功能是否满足需求
- 自动化测试:通过代码或工具自动读取测试数据病验证结果
- 接口测试(接口文档):使用代码或工具验证程序接口是否正常访问
- 性能测试:模拟多人使用软件,查找服务器缺陷
3、测试的分类
1. 按测试阶段划分
单元测试(最小独立功能模块):针对程序的源代码进行测试
集成测试:又称接口测试,针对模块之间访问的地址进行测试
系统测试:对整个系统进行测试包括功能、兼容、文档等测试
验收测试:只要分内测、公测,使用不同人群发掘项目缺陷
2. 按代码可见程度划分
黑盒测试:不可见源代码,仅测试软件的功能和兼容性(系统测试)
白盒测试:完全可见源代码,通常用于源代码级别测试(单元测试)
灰盒测试:能看到部分源代码,通常为接口层面的信息,后台处理逻辑不可见(集成测试)
4、质量模型
说明:衡量一个优秀软件的维度
功能性:验证软件是否能正确实现所有功能
性能:多人使用场景下的体验感及服务器支持能力
兼容性:多操作系统、浏览器、平台的支持情况
易用性:软件是否顺手、界面是否友好
可靠性:软件运行过程中是否无响应、卡顿或死机
安全性:数据传输和存储是否加密
可维护性:系统维护是否方便
可移植性:数据迁移是否便捷
实例:
- **功能性**:
验证十个功能是否全部正确实现
数量必须正确,功能实现需要完整
错误处理机制是否完善,如非法操作是否有提示
- **性能**:
是否能每秒处理大量请求
服务器硬件配置是否满足高并发访问需求
- **兼容性**:
浏览器兼容性:Chrome、IE、Firefox、Safari、Edge等
操作系统兼容性:Windows、Mac、Linux
分辨率、品牌、网络及其他应用兼容性
- **易用性**:
简洁:界面设计是否简洁、信息输入流程是否合理
友好:提示信息、颜色搭配是否友好
流畅:操作是否流畅、是否存在卡顿
美观:整体视觉风格是否美观
- **可靠性**:
无响应:点击按钮后程序无反馈
卡顿:操作延迟,游戏体验差
死机:彻底无响应,无法退出
- 安全性:
数据传输和存储(MD5)是否加密
客户端,服务端,数据库安全防护
- 可维护性:系统维护是否方便
- 可移植性:数据迁移是否便捷
5、测试流程
- 需求评审:
由产品产出需求
测试介入评审需求完整性、准确性,确保需求无遗漏无错误
-计划编写
制定整个项目的测试计划,包括:测试目标、范围、人员安排、测试方法、风险控制
- 用例设计
根据需求设计测试用例,包括步骤、期望成果
- 用例执行
执行用例,比较实际结果与期望结果,一致则通过,不一致则记录为缺陷
- 缺陷管理
描述并提交缺陷给开发人员
开发修复后进行回归测试
验证修复后关闭缺陷
- 测试报告
编写测试结果报告,汇总测试过程中的所有信息,包括测试范围、执行情况、缺陷设计等
6、测试用例
- 用例:用户使用的案例
- 测试用例:为测试项目二设计的执行文档
- 测试用例的作用:
防止漏测
实施测试的标准,便于他人执行
提高执行精准度,避免主观理解偏差
- 用例设计编写格式
**用例编号**:由项目简称+下划线+模块+编号组成。
**用例标题**:推荐写法为“预期结果+测试点”。
**项目模块**:用于区分不同功能模块,便于后期筛选。
**优先级**:P0为最高,代表核心功能必须成功;P1~P4依次递减。
**前提条件**:执行该用例前必须满足的前置条件。
**测试步骤**:操作的具体步骤,需按序号列出。
**测试数据**:关键输入数据,可简略或留空。
**预期结果**:执行后期望看到的结果。

练习:

1327

被折叠的 条评论
为什么被折叠?



