软件测试基本方法(一)之软件测试

为什么要进行软件测试:

  • 产品质量的保证
  • 控制成本的关键
  • 软件可靠性确认
  • 让企业具备国际竞争力

软件测试定义:

软件测试是由“验证(verification)”和“有效性确认(validation)”活动构成的整体。

  • 验证:检验软件是否已正确地实现了产品规格书所定义的系统功能和特性。
  • 有效性确认:确认所开发的软件是否满足用户真正需求的活动。

软件测试和软件开发的关系:

软件缺陷:

  • 定义:是指计算机程序中存在的任何一种破坏正常运行能力的错误,或者隐藏的功能缺陷,其结果会导致软件产品在某种程度上不能满足用户的需要。
  • 修复软件缺陷的代价:

修复缺陷的代价不是随着时间线性增加,而是近乎指数。

软件测试分类:

  • 按测试对象或阶段:需求审查、设计审查、单元测试、集成测试、系统测试、验收测试
  • 按测试方法:白盒、黑盒
  • 按目标:可靠性测试、兼容性测试、安全性测试、性能测试、回归测试(保证软件中新的变化不会对原有功能的正常使用有影响而进行的测试)压力测试(用来检查系统在不同负载特别是高负载条件下的运行情况,以发现系统性能瓶颈、不稳定等问题)
  • 按软件是否在测试时被执行:静态测试(对源码进行研读,不需要编译运行,查找错误和收集度量数据,包括对规格说明书的评审)、动态测试(通过运行程序和测试用例,根据系统行为和输入输出关系来发现错误)

软件测试的工作范畴:

  • 软件测试工作的组织与管理:制定测试策略、测试计划,确认所采用的测试方法与范围,控制测试进度,管理测试资源
  • 测试工作的实施:编制符合标准的测试文档,搭建测试环境,开发测试脚本与开发协作实现各阶段的测试活动

软件测试基本方法(一)之软件测试

时间: 2024-08-07 00:16:36

软件测试基本方法(一)之软件测试的相关文章

【软件测试工程师】关于软件测试术语的定义,软件测试中的分类

01. 为什么要在一个团队中开展软件测试工作? 因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作.在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况. 02. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作? 我曾经做过web测试,后台测试,客户端软件,其中包括功能测试,性能测试,用户体验测试.最擅长的是功能测试 03.

软件测试基本方法(七)之验收测试

验收测试是在功能测试和系统测试之后进行的,所以验收测试的前提条件是系统或软件产品已通过了内部测试.然后和用户一起验收软件,在真实环境下运行软件,看是否存在与用户需求不一致的问题或违背产品规格书的要求.由于测试人员不可能完全用户实际使用情况,所以软件是否真正满足最终用户的要求,应由用户进行一系列的验收测试. (1)验收测试定义: 检查软件是否符合合同要求,包括需求规格说明.设计规格说明和用户手册等. (2)测试内容: 易用性测试(用户界面和可用性测试) 兼容性测试(软件兼容性测试.数据共享兼容性测

软件测试基本方法(二)之白盒测试

白盒测试 概念:按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作. 分类:白盒测试是基于覆盖的测试,尽可能覆盖程序的结构特性和逻辑路径,所以其具体方法有逻辑覆盖.循环覆盖.基本路径覆盖.逻辑覆盖又可进一步分为语句覆盖.判定(分支)覆盖.条件覆盖.判定-条件覆盖.条件组合覆盖等.白盒测试主要用于单元测试(我们需要了解程序源码和结构,而且基于输入输出,适合单元模块).下面重点介绍常用的几种白盒测试方法. 语句覆

软件测试基本方法(三)之黑盒测试

黑盒测试: 概念:也称功能测试,它是通过测试来检测每个功能是否都能正常使用.在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息.黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试. 分类:黑盒测试有很多具体方法,这里只选取两种最常用的--等价类划分法和边界值分析法. 等价类划分法: 定义:分为有效等价类和无效等价类.有效

软件测试基本方法(四)之测试过程模型

瀑布模型是最常见也是最基本的过程模型,但实践中受到越来越大的局限性,我认为现代软件越发庞大和复杂,我们往往不能一眼洞穿,加上用户需求的多样化和不确定性,都让瀑布模型力不从心.于是出现了原型模型.迭代模型.敏捷过程模型和并发模型.例如原型模型就是为了加大与用户的交流,挖掘用户真正的需求.这里只是泛泛地谈一谈一些著名的测试过程改进模型. TMM(测试成熟度模型) 过程能力:描述了遵循一个软件测试过程可能达到的预期结果的范围. TMM的建立得益于: 充分吸收CMM的精华 基于历史演化的测试过程 业界的

软件测试基本方法(五)之单元测试

这是我们最亲密的测试,我们平常写课程设计,当然谈不上商业级的测试,往往就一个单元测试占据了测试.有些人习惯先搭起框架,然后再单元测试:也有些人在完成了一个功能模块后即着手进行该模块的测试.但殊途同归,要保证软件系统的质量,首先就要保证构成系统的单元的质量,这些单元可能是一个对象.类和函数,也可能是更大的单元--组件或模块. (1)为什么要进行单元测试: 软件中存在的错误发现得越早,则修改和维护的费用就越低,而且难度越小,单元测试是早期抓住这些错误的最好时机. (2)定义: 单元测试是对软件基本组

软件测试基本方法(六)之集成测试和系统测试

在软件开发中,经常会遇到这样的情况,单元测试时确认每个模块都能单独工作,但这些模块集成在一起之后会出现有些模块不能正常工作.例如,在chrome环境下用js写了一个实时捕捉video中特定区域的模块,正常工作:利用worker线程进行webgl场景渲染,也正常:可是当两个运算合并时,出现一个模块不能正常运行,原因在于两个模块不适合在worker线程中结合,基于worker本身的局限性,只能有一个模块正常工作.所以,很有必要进行集成测试. (1)集成测试定义: 集成测试是将软件集成起来,对模块之间

关于软件测试的方法

最近软件要出新版本,在交付给测试组测试之前,组长让我先自己内部测一测. 虽然找出不少问题,但是感觉自己的测试过程十分无头绪,就是点到哪算哪,于是就想找找软件测试比较系统一点的方法. 以下是我找到相关内容,做个记录. 软件测试方法种类繁多,有白盒测试.黑盒测试.静态测试.动态测试.集成测试等等,记忆起来容易混乱,傻傻分不清楚,如果把软件测试方法进行分类,就会清晰很多. 1.从是否关心软件内部结构和具体实现的角度划分(按测试分类) 白盒测试.黑盒测试.灰盒测试 (1)白盒测试:又称为结构测试或逻辑驱

软件测试的方法-------基于直觉和经验的方法

定义:基于直觉和经验的测试方法,不是严格意义上的科学测试方法,带有一定的随机性,测试结果不够可靠,甚至可以看作是没有办法的办法.但是,软件测试是具有社会性,呈现一定的不确定性.这时,采用直觉和经验往往能够发挥更好的作用.   1.Ad-hoc测试方法和ALAC测试 1.1.自由测试(Ad-hoc Testing)强调测试人员根据自己的经验,不受测试用例的束缚,放开思路.灵活地进行各种测试. 1.2.ALAC,是Act-like-a-customer(像客户那样做)的简写,是一种基于客户使用产品的