软件测试
测试分类
按生产阶段划分
单元测试:针对程序源代码进行测试
集成测试:针对模块之间功能交互进行测试,又称组装测试
系统测试:对整个系统进行全面测试
验收测试:以用户代表为主验证项目是否符合预期需求
按代码可见度划分
黑盒测试:源代码不可见,UI功能可见;关注的是数据输入结果输出
灰盒测试:部分源代码可见,UI功能不可见;关注的是输入输出、数据访问通道
白盒测试:全部源代码可见,UI功能不可见;关注的是代码本身语法逻辑
其他测试
冒烟测试:对核心功能的验证
作用:保障提测内容具备可测性
回归测试:对已修复bug\更新后对已测内容再次测试
作用:保证bug修复、确保新功能对旧功能没有影响
质量模型
2. 边界值分析法 (Boundary Value Analysis)
核心逻辑:大量的错误往往发生在输入范围的边界上,而不是中间。这是对等价类划分的补充。
4. 判定表法 (Decision Table)
核心逻辑:适用于多条件组合、逻辑复杂的场景。
3. 场景法 (Scenario Testing)
核心逻辑:模拟用户实际使用的业务流程,进行端到端的测试。
4. 判定表法 (Decision Table)
核心逻辑:适用于多条件组合、逻辑复杂的场景。
- 功能性 (Functionality): 软件是否做了它该做的事。
- 性能 (Performance): 软件做得有多快、多高效。
- 兼容性 (Compatibility): 软件在不同环境下能否正常工作。
- 易用性 (Usability): 软件是否容易学习和使用。
- 安全性 (Security): 软件能否保护数据和资源免受未授权访问。
- 可靠性 (Reliability): 软件在长时间内能否稳定运行,不易崩溃。
- 可移植性 (Portability): 软件从一个环境迁移到另一个环境的难易程度。
- 可维护性 (Maintainability): 软件出现问题时,修复和升级的难易程度。
测试用例
核心设计方法
-
1. 等价类划分法 (Equivalence Partitioning)
-
核心逻辑:既然无法测试所有数据,就从输入域中选取少量代表性数据。
-
有效等价类:符合需求的合法数据(验证功能正确性)。
-
无效等价类:不符合需求的非法数据(验证系统的容错能力)。
-
示例:如果要求输入“18-60岁”的年龄:
-
有效类:30(代表18-60之间的任意数)。
-
无效类:10(小于18)、70(大于60)、"abc"(非数字)。
-
-
关注点:上点(边界值)、离点(刚刚大于/小于边界)、内点(范围内任意点)。
-
示例:继续上面的“18-60岁”例子,重点测试:
-
17, 18, 19(下边界附近)
-
59, 60, 61(上边界附近)。
-
-
基本流:最顺利的操作路径(如:登录->搜索->下单->支付成功)。
-
备选流/异常流:包含异常情况的分支(如:支付时余额不足、网络中断、取消订单)。
| 要素 | 说明 | 示例 |
|---|---|---|
| 用例编号 (ID) | 唯一标识,方便追踪 | TC_Login_001 |
| 模块 (Module) | 所属功能模块 | 用户登录 |
| 测试标题 (Title) | 简明扼要,描述目的 | 验证使用有效账号成功登录 |
| 优先级 (Priority) | P0(高/冒烟), P1(中), P2(低) | P0 |
| 前置条件 (Pre-condition) | 执行前必须满足的状态 | 用户已注册且状态正常 |
| 测试步骤 (Steps) | 清晰的操作路径和输入 | 1. 输入用户名 2. 输入密码 3. 点击登录 |
| 预期结果 (Expected Result) | 灵魂! 每一步对应的系统反应 | 1. 跳转至首页 2. 显示“欢迎回来” |
| 实际结果 (Actual Result) | 执行后的真实情况 (Pass/Fail) | (执行时填写) |
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)