软件测试基础知识

软件开发流程分为传统瀑布型流程和敏捷开发流程。对应的测试流程也分为瀑布型流程和敏捷型流程。现在大部分互联网公司基本采用的都是敏捷开发流程,进行快速迭代,持续交付的方式进行软件开发。

我用Xmind思维导图工具将软件测试的流程画了一张图,并将测试计划的工作进行了细化。如图1。

图1

从这张图中可以看到,软件测试活动的生命周期应该有5个环节:测试计划、测试设计、测试开发、测试执行、测试报告。

今天我们主要说下测试计划这个环节的主要任务。

在测试计划这个环节,我们要完成这么多工作:了解测试对象、制定测试策略、分析测试需求、评估测试工作量、筹集测试资源、形成测试计划文档。

这些工作具体要完成什么任务呢?我们下面逐一来说明:

了解测试对象

我们从哪些渠道了解我们的测试对象呢?总的来说,应该有如下几种:软件需求说明书、软件设计文档(概要设计文档、UI交互设计文档、功能设计文档)、原件的原型图、软件的竞品、软件项目计划以及与该项目相关的一些会议纪要等。
很多公司没有完本的文档,或者说没有任何文档,那么我们了解测试对象的渠道就要自己发挥主观能动性去和产品人员、开发人员、项目人员以及其他的与该软件项目相关的人员沟通。
我们要了解测试对象的哪些方面呢?
1、软件的功能点有哪些?
2、软件的目标用户是谁?
3、软件的架构是怎么样的。
4、软件的使用到技术有哪些。
......

制定测试策略

测试策略描述测试工程的总体方法和目标。描述目前在进行哪一阶段的测试(单元测试、集成测试、系统测试)以及每个阶段内在进行的测试种类(功能测试、性能测试、压力测试等)。
  测试策略包括
  1、测试技术:手动、自动化
  2、自动化测试框架
  3、要进行哪类测试(功能测试、性能测试、兼容性测试等)
4、测试完成的标准(所有测试case全部passed,所有严重bug全部fixed)

测试需求分析

这个环节是整个测试活动的起点和基础。测试需求分析的目的是要解决 测试测什么的问题。
从测试的观点和思路出发,为保证被测对象能够完成设计的目标,测试人员应该做哪些工作。
测试需求分析的资料来源与了解被测对象的渠道是一样的。也是产品需求说明书、产品设计文档、其他相关的技术文档、会议纪要等材料。
分析过程可以借助思维导图工具,从广度和深度上对被测对象进行发散性思考。比如:考虑正常流程有哪些、异常流程有哪些、进入异常流程有什么容错处理。
具体的分析步骤可以按照下面的流程,如图2所示。

图2
1、了解需求范围
从产品的各种文档中,确定软件要完成的功能点,以及为完成这些供电、软件要需要开发的功能模块有哪些。
2、明确目标用户
此产品的用户是哪些,不同用户是否具有不同权限,是否使用的功能不同。例如,登录用户、非登录用户。
3、分析功能步骤
列出所有功能点。对每个功能点的步骤进行分析。考虑不同功能点之间是否有依赖关系。有哪些可能的异常流程会导致此功能点失败。比如网络异常、服务器异常、系统环境异常、操作异常等会对软件功能产生什么影响。怎么进行容错。
4、挖掘影藏需求
有些需求从软件的各种文档中可能是无法直接明确出来的。这就需要软件测试人员要有挖掘测试需求的能力。那么,从哪些方面进行测试需求的挖掘呢?
1)产品的整体架构设计
2)产品的具体实现细节
3)进入用户角色,模拟真实场景的操作。

估计测试工作量

怎样估计测试工作量:
  1、对于功能测试,这主要依赖于应用的复杂度,功能点的个数,每个功能点的测试用例数量。对容量测试,主要依赖于建立测试所需数据的工作量大小。
  2、搭建测试环境的复杂度。
       3、测试团队的工作效率

测试资源

考虑需要测试工程师的数量、 系统资源(服务器配置、网络资源等)等。

测试计划文档

完整的测试计划文档应该包含下面这些部分:
1、介绍
  目的
  背景
  测试范围
  项目文件列表
  2、测试需求
  3、测试策略
  测试类型
  1、功能测试
  2、用户界面测试
  3、性能测试
  4、压力测试
  5、容量测试
  6、配置测试
  7、安装测试
  工具
  4、资源
  人力资源
  系统资源
  5、工作进度安排

如有疑问可加微信:dd198910242010

猜你喜欢

转载自blog.csdn.net/qq_36928945/article/details/80051066