嵌入式软件测试笔记4 | 嵌入式软件测试如何制定主测试计划?

简介: 嵌入式软件测试笔记4 | 嵌入式软件测试如何制定主测试计划?

1 制定主测试计划的要素

1.1 测试类型

  • 测试类型是用一组相关的质量特性来评估系统的一组活动;
  • 常见的测试类型如下:
测试类型 描述 质量特性
功能 测试功能行为 功能性
接口 测试和其它系统的交互 连通性
负载和强度 允许大批量数据的处理 连续性、性能
(人工)支持 提供预期的支持(比如与用户手册规程相一致) 适用性
生产 测试生产规程 可操作性、连续性
恢复 测试恢复和重启动工具 可恢复性
回归 测试在系统改动之后,是否所有的部件仍然能够正常工作 所有的
安全 测试安全性 安全性
标准 测试是否遵守标准 安全性、用户友好性
资源 度量所需的资源(内存、数据通信、电力等) 效率

1.2 测试层次

  • 测试层次是一组被当做一个实体来组织和管理的活动;
  • 测试层次是指谁将在什么时候进行测试;
  • 不同的测试层次和系统的开发生命周期相关;
  • 低层次测试只测试单个部件;
  • 高层次测试对集成系统或子系统进行测试;
  • 常见的测试层次如下:
测试层次 高/低 环境 目标
硬件单元测试 低层次 实验室 测试单个硬件部件的行为
硬件集成测试 低层次 实验室 测试硬件的连接和协议
模型循环 高/低层次 仿真模型 概念证明,测试控制率,设计优化
软件单元测试 低层次 实验室,主机+目标机处理器 测试单个软件部件的行为
软件集成测试 低层次 实验室,主机+目标机处理器 测试软件部件之间的交互
硬件/软件集成测试 高层次 实验室,目标机处理器 测试硬件和软件部件之间的交互
系统测试 高层次 模拟真实情况 测试系统的工作是否符合规范
验收测试 高层次 模拟真实情况 测试系统能否满足用户的需求
实地测试 高层次 真实情况 测试在真实条件下系统是否持续工作

1.3 主测试计划

  • 制定主测试计划的目的:为了协调以及管理整个测试过程;
  • 主测试计划主要关心三个领域:

测试策略的选择:该测试什么以及如何测试;
稀缺资源的分配;
相关团队成员之间的沟通。

2 活动

  • 为了指定主测试计划,需要执行以下活动:

① 规划任务分配;
② 全面调查研究;
③ 确定主测试策略;
④ 指定基础设施;
⑤ 定义组织;
⑥ 指定整体进度表。

2.1 规划任务分配

2.1.1 目的

  • 确保组织中的其他成员对测试组织能够为他们做什么有正确的期望值。

2.1.2 委托人

  • 即分配制定主测试计划任务的发起人;
  • 这个人被看做是测试团队的客户;
  • 委托人就是系统开发过程中的项目经理,由他将测试职责委托给测试经理。

2.1.2 承包人

  • 负责制定主测试计划,一般为测试经理。

2.1.3 测试层次

  • 在主测试计划中定义测试层次;
  • 测试层次需要考虑硬件和软件的单元测试、集成测试、系统测试、功能验收测试以及产品验收测试;
  • 还应考虑测试工具和基础设施。

2.1.4 范围

  • 即测试过程的约束和限制;

比如:
① 被测试系统的惟一标识;
② 与相邻系统的接口;
③ 转换或端口活动。

2.1.5 目标

  • 使用交付物来描述,如建议、环境、支持、产品等。

2.1.6 前提条件

  • 完成测试的最终交付期限;
  • 测试计划已经制定;
  • 客户所要求的可用资源。

2.1.7 测试假定

  • 即完成测试过程所需要的条件,比如必要的支撑、测试基础的变更。

2.2 全面调查研究

此活动的目的是了解系统开发过程的目标、系统应该满足的需求。包括以下活动:

  • 研究可用的文档;
  • 面对面访谈。

2.2.1 研究可用的文档

主要是对客户提供的可用文档进行研究,需要考虑:

  • 系统文档;
  • 项目文档;
  • 组织结构和职责;
  • 系统开发方法;
  • 主机和目标机的描述;
  • 合同相关。

    2.2.2 面对面访谈

    对系统开发过程中所涉及的所有人员进行面对面访谈,需考虑:

  • 和市场代表:了解公司目标、产品卖点;

  • 和用户代表:了解用户的痛点和爽点;
  • 和实地代表:了解客户的环境;
  • 和供应商:了解测试基础设施的供应。

2.3 确定主测试策略

此活动的目的是根据质量要求,对所有的因素进行利弊权衡并做出决策。

2.3.1 检查现有的质量管理措施

  • 需要一定的标准和变更控制规程;
  • 考虑相关的质量管理活动。

2.3.2 确定测试策略

简单描述如下:

  • 确定质量特性;
  • 确定质量特性的相对重要性;
  • 为测试层次分配质量特性;
  • 对测试层次的整体评估。

2.4 指定基础设施

此活动的目的是确定测试过程中所需要的基础设施。包括:

  • 指定所需的测试环境 ;
  • 指定所需的测试工具;
  • 确定基础设施计划。

2.5 定义组织

此活动的目的是在整个测试过程的层面上,定义测试中的角色、权限、任务和职责。

2.5.1 确定所需的角色

  • 对稀缺资源的控制:

① 全面的测试管理与协调;
② 集中式控制;
③ 集中式质量保证。

  • 人员的专业要求:

① 测试策略管理;
② 测试配置管理;
③ 测试方法和技术支持;
④ 计划和监督。

2.5.2 建立培训机制

  • 商业化课程培训;
  • 内部开发课程培训。

2.5.3 分配任务、权限和职责

比如:

  • 制定各个测试层次所交付产品的的规章制度;
  • 内部审查(监督规章制度的执行);
  • 协调各个测试层次之间的公共活动;
  • 制定沟通与报告的指导性文件;
  • 建立方法、技术和功能支持;
  • 保持各测试计划的一致性。

2.6 制定整体进度表

此活动的目的是为整个测试过程设计一个整体进度表。至少应该包含:

  • 描述要执行的高层次行动;
  • 交付物;
  • 工时-每个测试层次分配时间;
  • 交付时间;
  • 与其他活动的关系。
目录
相关文章
|
7天前
|
机器学习/深度学习 人工智能 算法
深入探索软件测试中的黑盒测试技术
本文旨在通过一个创新视角,探讨软件测试领域中的黑盒测试技术。我们将从一个全新的维度——测试用例的生成策略出发,分析如何提高黑盒测试的效率和效果。文章不仅会介绍传统的测试用例设计方法,如等价类划分、边界值分析等,还会结合最新的技术发展,讨论人工智能在黑盒测试中的应用前景。通过案例分析和实践应用,我们期望为读者提供一套系统的黑盒测试解决方案,以应对日益复杂的软件测试需求。
|
11天前
|
敏捷开发 测试技术
软件测试中的探索性测试方法
【6月更文挑战第12天】探索性测试,一种灵活的测试实践,旨在通过自由形式的探索发现软件的潜在缺陷。它不依赖于事先编写的测试用例,而是鼓励测试人员利用直觉、经验和创造力来指导测试过程。本文将深入探讨探索性测试的核心概念、实施策略以及它如何增强传统测试方法的有效性。
|
5天前
|
敏捷开发 测试技术
软件测试中的探索性测试方法
【6月更文挑战第18天】本文将深入探讨探索性测试(Exploratory Testing)在软件测试领域的重要性与实施策略。不同于传统的脚本化测试,探索性测试强调测试人员的主观能动性和创造性,以真实用户的角度出发,发现那些可能在规范性测试中被忽视的问题。文章首先介绍探索性测试的定义和优势,然后通过案例分析,展示如何有效执行探索性测试,最后讨论其在敏捷开发环境中的适应性以及如何与传统测试方法相结合以提升测试覆盖率和效率。
|
20天前
|
NoSQL 关系型数据库 MySQL
软件测试之【基于开源商城系统fecmall功能测试项目实例】
软件测试之【基于开源商城系统fecmall功能测试项目实例】
47 0
软件测试之【基于开源商城系统fecmall功能测试项目实例】
|
11天前
|
移动开发 测试技术 C语言
Python基础教程(第3版)中文版 第16章 测试基础(笔记)
Python基础教程(第3版)中文版 第16章 测试基础(笔记)
|
20天前
|
测试技术 Linux 开发工具
软件测试之【软件测试初级工程师技能点全解】
软件测试之【软件测试初级工程师技能点全解】
13 0
|
20天前
|
测试技术
软件测试之【软件测试概论三】
软件测试之【软件测试概论三】
8 0
|
5天前
|
JSON Java Maven
使用`MockMvc`来测试带有单个和多个请求参数的`GET`和`POST`接口
使用`MockMvc`来测试带有单个和多个请求参数的`GET`和`POST`接口
17 3
|
1月前
|
NoSQL 安全 测试技术
接口测试用例设计的关键步骤与技巧解析
该文介绍了接口测试的设计和实施,包括测试流程、质量目标和用例设计方法。接口测试在需求分析后进行,关注功能、性能、安全等六项质量目标。流程包括网络监听(如TcpDump, WireShark)和代理工具(Charles, BurpSuite, mitmproxy, Fiddler, AnyProxy)。设计用例时,需考虑基本功能流程、输入域测试(如边界值、特殊字符、参数类型、组合参数、幂等性)、线程安全(并发和分布式测试)以及故障注入。接口测试用例要素包括模块、标题、优先级、前置条件、请求方法等。文章强调了保证接口的幂等性和系统健壮性的测试重要性。
54 5
|
5天前
|
监控 前端开发 测试技术
postman接口测试工具详解
postman接口测试工具详解
33 7