登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
社区
BBS
广播
Follow
园子
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
科技
›
软件测试常用的7种方法,最后一个是升职加薪关键! ...
软件测试常用的7种方法,最后一个是升职加薪关键!
[ 复制链接 ]
蝌棚煌
前天 17:03
一般而言,软件测试方法分为黑盒测试、白盒测试、灰盒测试、静态测试、动态测试、手动测试、自动化测试和探索性测试等类型。
【1】黑盒测试
黑盒测试又称功能测试、数据驱动测试或基于需求规格说明书的功能测试。该测试方法验证被测对象使用质量及外部质量表现。
采用黑盒测试方法,测试工程师将测试对象看作一个黑盒子,如图所示,完全不考虑程序内部逻辑结构和内部特性,只依据需求规格说明书、设计文档及其他需求描述文档,检查被测对象是否与期望需求一致。
测试工程师无须了解被测对象的内部构造,完全模拟软件产品的最终用户使用该软件,以用户需求规格说明书为评判标淮,检查软件产品是否满足了用户的需求。例如,使用某款社交类工具产品,用户无须知道该产品如何开发出来,仅需从使用者角度来使用收发图文信息、商品支付等功能即可。测试过程无须关注内部设计信息,所采用的测试方法就是黑盒测试。
黑盒测试方法能更好、更真实地从用户角度来考察被测系统的需求实现情况。在软件测试的各个阶段,如单元测试、集成测试、系统测试及确认测试等阶段中都发挥着重要作用,尤其是在系统测试和确认测试中,其作用是其他测试方法无法取代的。但黑盒测试方法的弊端也很明显,由于仅关注被测对象外部特性表现,对于一些结构性、深层次的问题不易揭露,带来漏测的潜在风险。
需注意的是,黑盒测试方法的思想是将被测对象作为一个黑盒子,在系统测试层面,软件系统是黑盒子,是测试工程师的测试对象。在单元测试、集成测试阶段,如果将函数单元、类文件、接口模块作为一个黑盒子,那么使用的测试方法同样称为黑盒测试,并不能说黑盒测试方法只能用在系统测试和验收测试阶段。
【案例:OA 系统图书管理功能结构图 】
如图所示,该功能模块主要包括“图书添加”“图书借阅”“图书归还”“图书类别”“查询图书”这5大功能。使用黑盒测试方法,从用户应用角度来看,可先以系统管理员身份登录系统测试〝图书类别”功能,再以普通用户视角进行“图书查询”“图书借阅”“图书归还”,完全模拟用户使用习惯。
【2】白盒测试
白盒测试,又称结构测试、逻辑驱动测试或基于程序代码内部构成的测试。此时,测试工程师需深入考查程序代码的内部结构、逻辑设计等。同样以某款社交工具软件为例,测试工程师需了解产品的内部设计信息,如编码形式、类文件调用过程、接口参数传递过程等。
白盒测试需要测试工程师具备较深的软件开发功底,熟悉相应的开发语言,一般的测试工程师难以胜任该工作。图中所示是白盒测试示意图,相对于白盒测试工程师来说,软件产品内部构成是透明的。
【案例:图书添加功能页面对象检查功能】
下列代码是“图书添加” 功能页面对象检查功能函数。从白盒测试角度而言,测试工程师仅需关注此段函数所能实现的功能,无须关注该函数的外部功能特性。
【3】灰盒测试
与前面的黑盒测试、白盒测试相比,灰盒测试介于两者之间。黑盒测试仅关注被测对象的外部特性(功能、性能、用户界面、接口)表现,不关注内部的逻辑设计、构成情况,白盒测试则仅从程序代码的内部构成考虑,检查其内部代码设计结构、方法调用等。两种方法从相反角度测试被测对象,但相对来说都比较“偏激”,灰盒测试则结合这两种测试方法,一方面需要考虑被测对象的外部特性表现,另一方面又需要考虑程序代码的内部结构,如图所示。
通俗来说,灰盒测试就是白加黑,性能测试和自动化测试就采用了灰盒测试的方法。
【4】静态测试
静态测试顾名思义,就是不执行被测对象程序代码、不运行被测对象而实施的测试活动,是发现缺陷的过程。静态测试包合阅读程序代码、文档资料等,与需求规格说明书进行比较,找出被测对象设计、描述、编码等方面的错误。
进行程序代码静态测试时,可采用一些代码走查工具,如 QAC++、C++Test等。需要注意的是,代码走查工具一般仅能发现语法或调用效率方面的问题,很难发现业务逻辑错误。
以白盒测试静态测试方法为例,针对一些功能函数、类等文件,可进行阅读、分析,发现被测对象中的缺陷。
【5】动态测试
动态测试运行被测对象的程序代码,执行测试用例,检查系统软件运行结果与预期结果的差异。通过动态行为分析被测对象的正确性、可 靠性和有效性,并分析系统运行速度、系统资源耗用等性能状况。
动态测试由 4 部分组成:设计测试用例、评审测试用例、执行测试用例、输出测试报告。
【6】手工测试
通过模拟终端用户的业务流程应用软件系统,检查被测对象实际表现与预期结果间的差异,测试工程师手工运行被测对象,这种模式即为手工测试。手工测试是最传统的测试方法,也是现在大多数公司普遍采用的测试形式。测试工程师设计、执行测试用例,比较实际结果与预期结果,记录两者的差异,最终输出缺陷报告和测试报告。手工测试方法可以充分发挥测试工程师的主观能动性,将其智力活动体现于测试工作中,能发现很多的缺陷,但该测试方法有一定的局限性与单调枯燥性。当测试周期变长,业务重复性较大时,手工测试容易变得枯燥乏味。
【7】自动化测试
随着软件行业的不断发展,软件测试技术也在不断地更新,出现了众多的自动化功能测试工具,如HP 的 Quick Test Professional(最新版本名为 UFT )、开源的 Selenium(见图)、性能测试工具如 LoadRunner、JMeter 等。
所谓自动化测试,即利用测试工具,编程实现模拟用户业务使用流程的脚本,设定特定的测试场景,自动寻找缺陷。自动化测试的引入,大大地提高了测试效率和准确性,而且封装性较好的测试脚本,还可应用于其他产品项目。业内通常将自动化功能测试称为自动化,而性能测试单独成体系,不含在自动化测试中。
1. 自动化测试优点
自动化测试的优点是快速、可重用,替代人的重复活动。回归测试阶段,可利用自动化测试工具进行,无须大量测试工程师手动重复执行测试用例,极大地提高了工作效率。有时做压力测试,需要几万甚至几十万个用户同时访问某个站点,以保证网站服务器不会出现死机或崩溃现象。一般来说,模拟几万人同时访问某个系统,通过人工很难实现,但利用测试工具,如 LoadRunner,可非常容易地做到。
2. 自动化测试缺点
当然,自动化测试的缺点也很明显,它们只能检查一些比较主要的问题,如崩溃、死机,但却无法发现新的错误。另外,在自动测试中编写测试脚本的工作量也很大,有时该工作量其至超过了手动测试的时间。
在自动化测试活动中,测试工具的应用,可以提高测试质量、测试效率。但在选择和使用测试工具时,也应该看到在测试过程中,并不是所有的测试工具都适合引入;同时,即使有了测试工具,会使用测试工具,也不等于测试工具真正能在测试中发挥作用。
因此,应该根据实际情况选择测试工具,选择使用何种测试工具,千万不可为了使用工具而刻意地使用工具。在目前软件系统研发环境下,自动化测试完全替代手工测试是不可能的。
自动化测试不仅仅运用在系统测试层面,在单元测试、集成测试阶段同样可以使用自动化测试方法进行测试。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
最后如果你想学习自动化测试,欢迎加入笔者的交流群:785128166,里面会有很多资源和大佬答疑解惑,我们一起交流一起学习!
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
我的笔记
可视化图解算法06:合并两个有序(排序)的链表
CTFHub技能树-信息泄露wp
数据结构-基本概念
读算法简史:从美索不达米亚到人工智能时代04计算机之梦
《Fundamentals Of Computer Graphics》第二章 杂项数学 总结
CentOS Stream 10安装部署Zabbix 7.0网络监控平台和设备配置添加
k8s单机容器网络(20250216)
游戏编程模式(28种编程模式)
Golang+Gin实现api接口搭建
3ds max的obj文件格式说明
一个程序猿的 2024 总结《勇气》
刷题笔记Day29贪心算法part03
算法day02-数组篇(2)
Codeforces Round 1020 (Div. 3)
路径选择,调试运行,自定义图表ECharts,分页渲染
Kioptrix-Level Two
关于专项附加扣除和个税年度汇算的相关知识
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
蝌棚煌
前天 17:03
关注
0
粉丝关注
16
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9986
里豳朝
9994
背竽
9994
4
猷咎
9992
5
凶契帽
9992
6
终秀敏
9990
7
森萌黠
9990
8
裴涛
9990
9
贼瘁
9990
10
鞍汉
9990
查看更多