白盒测试- 维基百科,自由的百科全书

文章推薦指數: 80 %
投票人數:10人

白盒测试(white-box testing)又稱透明盒測試(glass box testing)、結構測試(structural testing)等,软件测试的主要方法之一,也称结构测试、逻辑驱动测试或基于 ... 白盒测试 维基百科,自由的百科全书 跳到导航 跳到搜索 白盒测试(white-boxtesting)又稱透明盒測試(glassboxtesting)、結構測試(structuraltesting)等,软件测试的主要方法之一,也称结构测试、逻辑驱动测试或基于程序本身的测试。

測試應用程式的內部結構或運作,而不是測試應用程式的功能(即黑箱測試)。

在白箱測試時,以程式語言的角度來設計測試案例。

測試者輸入資料驗證資料流在程式中的流動路徑,並確定適當的輸出,類似測試電路中的節點。

测试者了解待测试程序的内部结构、算法等信息,这是从程序设计者的角度对程序进行的测试。

白箱測試可以應用於單元測試(unittesting)、整合測試(integrationtesting)和系統的軟體測試流程,可測試在整合過程中每一單元之間的路徑,或者主系統跟子系統中的測試。

儘管這種測試的方法可以發現許多的錯誤或問題,它可能無法檢測未使用部分的規範。

白盒测试设计技术包括以下代码覆盖标准: 控制流测试 数据流测试 分支测试 语句覆盖 判定覆盖 修正条件/判定覆盖 主要路径测试 路径测试 目录 1基本步骤 2优点 3缺点 4黑客 5参见 6参考文献 基本步骤[编辑] 白盒测试的基本步骤包括测试者对被测试的源代码有一个深层次的理解。

程序员必须对应用有一个深度理解,以清楚的知道应创建哪种测试用例,从而使得测试中的所有可见路径都可以被执行。

源代码被理解之后才可以被分析,以创造测试用例。

以下是白盒测试创建测试用例的三个基本步骤: 输入包括不同种类的需求,功能方面,文档中的详细设计,合适的源码,安全方面。

[1]这是白盒测试列出所有基本信息的准备阶段。

过程包括风险分析来导向整个测试过程,合适的测试计划,执行测试用例和交流过程。

[1]这是建立测试用例的阶段,以确保他们彻底的测试了应用程序,并且记录下了相应的测试结果。

输出包括准备最后报告,其中包含了以上所有准备材料和结果。

[1] 优点[编辑] 白盒测试是当今使用的两个最大的测试方法之一。

它有几大优势: 在测试过程中掌握有关源代码的知识是有益的。

[2] 通过揭示隐藏的错误进行的代码优化,可以消除可能存在的缺陷。

[2] 开发人员需仔细地进行接下来的开发,白盒测试可以为程序员提供反馈。

[2] 从源代码层面测试提供了可追溯性,简化了将来软件改动带来的测试改动。

[3] 白盒测试容易实现自动化。

[4] 关于测试的停止时间,白盒测试给出了明确的工程学上的规定。

[5][4] 缺点[编辑] 尽管白盒测试具有很大的优势,它并不完美,并包含一些缺点: 白盒测试复杂,因为测试员必须有编程知识,算得上是一个程序员。

根据测试层面的复杂性,白盒测试需要知识水平更高的程序员。

[2] 在某些情况下,要测试程序中的所有可能情况是不现实的,因此会有一些未被测试的情况。

[2] 白盒测试着眼于已存的软件,可能无法发现遗漏的功能。

黑客[编辑] 在渗透测试中,白盒测试是指其中一个方法,即白帽黑客已经充分了解了被攻击的系统。

白盒渗透測試的目的是模擬一個對目標系统有所瞭解甚至有基本身份的惡意内部人员。

参见[编辑] 黑盒测试 灰盒测试 白盒密码术 参考文献[编辑] ^1.01.11.2EhmerKhan,Mohd.DifferentApproachestoWhiteBoxTestingTechniqueforFindingErrors(PDF).InternationalJournalofSoftwareEngineeringandItsApplications.July2011,5:1–6[12February2013].(原始内容(PDF)存档于2015-07-01).  ^2.02.12.22.32.4EhmerKhan,Mohd.DifferentFormsofSoftwareTestingTechniquesforFindingErrors(PDF).IJCSIInternationalJournalofComputerScienceIssues.May2010,7(3):12[12February2013].(原始内容(PDF)存档于2015-11-23).  ^Binder,Bob.TestingObject-orientedSystems.Addison-WesleyPublishingCompanyInc.2000.  ^4.04.1Ammann,Paul;Offutt,Jeff.IntroductiontoSoftwareTesting.CambridgeUniversityPress.2008[2015-05-26].ISBN 9780521880381.(原始内容存档于2021-04-25).  ^Myers,Glenford.TheArtofSoftwareTesting.JohnWileyandSons.1979.  查论编软件测试测试途径(The"box"approach) 黑盒测试 all-pairstesting(英语:All-pairstesting) 探索性測試 模糊测试 基于模型的测试 场景测试(英语:Scenariotesting) 灰盒测试 白盒测试 接口测试 突變測試(英语:Mutationtesting) 静态程序分析 测试层次 验收测试 集成测试 系统测试 单元测试 测试类型与技术 A/B測試 敏捷测试(英语:Agiletesting) 自动化测试 基准测试 Concolictesting(英语:Concolictesting) 符号执行 一致化測試(英语:Conformancetesting) 持续测试(英语:Continuoustesting) 開發測試(英语:Developmenttesting) 動態程式分析(英语:Dynamicprogramanalysis) Installationtesting(英语:Installationtesting) Recoverytesting(英语:Recoverytesting) 回归测试 冒烟测试(软件) 可用性测试 功能测试 非功能测试(英语:Non-functionaltesting) 安全性測試(英语:Securitytesting) 渗透测试 軟體性能測試(英语:Softwareperformancetesting) 壓力測試(軟體) 浸泡测试(英语:Soaktesting) concurrenttesting(英语:Concurrenttesting) 破壞性測試(英语:Destructivetesting) 相容性測試 相关议题 用户界面测试 网页UI测试(英语:Webtesting) 人工測試(英语:Manualtesting) Orthogonalarraytesting(英语:Orthogonalarraytesting) Pairtesting(英语:Pairtesting) 软件可靠性测试(英语:Softwarereliabilitytesting) 健全性测试 软件测试模型 取自“https://zh.wikipedia.org/w/index.php?title=白盒测试&oldid=71650910” 分类:​软件工程软件测试硬體測試计算机编程编程原则隐藏分类:​含有英語的條目 导航菜单 个人工具 没有登录讨论贡献创建账号登录 命名空间 条目讨论 不转换 不转换简体繁體大陆简体香港繁體澳門繁體大马简体新加坡简体臺灣正體 查看 阅读编辑查看历史 更多 搜索 导航 首页分类索引特色内容新闻动态最近更改随机条目资助维基百科 帮助 帮助维基社群方针与指引互助客栈知识问答字词转换IRC即时聊天联络我们关于维基百科 工具 链入页面相关更改上传文件特殊页面固定链接页面信息引用本页维基数据项目 打印/导出 下载为PDF打印页面 在其他项目中 维基共享资源 其他语言 العربيةCatalàDeutschEnglishEspañolفارسیFrançaisעבריתMagyarItaliano日本語한국어МакедонскиNederlandsPolskiPortuguêsРусскийதமிழ்Українська 编辑链接



請為這篇文章評分?