用户登录
用户注册

分享至

软件测试包括哪些项目 软件测试项目有哪些

  • 作者: 用户67863212
  • 来源: 51数据库
  • 2020-04-15

软件测试包括哪些项目

软件测试的种类有哪些?

从不同的角度出发,软件测试可划分为不同类型。

(1)从是否关心软件内部结构和具体实现的角度划分。

它包括如下三种测试方法。

一是,白盒测试。

也称结构测试或逻辑驱动测试,即按照程序内部的结构测试程序,通过测试检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。

测试时,把测试对象看作一个打开的盒子。

测试人员依据程序内部逻辑结构等相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际状态是否与预期状态一致。

二是,黑盒测试。

也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试检测每个功能是否能正常使用。

测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性情况下,测试者在程序接口进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并保持外部信息(如数据库或文件)的完整性。

三是,灰盒测试,介于白盒测试与黑盒测试之间。

既关注输出的正确性,同时也关注内部表现,但并不象白盒测试那样详细完整,仅通过表征性的现象、事件和标志判断内部运行状态。

输出正确但内部存在错误的情况非常多,但如果每次都采用白盒测试,其效率很低,故而可根据需要采取灰盒测试方法。

(2) 从是否执行程序的角度划分。

它包括以下两种测试方法。

一是,静态测试。

即指不运行被测程序本身,仅通过分析或检查源程序的文法、结构、过程、接口等检查程序的正确性。

方法是通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。

二是,动态测试。

即通过运行被测试软件达到测试目的。

(3) 从软件开发过程阶段的角度划分。

它包括以下三种测试方法。

一是,单元测试。

是对软件基本组成单位进行的测试,如一个模块、一个过程等。

它是软件动态测试最基本、最重要的部分,目的是检验软件基本组成单位的正确性。

单元测试要求测试者了解内部程序设计和编码的细节,一般应由程序员完成,通常需要开发测试驱动模块和桩模块(集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假"模块称为被测模块的桩模块)辅助完成单元测试,因此应用系统有一个设计良好的体系结构显得尤为重要。

二是,集成测试。

是在软件系统集成过程中进行的测试,主要目的是检查软件单位之间的接口是否正确。

它根据集成测试计划,一边将模块(或其他软件单位)组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。

集成测试的策略主要有自顶向下和自底向上两种。

三是,系统测试。

是对已经集成好的软件系统进行彻底测试,以验证软件系统的正确性,检查软件运行是否正确并非一项简单的任务。

这一过程通常被称为测试的"先知者问题”。

因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行应符合软件规约。

四是,验收测试。

旨在向软件购买者展示该软件系统能否满足用户需求,是软件在投入使用前的最后测试。

它的测试数据通常是系统测试数据的子集。

区别是,验收测试有软件系统的购买者代表在场,甚至是在软件安装使用现场。

五是,回归测试。

是在软件维护阶段对软件进行修改后进行的测试,目的是检验对软件的修改是否正确。

修改的正确性有两重含义:一是所作的修改达到预定目的,如错误得到改正,能适应新的运行环境等;二是不影响软件其他功能的正确性。

软件测试组成包括哪些?

软件测试的具体工作内容包括:理解用户的需求和体验,校正设计和项目计划,运用良好的测试方法和实践,撰写有效的测试计划,设计有效的测试用例,推动自动化测试,调查分析bug的根本病因,追求卓越的技术和业务能力,充分的团队合作,以及紧密地联系和关注用户和合作伙伴。

李和恒个人的理解是,软件测试就像沙滩上的寻宝人,你不可能知道沙里埋了些什么、有多少、在哪里。

寻宝人要在尽量短的时间里面挖出尽量值钱的宝物。

但极为讽刺的是,你不可能挖出所有的宝物,而且所有的宝物日后都会浮现出来,比如地震海啸地质运动什么的。

在这里,测试工程师就是寻宝人,宝物就是 bug。

至于用什么办法寻宝,那是技术上的问题了。

技术总是日新月异的,所以我对合格的软件测试工程师的期望是:狂热追求宝物,具有大局观,充分了解沙滩,最后才是了解并改革寻宝工具。

软件测试主要能包括哪些内容?

单元测试(Unit test):是针对模块组件或方法的测试。

在本人的操作中,一般是开发员工作范围内的测试;在具备组件接口规范的情况下,一般需要做一个测试工具模拟调用环境,编写测试实例,通过断点情况监视模块实际工作是否正常。

一股采用这种方式开发的单一功能模块质量都是非常高的。

但是如果没有统一的模块规范,那么开发与测试的工作量接近一比一;但如果模块是按统一的标准开发的,那么同一套测试套件就可以用到各个模件上,从而节省了测试时间。

本人认为这属于开发部门工作范围内的测试,与QAQC部门没有什么大的关系,事实上,在这一层次的用例也不是QC可以做到和理解的。

白箱测试:在理解内部流程的情况下针对逻辑流程设计测试实例,目的是找出极限边缘以及内在的逻辑错误。

单元测试中白箱测试的比例很高,(原因不难理解,还有谁比作者自己更理解模块的构造流程的)。

黑箱测试:这是QC部门的主要工作。

黑箱测试主要在于编写测试实例。

不过在实际操作中,都是把最不懂技术的成员分配做测试,最高技术水平就是会用VSS,所以也就别指望编什么测试实例。

所谓的黑箱测试,常常是对着菜单按钮,这个按下去,噢,有东西出来了,对的,打个勾——其实,这时侯的实例就是一个个按下去然后看看有没有输出,而且只限于界面方面,内在的部分和边缘情况大概是不用指望的。

但据作者所知,在CMM达到四以上的国外软件公司中,黑箱测试是对软件评价的最主要方式,通过合适的测试实例,除了最常见的可用性测试外,还包括压力测试,和怪用测试(Monkey test)。

压力测试:评价一个系统极限可以承受的压力是多少,同时在超负荷后的的响应情况;同时,在极限状况下,一些平时不太出现的ug也会浮现出来。

所以,这个测试作者认为不应该单独由QC部门进行,而应该由开发部门与QC部门联合进行。

理想的系统在极限测试状况下就算响应不及,也不至于当机,并在负荷恢复正常后一段时间内可以恢复正常运转。

这时当初对Windows恶评的原因之一:像网站一旦超出100-200个concuent,Windows不但罢工还死掉了;不得不重启系统(当然,Windows任意硬重启都能死鱼翻生,大多数情况下吧,也属一种难能可贵的优点);而linux在超出负荷后一般情况下下降曲线不至于太明显——不过这也不是绝对的,作者就发现一旦Linux在极限状态下进入内存抖动时,死相和Windows差不了多少;所以内存不至于耗干是Linux可靠性能超过Windows的重要因素。

回归测试:在修改其中一个模块后看其他模块有什么问题。

作者认为这个测试是过程化程序的观念产物,在模块化软件中相互耦合程度低,而且服从统一的调动协议,是不是修改真是自家里的事情,和他人(模块)没有半点相干。

整体测试:把不同的模块连结后,看看联合工作情况如何。

这实际上是对接口协议的测试。

作者认为是可以作为接口互动部分的设计一部分工作,没有必要摆出来作为流程之一。

同理还有系统测试,反正最后整个系统运行起来是什么情况。

看似大,但如果前面已经做到好好的,这里如果出问题那才叫怪呢! Alpha测试:放任内部成员胡作非为的测试; Beta测试:让全世界的坏人都胡作非为的测试。

项目管理的软件测试有哪些经验呢?

1.测试用例包含测试文档和测试数据两部分,在实际操作之前,请先准备好测试数据,即要在界面上录入的数据,原则上是所有在界面上输入的数据都要写进测试数据(excel表)中,并注意归纳整理,每组测试数据都应有相应的测试目的。

2.测试数据的准备需要考虑到一定的覆盖率,但100%的覆盖是肯定做不到的。

请根据测试用例文档的内容尽量达到最有效的覆盖。

3.测试用例并不是一成不变的,应在测试过程中随时更新、补充,不断完善。

如果在测试过程中发现原测试用例有不完整甚至是错误的情况,请及时补充或修改。

这一点很重要,切记。

因为在此时多一分心,将来的测试工作必会少几分力。

4.在测试过程中发现的BUG请填写到缺陷管理工具TTP中,特别注意要将BUG情形,重现步骤等描述清楚,不要因偷懒或错别字等原因使得开发人员无法正确理解和无法重现该BUG,甚至造成歧义,以免对开发者和测试者增加许多不必要的工作量。

5.做好BUG的跟踪工作。

测试工作并不止于发现BUG,而应对每个BUG跟踪到底。

BUG自提出之后,就要一直跟踪,敦促相关人员解决。

时间太长仍未解决的,要查明原因,并汇报至项目经理处。

在TTP中,则体现为所有的BUG最后都要处于“closed”状态。

6.做好版本控制。

程序源代码的版本控制工作由开发组负责,但测试组也需要管理好测试系统的版本,保持与最新程序同步,以免对不正确的版本进行测试,做无用功。

7.做好回归测试。

开发人员修改BUG后,测试组要尽快将程序更新至测试环境,并做回归测试。

此时除了验证所发现的问题是否被修正外,还要特别注意的是,此项改动是否会对系统的其它部分造成影响,从而产生新的BUG。

因为有时候程序员对程序的一个不正确的,哪怕是小小的改动,都可能会对系统带来更多的BUG,而这些BUG往往又是很隐蔽的,所以要特别小心。

这一点非常难做到,需要靠测试人员的经验和细心。

这里有一个比较好的方法,就是要求开发人员在解决问题的同时,要详细的说明该问题产生的原因,及他对哪些源程序文件做了什么改动,填写到TTP中,越详细越好。

根据我们部门以往的测试经验,我觉得这一点做得还很不够,很多程序员并不愿意做过多类似的归纳整理工作。

其实这是对大家都有好处的事情,一定要请大家共同配合。

8.在测试过程中,如果重复的操作过多,在条件允许的情况下,可考虑使用功能测试工具winrunner,quicktestpro等来简化操作。

什么是软件测试项目管理

项目管理是一个管理学分支的学科,指在项目活动中运用专门的知识、技能、工具和方法,使项目能够在有限资源限定条件下,实现或超过设定的需求和期望。

项目管理是对一些与成功地达成一系列目标相关的活动(譬如任务)的整体。

这包括策划、进度计划和维护组成项目的活动的进展。

测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪...

软件测试计划是指导测试过程的纲领性文件,包含了产品概述, 测试策略,测试方法,测试区域,测试配置,测试周期,测试资源, 风险分析等内容;借助软件测试计划,参与测试的项目成员, 可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通, 跟踪和控制测试进度,应对测试过程中的各种变更。

怎么进行项目的软件测试

你的问题太多了,哈哈。

1、源代码一般是不给你们的,部署给你们的,也只能是测试的版本,不能是正式的版本2、你需要有需求文档,需求,就是你们要知道这个项目是干什么的,比如盖一个楼房,你总得知道要盖几层吧,知道每层的规格吧,通风设备,门口大小,煤气管道等等,你需要知道这些。

3、你们需要知道了需求,不懂就问他们,反复沟通。

4、然后出测试用例,就是你打算怎么测试,这个文档出来之后,评审,让他们确认。

如你测试这个框框的金额输入对不对,你可能输入一个中文,也可以输入一个英文,看能不能输入,再就是输入数字,或者特殊符号等等,能不能通过。

5、测试用例的执行,执行,就是对上面的用例的操作,每一步操作,用例中都写明了,执行,就是机器的按照里面的步骤来走就行了6、执行的过程中,有问题,就出报告,可以在bugfree等工具中写,没有的话,就直接写excel中7、。

他们软件修复,再继续反复测试。

其实你如果这个都不是很清楚的话,你可以在腾讯课堂中查一下海枫科技,上面有免费的课程可以学习一下这方面的知识的。

独孤码农

转载请注明出处51数据库 » 软件测试包括哪些项目

软件
前端设计
程序设计
Java相关