【华为云技术分享】测试微课堂 | 有的放矢制定测试计划

本文着重介绍如何确定测试目的,划定测试范围,制订测试策略,组件测试团队,准备测试工具和环境,制订测试计划。

凡事预则立,不预则废。个人事项,团队协作都离不开计划。外出游玩有出行计划,产品立项有商业计划,下图中是笔者在某博物馆看到的上个世纪老电影的计划表,是不是很像软件项目里分角色的开发计划。同样地,做软件测试,尤其在涉及到团队协作时,需要制定测试计划。

团队开展测试活动之初,制定相应的测试计划,以指导整个测试周期中测试人员的测试活动。测试计划描述了测试目的、测试对象、测试范围、测试策略、测试活动、测试方法、测试资源和进度等,确定测试项、被测特性、测试任务、谁执行任务、各种可能的风险。测试计划可以有效预防计划的风险,保障计划的顺利实施。

为什么要制定测试计划

•       确保测试活动围绕测试目的开展工作,服务于明确的测试目标

•       确定测试对象的被测特性和需求清单,框定测试范围

•       选取适合于团队技术能力和工具组合的测试策略和方法

•       尽早识别测试活动开展中可能面临的风险因素,及时解决

•       合理预估测试工作量和人员、资源需求,编制测试项目计划

•       帮助测试人员分解测试活动和任务,编排个人工作计划

•       指导测试执行活动,及时纠正和补救执行偏差

•       作为相关文档,与利益干系人汇报沟通

什么时间做测试计划

测试活动包含测试计划、测试设计、测试执行等。一般而言,测试计划排在首位,在测试周期的早期阶段开展。实际上根据不同的项目使用的开发模式、团队组织形式等,测试计划可能在多个时间节点中开展,例如:

•       某企业面向客户的移动APP产品,在第一个版本发布前,测试部门在接收到产品的测试申请后,接收测试需求做上线前系统测试计划。

•       某内部软件项目,产品立项完成需求确认后,架构师已经设计出产品架构方案和设计方案,产品未进入实质开发阶段,开发组织制定开发计划,测试组长制定测试计划。

•       某对外商用产品,例行提交做专项安全测试,安全测试部门根据历史安全测试计划和测试报告,评估新增产品特性变更,制定新版本的安全专项测试计划。

•       某软件测试团队有明确的功能测试、性能测试、安全测试等分工,测试团队主管制定主测试计划后,各类型测试专家制定类型的测试计划。

整体来讲,建议尽早开始测试计划相关工作,因为测试计划制定时间越早,越容易在早期阶段指导、规范产品的质量活动,提高产品的可测试性,测试人员从攻击者的视角指导产品架构和设计中的质量要素,符合测试左移的思想。

但越在产品的早期阶段,测试计划的粒度越粗,缺少细节可执行层面的测试用例、可供使用的测试环境等,需要随着项目的推进不断细化。测试计划不是一成不变的,随着测试项目的开展,测试计划逐步详细,包含越来越多的信息。测试计划的细化和完善过程中需要注意审视初始的测试目的、测试范围和测试设计和策略等。

那么谁来制定测试计划?

•       测试项目、测试团队负责人

•       安全、性能、可靠性等专项测试负责人

•       经验丰富的测试工程师、测试架构师

测试计划需要包含哪些内容

ISO、IEEE等有关于测试文档的相关标准,在项目实践中可以选择在测试计划中包含哪些内容,内容多少与项目、团队规模相关,小团队测试可以精简测试计划。

•       测试目的

概述为什么要做这个测试,需要实现什么样的测试目标。测试目的是测试计划的源头,测试需要聚焦产品的业务价值。如果是产品整体测试计划,需要结合产品的业务属性,将质量的功能、安全、性能、易用性、兼容性、扩展性等维度融入测试目的,例如金融类产品对安全性要求很高。

•       测试范围

详述被测系统(测试对象)的名称、版本、特性、需求、环境、测试项,明确需要测试什么,不测试什么。

•       测试策略

明确测试类型、测试场景、测试方法,策略性说明如何测试。

•       测试方案

详述测试使用的方案,例如集成步骤和顺序、测试步骤和顺序、测试方法、测试工具、测试用例设计和执行方法等。

•       测试环境

描述测试所需要的硬件、软件、测试工具的名称、规格、数量、版本、账号等信息,以及测试环境的准备、预定、还原、释放等管理策略。

•       测试人员

详述测试人员数目、分工、职责,如测试架构师、测试开发工程师、性能测试工程师、测试环境管理人员等。

•       测试进度计划

说明测试的计划开始和结束时间,测试总体进度安排,关键的阶段性进度检查点。测试进度计划结合开发计划,需要综合考虑测试方案、环境、人员等资源和任务的约束依赖关系。

•       测试准入条件

明确接纳启动测试的准入条件,如产品规格说明书中的功能已经实现、基本流程和准入测试用例通过等,以避免由于测试基础条件不具备影响测试计划实施。

•       测试发布标准和交付件

明确测试完成需要满足的条件、测试通过/不通过的标准、测试完成后需要产出的交付件,例如测试报告,说明测试报告需要包含的内容。

•       风险

分析当前项目运作中可能存在的风险,以及应对风险的规避、解决等措施。风险举例:人力到位风险、人员技能和领域知识风险、开发转测试时间风险。

最后,测试计划评审

测试计划编写完成后,邀请关键干系人,如项目经理,测试经理,产品经理,架构师,运维经理等对测试计划的正确性、全面性以及可行性等进行评审。

HDC.Cloud 华为开发者大会2020 即将于2020年2月11日-12日在深圳举办,是一线开发者学习实践鲲鹏通用计算、昇腾AI计算、数据库、区块链、云原生、5G等ICT开放能力的最佳舞台。

欢迎报名参会https://www.huaweicloud.com/HDC.Cloud.html?utm_source=&utm_medium=&utm_campaign=&utm_content=techcommunity

原文地址:https://www.cnblogs.com/huaweicloud/p/12229608.html

时间: 2024-08-03 04:04:15

【华为云技术分享】测试微课堂 | 有的放矢制定测试计划的相关文章

【华为云技术分享】如何设计高质量软件-领域驱动设计DDD(Domain-Driven Design)学习心得

DDD做为软件设计方法于2004年提出,一直不温不火,最近几年突然火起来了,为啥呢?正所谓机会给有准备的人,因为微服务的流行,大家都跃跃欲试把传统单体软件转成微服务架构,但理论很丰满,现实很骨感,光是分解微服务就让人找不到北,而DDD是歪打正着也好,富有远见也好,正好适合微服务转型设计,不火都难. 最近学习了领域驱动设计(Domain-Driven Design),感觉受益匪浅,那到底啥是DDD呢?这里分享一下学习心得.网上有很多详细的资料,感兴趣可以看看这个https://www.infoq.

【华为云技术分享】技术探秘:华为云瑶光何以定方向

作为北斗第七星,瑶光自古就可用来判断四季更迭.引向定时.而作为全新发布的智能云操作系统,瑶光智慧云脑又是如何做到统领云上各类资源.实现租户需求与资源供应之间最佳匹配的呢?在华为云瑶光实验室.华为云算法创新实验室里,我们找到了答案. #初识资源调度# 云OS:我太“南”了 依托虚拟化技术,我们得以将数据中心海量的计算.存储资源以云服务的形式对外提供.而随着数据中心规模扩展.边缘计算带来的算力延伸,承担着高效.精准资源调度的云操作系统面临着三大挑战: 第一个挑战是云计算的资源消耗/售卖模式带来的.云

王晶:华为云OCR文字识别服务技术实践、底层框架及应用场景 | AI ProCon 2019【华为云技术分享】

演讲嘉宾 | 王晶(华为云人工智能高级算法工程师王晶) 出品 | AI科技大本营(ID:rgznai100) 近期,由 CSDN 主办的 2019 中国AI 开发者大会(AI ProCon 2019)在北京举办.在计算机视觉技术专题,华为云OCR人工智能高级算法工程师王晶分享了“文字识别服务的技术实践.底层框架及应用场景”的主题演讲. 演讲的第一部分,他分享了文字检测和识别的基础知识以及难点和最新进展.第二部分是华为云文字识别服务关键能力.关键技术,以及落地过程中遇到的“坑”,这对其他人工智能产

【我的物联网成长记3】如何开发物联网应用?【华为云技术分享】

[摘要] 物联网应用是设备管理.故障监测.数据分析的重要工具.本文介绍如何基于物联网平台开发应用,包括API.SDK和图形化开发三种方式. -------------------整体方案------------------- 物联网应用是企业和开发者进行设备管理.告警&故障监测.业务监控.数据分析的重要工具.物联网平台屏蔽了设备接入的复杂性和协议的差异性,解耦应用与设备,为上层应用提供统一格式的数据,简化终端厂商开发的同时,也让应用提供商聚焦于自身的业务开发.基于华为物联网平台的应用开发方案如下

揭秘丨7分钟看懂华为云鲲鹏Redis背后的自研技术【华为云技术分享】

2019年5月,华为云发布全球首个基于自研ARM架构的分布式缓存鲲鹏Redis,搭载华为LibOS+华为编译器+安全容器引擎三项黑科技,在保证Redis强劲高性能外,还降低客户30%的使用成本,真正实现了好用不贵的普惠型分布式缓存Redis产品. 本文从技术视角解读华为云鲲鹏Redis是如何通过数据中心基础设施.芯片.硬件.软件等全栈创新优化,达成以上效果. 一.为什么ARM架构适合Redis? 众所周知,Redis是一款风靡全球的高性能.高灵活性.数据结构类型丰富的key-value内存数据库

华为云流媒体性能测试解决方案 轻松应对流量危机【华为云技术分享】

背景 随着带宽提速和互联网发展,内容丰富.形式多样的视频正成为碎片化时代娱乐消费的新宠,短视频.视频直播.在线钢琴陪练.合唱直播一系列新玩法层出不穷,涉及电竞.社交.电商.教育等各个行业.网络视频快速发展对系统性能带来了巨大的考验. 流媒体业务场景 下面是用户与流媒体服务器的简化交互关系,主要分为推流和拉流2大类. 推流就是从外界采集数据后利用流媒体协议将文件推流至流媒体服务器端,拉流就是将文件从流媒体服务器拉取至本地播放的过程,流媒体的文件主要是由音频和视频2个部分组成,youtube.土豆.

【华为云技术分享】漫谈LIteOS-物联网操作系统介绍

[摘要] 本文主要对于目前物联网操作系统的定义以及主要特点进行了分析,最后介绍了几个常见的物联网操作系统. 1简介 提到操作系统,可能首先想到的就是苹果操作系统,windows,Linux,Unix,Android,IOS等,显然目前比较为人熟知的操作系统基本都是一些手机或者电脑端的操作系统.而随着互联网技术的不断发展,硬件的体积越来越小,物联网技术也迎来了爆棚式的发展.物理网不同于 互联网的不同在于后者更关注的是人与人的互联,而前者是更加强调人与物,物与物的连接,从而实现万物互联(IOT).显

华为云实战开发】5.如何快速创建免费Git代码仓库【华为云技术分享】

1 文章目的 本文主要帮助已经掌握或者想要掌握Git的开发者,如何更好的应用Git,以及更好的将Git与DevCloud结合应用. 2 概述 2.1 版本控制系统介绍 从狭义上来说,版本控制系统是软件项目开发过程中管理代码所有修订版本的软件,能够存储.追踪文件的修改历史,记录多个版本的开发和维护,事实上我们可以将任何对项目有帮助的文档交付版本控制系统进行管理.版本控制系统(Version Control Systems)主要分为两类,集中式和分布式. 2.1.1 集中式版本控制系统 集中式版本控

【华为云技术分享】#探索鲲鹏#之“在鲲鹏上使用编程语言——C语言

[内容简介]本文将从三部分手把手教大家如何在鲲鹏上使用编程语言:1.编写hello world,并在鲲鹏上运行:2.编写一个带cmake的标准跨平台C工程,完成软件在鲲鹏平台上的编译,安装功能:3.选择一种由C / C ++语言编写的跨平台开源软件Mysql,完成该软件的编译,安装,制作成可分发的替代. 正文开始 在鲲鹏上使用编程语言——C语言 这不是一个C语言的教程. 然后接下来的几期,主要介绍各种编程语言在鲲鹏上如何从二进制编译到二进制文件,从二进制文件编成一体,从软件包制作成码头工人或者V