软件测试基础知识2

软件测试基础知识

发布: 2008-7-23 09:31 | 作者: 网络转载 | 来源: 网络转载 | 查看: 1004次 | 进入软件测试时代论

坛讨论

4. 基于模型的测试

模型实际上就是用语言把一个系统的行为描述出来,定义出它可能的各种状态,以及它们之间的转换关系,即状态转换图。模型是系统的抽象。基于模型的测试是利用模型来生成相应的测试用例,然后根据实际结果和原先预想的结果的差异来测试系统,过程如下图所示。

三、软件测试的类型

常见的软件测试类型有:

BVT (Build Verification Test)

BVT是在所有开发工程师都已经检入自己的代码,项目组编译生成当天的版本之后进行,主要目的是验证最新生成的软件版本在功能上是否完整,主要的软件特性是否正确。如无大的问题,

就可以进行相应的功能测试。BVT优点是时间短,验证了软件的基本功能。缺点是该种测试的覆盖率很低。因为运行时间短,不可能把所有的情况都测试到。

Scenario Tests(基于用户实际应用场景的测试)

在做BVT、功能测试的时候,可能测试主要集中在某个模块,或比较分离的功能上。当用户来使用这个应用程序的时候,各个模块是作为一个整体来使用的,那么在做测试的时候,就需要模仿用户这样一个真实的使用环境,即用户会有哪些用法,会用这个应用程序做哪些事情,操作会是一个怎样的流程。加了这些测试用例后,再与BVT、功能测试配合,就能使软件整体都能符合用户使用的要求。Scenario Tests优点是关注了用户的需求,缺点是有时候难以真正模仿用户真实的使用情况。

Smoke Test

在测试中发现问题,找到了一个Bug,然后开发人员会来修复这个Bug。这时想知道这次修复是否真的解决了程序的Bug,或者是否会对其它模块造成影响,就需要针对此问题进行专门测试,这个过程就被称为Smoke Test。在很多情况下,做Smoke Test是开发人员在试图解决一个问题的时候,造成了其它功能模块一系列的连锁反应,原因可能是只集中考虑了一开始的那个问题,而忽略其它的问题,这就可能引起了新的Bug。Smoke Test优点是节省测试时间,防止build失败。缺点是覆盖率还是比较低。

此外,Application Compatibility Test(兼容性测试),主要目的是为了兼容第三方软件,确保第三方软件能正常运行,用户不受影响。Accessibility Test(软件适用性测试),是确保软件对于某些有残疾的人士也能正常的使用,但优先级比较低。其它的测试还有Functional Test(功能测试)、Security Test(安全性测试)、Stress Test(压力测试)、Performance Test(性能测试)、Regression Test(回归测试)、Setup/Upgrade Test(安装升级测试)等。

四、微软的软件测试工作

1. 基本情况

测试在微软公司是一项非常重要的工作,微软公司在此方面的投入是非常巨大的。微软对测试的重视表现在工程开发队伍的人员构成上,微软的项目经理、软件开发人员和测试人员的比例基本是1:3:3或1:4:4,可以看出开发人员与测试人员的比例是1:1。对于测试的重视还表现在最后产品要发布的时候,此产品的所有相关部门都必须签字,而测试人员则具有绝对的否决权。

测试人员中分成两种职位,Software Development Engineer in Test(测试组的软件开发工程师)实际上还是属于开发人员,他们具备编写代码的能力和开发工具软件的经验,侧重于开发自动化测试工具和测试脚本,实现测试的自动化。Software Test Engineer(软件测试工程师)具体负责测试软件产品,主要完成一些手工测试以及安装配置测试。

2. 测试计划

测试计划是测试人员管理测试项目,在软件中寻找Bug的一种有效的工具。测试计划主要有两个作用,一是评判团队的测试覆盖率以及效率,让测试工作很有条理的逐步展开。二是有利于与项目经理、开发人员进行沟通。有了测试计划之后,他们就能够知道你是如何开展测试工作的,他们也会从中提出很多有益的意见,确保测试工作顺利进行。总之,有了测试计划可以更好的完成测试工作,确保用户的满意度。

测试人员在编写测试计划之前,应获得以下文档:

1)程序经理编写的产品功能说明书或产品开发计划;

2)程序经理或开发人员提供的开发进度表。

根据产品的特性及开发进度安排,测试人员制定具体的测试计划。测试计划通常包括以下内容:

1)测试目标和发布条件:

a. 给出清晰的测试目标描述;

b. 定义产品的发布条件,即在达到何种测试目标的前提下才可以发布产品的某个特定版本。

2)待测产品范围:

a. 软件主要特性/功能说明,即待测软件主要特性的列表;

b. 特性/功能测试一览,应涵盖所有特性、对话框、菜单和错误信息等待测内容,并列举每个测试范围内要重点考虑的关键功能。

3)测试方法描述:

a. 定义测试软件产品时使用的测试方法;

b. 描述每一种特定的测试方法可以覆盖哪些测试范围。

4)测试进度表:

a. 定义测试里程碑;

b. 定义当前里程碑的详细测试进度。

5)测试资源和相关的程序经理/开发工程师:

a. 定义参与测试的人员;

b. 描述每位测试人员的职责范围;

c. 给出与测试有关的程序经理/开发工程师的相关信息。

6)配置范围和测试工具:

a. 给出测试时使用的所有计算机平台列表;

b. 描述测试覆盖了哪些硬件设备;

c. 测试时使用的主要测试工具。

此外,还应列出测试中可能会面临的风险及测试的依赖性,即测试是否依赖于某个产品或某个团队。比如此项测试依赖性WindowsCE这个操作系统,而这个系统要明年2月份才能做好,那么此项测试就可能只有在明年5月份才能完成,这样就存在着依赖关系。如果那个团队的开发计划往后推,则此项测试也会被推迟。

软件测试基础知识

发布: 2008-7-23 09:31 | 作者: 网络转载 | 来源: 网络转载 | 查看: 1004次 | 进入软件测试时代论

坛讨论

4. 基于模型的测试

模型实际上就是用语言把一个系统的行为描述出来,定义出它可能的各种状态,以及它们之间的转换关系,即状态转换图。模型是系统的抽象。基于模型的测试是利用模型来生成相应的测试用例,然后根据实际结果和原先预想的结果的差异来测试系统,过程如下图所示。

三、软件测试的类型

常见的软件测试类型有:

BVT (Build Verification Test)

BVT是在所有开发工程师都已经检入自己的代码,项目组编译生成当天的版本之后进行,主要目的是验证最新生成的软件版本在功能上是否完整,主要的软件特性是否正确。如无大的问题,

就可以进行相应的功能测试。BVT优点是时间短,验证了软件的基本功能。缺点是该种测试的覆盖率很低。因为运行时间短,不可能把所有的情况都测试到。

Scenario Tests(基于用户实际应用场景的测试)

在做BVT、功能测试的时候,可能测试主要集中在某个模块,或比较分离的功能上。当用户来使用这个应用程序的时候,各个模块是作为一个整体来使用的,那么在做测试的时候,就需要模仿用户这样一个真实的使用环境,即用户会有哪些用法,会用这个应用程序做哪些事情,操作会是一个怎样的流程。加了这些测试用例后,再与BVT、功能测试配合,就能使软件整体都能符合用户使用的要求。Scenario Tests优点是关注了用户的需求,缺点是有时候难以真正模仿用户真实的使用情况。

Smoke Test

在测试中发现问题,找到了一个Bug,然后开发人员会来修复这个Bug。这时想知道这次修复是否真的解决了程序的Bug,或者是否会对其它模块造成影响,就需要针对此问题进行专门测试,这个过程就被称为Smoke Test。在很多情况下,做Smoke Test是开发人员在试图解决一个问题的时候,造成了其它功能模块一系列的连锁反应,原因可能是只集中考虑了一开始的那个问题,而忽略其它的问题,这就可能引起了新的Bug。Smoke Test优点是节省测试时间,防止build失败。缺点是覆盖率还是比较低。

此外,Application Compatibility Test(兼容性测试),主要目的是为了兼容第三方软件,确保第三方软件能正常运行,用户不受影响。Accessibility Test(软件适用性测试),是确保软件对于某些有残疾的人士也能正常的使用,但优先级比较低。其它的测试还有Functional Test(功能测试)、Security Test(安全性测试)、Stress Test(压力测试)、Performance Test(性能测试)、Regression Test(回归测试)、Setup/Upgrade Test(安装升级测试)等。

四、微软的软件测试工作

1. 基本情况

测试在微软公司是一项非常重要的工作,微软公司在此方面的投入是非常巨大的。微软对测试的重视表现在工程开发队伍的人员构成上,微软的项目经理、软件开发人员和测试人员的比例基本是1:3:3或1:4:4,可以看出开发人员与测试人员的比例是1:1。对于测试的重视还表现在最后产品要发布的时候,此产品的所有相关部门都必须签字,而测试人员则具有绝对的否决权。

测试人员中分成两种职位,Software Development Engineer in Test(测试组的软件开发工程师)实际上还是属于开发人员,他们具备编写代码的能力和开发工具软件的经验,侧重于开发自动化测试工具和测试脚本,实现测试的自动化。Software Test Engineer(软件测试工程师)具体负责测试软件产品,主要完成一些手工测试以及安装配置测试。

2. 测试计划

测试计划是测试人员管理测试项目,在软件中寻找Bug的一种有效的工具。测试计划主要有两个作用,一是评判团队的测试覆盖率以及效率,让测试工作很有条理的逐步展开。二是有利于与项目经理、开发人员进行沟通。有了测试计划之后,他们就能够知道你是如何开展测试工作的,他们也会从中提出很多有益的意见,确保测试工作顺利进行。总之,有了测试计划可以更好的完成测试工作,确保用户的满意度。

测试人员在编写测试计划之前,应获得以下文档:

1)程序经理编写的产品功能说明书或产品开发计划;

2)程序经理或开发人员提供的开发进度表。

根据产品的特性及开发进度安排,测试人员制定具体的测试计划。测试计划通常包括以下内容:

1)测试目标和发布条件:

a. 给出清晰的测试目标描述;

b. 定义产品的发布条件,即在达到何种测试目标的前提下才可以发布产品的某个特定版本。

2)待测产品范围:

a. 软件主要特性/功能说明,即待测软件主要特性的列表;

b. 特性/功能测试一览,应涵盖所有特性、对话框、菜单和错误信息等待测内容,并列举每个测试范围内要重点考虑的关键功能。

3)测试方法描述:

a. 定义测试软件产品时使用的测试方法;

b. 描述每一种特定的测试方法可以覆盖哪些测试范围。

4)测试进度表:

a. 定义测试里程碑;

b. 定义当前里程碑的详细测试进度。

5)测试资源和相关的程序经理/开发工程师:

a. 定义参与测试的人员;

b. 描述每位测试人员的职责范围;

c. 给出与测试有关的程序经理/开发工程师的相关信息。

6)配置范围和测试工具:

a. 给出测试时使用的所有计算机平台列表;

b. 描述测试覆盖了哪些硬件设备;

c. 测试时使用的主要测试工具。

此外,还应列出测试中可能会面临的风险及测试的依赖性,即测试是否依赖于某个产品或某个团队。比如此项测试依赖性WindowsCE这个操作系统,而这个系统要明年2月份才能做好,那么此项测试就可能只有在明年5月份才能完成,这样就存在着依赖关系。如果那个团队的开发计划往后推,则此项测试也会被推迟。


相关文章

  • 软件测试机构
  • 1.川软教育: 以就业为导向,独创软件就业实训模式教学,是国内IT业培训高端机构,强调项目,技能,实战.川软教育中心是成都最好的软件测试培训机构,能保障学员毕业后高质量就业.公司与企业完全结合,培训出能胜任软件公司软件测试.自动化测试.白盒 ...查看


  • 计算机软件产品检验员国家职业标准(最终稿)
  • 计算机软件产品检验员国家职业标准 1. 职业概况 1.1 职业名称 计算机软件产品检验员. 1.2 职业定义 具备计算机软硬件知识及软件测试知识,使用计算机软.硬件设备,依据相关标准规范,利用测试工具软件.相关仪器及专用测试装置等,对计算机 ...查看


  • 高级检验员培训大纲
  • <计算机软件产品检验员国家职业标准> 培训大纲 相关知识部分--高级检验员分册 信息产业部电子行业职业技能鉴定指导中心 本部分培训大纲是<计算机软件产品检验员国家职业标准>培训大纲的相关知识--高级检验员部分,对应标 ...查看


  • 北大青鸟软件测试基础知识
  • 1.什么是软件的特点: 1> 2> 3> 4> 5> 6> 7> 软件是一种逻辑实体 软件的生产和硬件的生产不同 软件运行和使用没有机械磨损和老化 软件的开发和运行对计算机系统有一定的依赖性 软件是 ...查看


  • 软件测试基础知识2 1
  • 回归测试 回归测试集包括三种不同类型的测试用例:①能够测试软件的所有功能的代表性测试用例:②专门针对可能会被修改影响的软件功能的附加测试:③针对修改过的软件成分的测试. 回归测试流程:①在测试策略制定阶段,制定测试策略:②确定回归测试版本: ...查看


  • 软件测试基础知识
  • 软件测试基础知识 一.软件测试的描述:  测试能提高软件的质量,但是提高质量不能依赖测试:  测试只能证明错误存在,不能证明错误不存在:  测试的主要困难是不知道该如何进行有效地测试,也不知道什么时候能够放心的结 束测试:  每个程 ...查看


  • atitit.软件测试attilax总结
  • atitit.软件测试attilax总结 1.1. <软件测试基础教程(第2版)> ........................................................................ ...查看


  • 软件工程简介
  • 软件工程简介 软件工程 (Software Engineering ,简称为SE) 是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它是一门工程性学科. 软件工程是为了应对20世纪60年代出现的"软件危机&qu ...查看


  • 语文学习计划表
  • 语文学习计划表 周次 日期 内容 一.朗读课文,试背古诗,抄写一段课文,练习基本笔画. 二.听写字词,讲解,纠正周内错题. 三.单元整合复习一. 四.基础知识达标测试一. 五.能力过关测试一. 六.讲解测试中的错题并纠正. 七.预习下周所学 ...查看


热门内容