软件测试常用的7种方法,最后一个是升职加薪关键!(零基础小白转行IT互联 ...

打印 上一主题 下一主题

主题 704|帖子 704|积分 2112

一样寻常而言,软件测试方法分为黑盒测试、白盒测试、灰盒测试、静态测试、动态测试、手动测试、主动化测试和探索性测试等类型。
【1】黑盒测试

黑盒测试又称功能测试、数据驱动测试或基于需求规格说明书的功能测试。该测试方法验证被测对象使用质量及外部质量表现。
采用黑盒测试方法,测试工程师将测试对象看作一个黑盒子,如图所示,完全不考虑步伐内部逻辑结构和内部特性,只依据需求规格说明书、计划文档及其他需求描述文档,检查被测对象是否与盼望需求一致。

测试工程师无须相识被测对象的内部构造,完全模拟软件产物的最终用户使用该软件,以用户需求规格说明书为评判标淮,检查软件产物是否满意了用户的需求。例如,使用某款社交类工具产物,用户无须知道该产物如何开发出来,仅需从使用者角度来使用收发图文信息、商品支付等功能即可。测试过程无须关注内部计划信息,所采用的测试方法就是黑盒测试。
黑盒测试方法能更好、更真实地从用户角度来观察被测体系的需求实现情况。在软件测试的各个阶段,如单元测试、集成测试、体系测试及确认测试等阶段中都发挥偏重要作用,尤其是在体系测试和确认测试中,其作用是其他测试方法无法取代的。但黑盒测试方法的弊端也很显着,由于仅关注被测对象外部特性表现,对于一些结构性、深条理的标题不易揭露,带来漏测的潜在风险。
需注意的是,黑盒测试方法的头脑是将被测对象作为一个黑盒子,在体系测试层面,软件体系是黑盒子,是测试工程师的测试对象。在单元测试、集成测试阶段,假如将函数单元、类文件、接口模块作为一个黑盒子,那么使用的测试方法同样称为黑盒测试,并不能说黑盒测试方法只能用在体系测试和验收测试阶段。
【案例:OA 体系图书管理功能结构图 】

如图所示,该功能模块重要包括“图书添加”“图书借阅”“图书归还”“图书种别”“查询图书”这5大功能。使用黑盒测试方法,从用户应用角度来看,可先以体系管理员身份登录体系测试〝图书种别”功能,再以普通用户视角进行“图书查询”“图书借阅”“图书归还”,完全模拟用户使用风俗。
【2】白盒测试

白盒测试,又称结构测试、逻辑驱动测试或基于步伐代码内部构成的测试。此时,测试工程师需深入观察步伐代码的内部结构、逻辑计划等。同样以某款社交工具软件为例,测试工程师需相识产物的内部计划信息,如编码形式、类文件调用过程、接口参数通报过程等。
白盒测试需要测试工程师具备较深的软件开发功底,熟悉相应的开发语言,一样寻常的测试工程师难以胜任该工作。图中所示是白盒测试示意图,相对于白盒测试工程师来说,软件产物内部构成是透明的。

【案例:图书添加功能页面对象检查功能】
下列代码是“图书添加” 功能页面对象检查功能函数。从白盒测试角度而言,测试工程师仅需关注此段函数所能实现的功能,无须关注该函数的外部功能特性。

【3】灰盒测试

与前面的黑盒测试、白盒测试相比,灰盒测试介于两者之间。黑盒测试仅关注被测对象的外部特性(功能、性能、用户界面、接口)表现,不关注内部的逻辑计划、构成情况,白盒测试则仅从步伐代码的内部构成考虑,检查其内部代码计划结构、方法调用等。两种方法从相反角度测试被测对象,但相对来说都比较“偏激”,灰盒测试则结合这两种测试方法,一方面需要考虑被测对象的外部特性表现,另一方面又需要考虑步伐代码的内部结构,如图所示。
通俗来说,灰盒测试就是白加黑,性能测试和主动化测试就采用了灰盒测试的方法。

【4】静态测试

静态测试顾名思义,就是不执行被测对象步伐代码、不运行被测对象而实验的测试活动,是发现缺陷的过程。静态测试包合阅读步伐代码、文档资料等,与需求规格说明书进行比较,找出被测对象计划、描述、编码等方面的错误。
进行步伐代码静态测试时,可采用一些代码走查工具,如 QAC++、C++Test等。需要注意的是,代码走查工具一样寻常仅能发现语法或调用效率方面的标题,很难发现业务逻辑错误。
以白盒测试静态测试方法为例,针对一些功能函数、类等文件,可进行阅读、分析,发现被测对象中的缺陷。
【5】动态测试

动态测试运行被测对象的步伐代码,执行测试用例,检查体系软件运行效果与预期效果的差别。通过动态行为分析被测对象的准确性、可 靠性和有用性,并分析体系运行速度、体系资源耗用等性能状况。
动态测试由 4 部分组成:计划测试用例、评审测试用例、执行测试用例、输出测试报告。
【6】手工测试

通过模拟终端用户的业务流程应用软件体系,检查被测对象实际表现与预期效果间的差别,测试工程师手工运行被测对象,这种模式即为手工测试。手工测试是最传统的测试方法,也是现在大多数公司普遍采用的测试形式。测试工程师计划、执行测试用例,比较实际效果与预期效果,记录两者的差别,最终输出缺陷报告和测试报告。手工测试方法可以充分发挥测试工程师的主观能动性,将其智力活动体现于测试工作中,能发现很多的缺陷,但该测试方法有肯定的范围性与单调枯燥性。当测试周期变长,业务重复性较大时,手工测试容易变得枯燥乏味。
【7】主动化测试

随着软件行业的不断发展,软件测试技术也在不断地更新,出现了众多的主动化功能测试工具,如HP 的 Quick Test Professional(最新版本名为 UFT )、开源的 Selenium(见图)、性能测试工具如 LoadRunner、JMeter 等。
所谓主动化测试,即利用测试工具,编程实现模拟用户业务使用流程的脚本,设定特定的测试场景,主动寻找缺陷。主动化测试的引入,大大地进步了测试效率和正确性,而且封装性较好的测试脚本,还可应用于其他产物项目。业内通常将主动化功能测试称为主动化,而性能测试单独成体系,不含在主动化测试中。

1. 主动化测试长处
主动化测试的长处是快速、可重用,替代人的重复活动。回归测试阶段,可利用主动化测试工具进行,无须大量测试工程师手动重复执行测试用例,极大地进步了工作效率。偶然做压力测试,需要几万乃至几十万个用户同时访问某个站点,以保证网站服务器不会出现死机或崩溃征象。一样寻常来说,模拟几万人同时访问某个体系,通过人工很难实现,但利用测试工具,如 LoadRunner,可非常容易地做到。
2. 主动化测试缺点
当然,主动化测试的缺点也很显着,它们只能检查一些比较重要的标题,如崩溃、死机,但却无法发现新的错误。另外,在主动测试中编写测试脚本的工作量也很大,偶然该工作量其至超过了手动测试的时间。
在主动化测试活动中,测试工具的应用,可以进步测试质量、测试效率。但在选择和使用测试工具时,也应该看到在测试过程中,并不是全部的测试工具都适合引入;同时,即使有了测试工具,会使用测试工具,也不等于测试工具真正能在测试中发挥作用。
因此,应该根据实际情况选择测试工具,选择使用何种测试工具,千万不可为了使用工具而刻意地使用工具。在目前软件体系研发环境下,主动化测试完全替代手工测试是不可能的。
主动化测试不仅仅运用在体系测试层面,在单元测试、集成测试阶段同样可以使用主动化测试方法进行测试。
最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋侪们假如需要可以自行免费领取 【保证100%免费】

这些资料,对于【软件测试】的朋侪来说应该是最全面最完整的备战仓库,这个仓库也伴随上万个测试工程师们走过最困难的旅程,盼望也能资助到你!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

郭卫东

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表