一、 测试指标
- 它指的是一种测量标准
- 各类指标的分类
- 有助于指标设计的四个通用核心领域
- 日程Schedule
- 质量Quality
- 资源Resource
- 尺寸Size
- 组织指标
- 有助于整体项目规划和管理
- 显示整个组织的质量趋势
- 允许高级管理层监控组织的整体实力并指出薄弱环节
- 项目指标
- 在监视和控制特定项目时很有用
- 实际与计划系统测试工作的比率是一个项目指标
- 系统测试阶段成功测试的数量与测试总数的比率是另一个项目指标
- 过程指标
- 每个项目都使用一些测试过程
- 流程度量的目标是评估流程的优劣
- 产品指标:通用
- 有助于做出与产品相关的决策
- 与产品复杂性相关的指标比比皆是
- 产品指标:OO 软件
(1) 可靠性
(2) 缺陷密度
(3) 缺陷严重程度
(4) 测试覆盖率
(5) 圈复杂度
(6) 类中方法的权重:考虑类中方法的复杂度
(7)类耦合
(8) 响应集:当一个消息发送到一个对象,直接或间接调用方法的集合
(9) 子集数
- 可测试性
- 它是“系统或组件有助于建立测试标准和测试执行以确定是否满足这些标准的程度”。 (根据 IEEE)
- 高可测试性是一个理想的目标。
- 软件的可测试性侧重于设计和实现的验证。
二、缺陷管理
- 它是开发过程的一个子过程
- 它涉及以下内容
- 缺陷预防
- 缺陷发现
- 缺陷记录和报告
- 缺陷分类
- 缺陷分辨率
- 缺陷预测
与缺陷相关的状态
- New:当第一次发现/揭示错误时,软件测试人员会将其传达给他/她的团队负责人,以确认这是否是一个有效的错误。 得到测试负责人的确认后,软件
测试人员记录错误,并将“新”状态分配给错误。 - Assigned分配:在将错误报告为“新”后,它会提交给开发团队。 开发团队验证错误是否有效。 如果该错误有效,则开发负责人将其分配给开发人员进行修复,并为其分配“已分配”状态。
- Open:一旦开发人员开始处理错误,他/她会将错误的状态更改为“开放”,以表明他/她正在努力寻找解决方案。
- Fixed已修复:一旦开发人员对代码进行了必要的更改,他/她会将错误标记为“已修复”并将其传递给开发主管,以便将其传递给测试团队。
- Pending retest:修复bug后,回传给测试
团队进行重新测试,并为其分配“待重新测试”状态。 - Retest复测:测试组长将之前标记为“待复测”的bug状态更改为“复测”,并分配给测试人员进行复测。
- Closed关闭:在错误被分配“重新测试”状态后,再次测试。
如果问题得到解决,测试人员将关闭它并标记为“关闭”状态。 - Reopen重新开放
- Rejected拒绝
建议使用以下结构来报告缺陷
Title标题:
- 键入应用程序中遇到的问题,标题需要易于理解
例如:您可以使用以下类别:
丢失的
不准确
不完整
不一致
不正确
例子:
» “项目”字段中缺少验证
» “状态”下拉列表中的拼写错误 - Description描述
输入问题的简要描述 - Repro Steps重现步骤:
输入解决问题的所有步骤,必须清除所有步骤
例如:
1.- 登录 FIDO
2.- 点击添加发票
3.- 在项目字段中输入 !@#$%% 4.- 点击保存 - 实际结果
键入操作的实际结果
例如: 显示以下错误消息。
注释:
输入任何评论或通知开发人员任何
截图
(附件)
例如:此缺陷可在项目字段中重现。 (查看附件) - 预期结果
键入操作的预期结果。
例如:数据应该保存成功。 - 测试环境
– 包括测试环境的详细信息
缺陷生命周期
缺陷生命周期路径
三、软件测试生命周期
测试计划
- 它是定义测试项目的过程,以便可以对其进行适当的测量和控制。
- 它包括测试计划、测试策略、测试需求和测试资源。
测试设计
- 它是定义测试程序和测试用例的过程,以验证是否满足测试要求。
- 指定易于实施、易于维护并有效验证测试需求的测试程序和测试用例。
- 测试设计技术
- 在测试设计期间,分析测试基础文档以确定要测试的内容,即测试条件
- 测试条件被定义为可以被一个或多个测试用例验证的项目
- 测试用例由一组输入值、执行前置条件、预期结果和预期后置条件组成; 使用测试设计技术开发和描述
- 理想情况下,应在测试执行之前定义预期结果
- 测试用例按可执行顺序放置,这是测试程序规范
- 如果使用测试执行工具运行测试,则在测试脚本中指定操作序列
- 测试程序和自动化测试脚本随后形成测试执行计划
- 测试设计技术的类别
- 基于白盒的技术
- 基于黑盒的技术
- 基于经验的技术
测试开发
- 它是创建测试程序和测试用例来验证测试需求的过程
- 使用工具进行自动化测试
- 手动测试
测试执行
它是针对被测应用程序的目标软件构建运行一组测试程序并记录结果的过程。
测试评估
它是审查测试结果以确定是否满足测试标准的过程。
四、软件测试自动化基础知识
什么是测试自动化
- 测试自动化是使用软件来控制测试的执行、实际结果与预测结果的比较、测试前提条件的设置以及其他测试控制和测试报告功能。
- 机器替代人工
频繁测试
使用相同的脚本执行测试 - 更多测试
减少重复和无聊的工作
自动化测试的优势
- 加速测试以加速发布
- 允许更频繁地进行测试
- 通过减少人工劳动来降低测试成本
- 提高测试覆盖率
- 确保一致性
- 提高测试的可靠性
- 允许技能较低的员工进行测试
- 定义测试过程并减少对少数知道它的人的依赖
自动化测试的缺点
- 工具和培训需要大量投资
- 备考人力要求高
- 许多测试区域未被覆盖
哪种类型的测试可以自动化
- 单元测试
- 集成测试
- 系统测试
人工测试和自动测试的对比
自动化测试生命周期方法
测试工具导入流程
误解
- 我们的项目时间表太紧了。 让我们使用自动化测试。
- 自动化将消除所有手动测试的需要。
- 我们不需要任何培训。
五、自动化测试工具
选择自动化工具
–易于集成
-兼容性
-表现
– 测试类型
– 可维护性
–负担能力