Photo by Jeffrey Betts on Unsplash
前言
在自动化的文章开始以前,小弟希望可以先说明一些软体测试的各种内容,而这篇的内容小弟将会介绍验证与确认的重要和静态分析与动态测试以及白箱测试与黑箱测试,希望对 Quality Assurance Engineer (以下简称 QA) 有兴趣的大哥大姐们有所帮助,另外小弟预计会再花两个礼拜的时间结束软体测试的介绍,因为这礼拜小弟还要补班,如果有疏忽之处还请各位大哥大姐多多担待。
另外请先让小弟向正在看着这篇文章的各位大哥大姐们说声感谢 (◍•ᴗ•◍),在上一篇文章各位大哥大姐的关注与留言,小弟的文章获得了新的标籤 "达标好文",让小弟真是受宠若惊~ (๑• . •๑),往后还请各位大哥大姐多多关照。
软体测试是甚么
软体测试是一项庞大且複杂的工程,然而更是品质控管最重要的关键,而以 QA 来说主要就是为了追求品质。
Verification & Validation
在进行软体测试的时候主要会有两点,验证(Verification)与确认(Validation)。
Verification: Have you built the software right?
把事情做对 (确保软体走在对的路上)。确认是否符合规则、要求、规範和强制条件。Validation: Have you built the right software?
做对的事情 (确保软体是个对的产品)。确认是否满足客户或其他利益相关者的需求。Static Analysis & Dynamic Testing
而依照策略可以划分静态分析(Static Analysis)与动态测试(Dynamic Testing)。
Static Analysis
静态分析 (不需执行被测试的程式)扫描程式,对程式的资料流和控制流等讯息进行分析,找出系统的缺陷。检查软体开发是否满足所制订的需求规格,并尝试找出错误与及早修正。方法包含检视、结构化逐步审查和主动审查等。可以分析包含建构计画、需求规格、设计规格、程式码及测试计画书等。Dynamic Testing
动态测试 (需要执行被测试的程式)执行流程,输入各种的测试範例,对其输入与输出的对应关係进行确认与分析。透过单元测试、整合测试、系统测试与验收测试等软体测试阶段,來检查软体介面、功能、与非功能需求的正确性。Black Box & White Box
一般使用黑箱测试与白箱测试这兩种技术來设计测试案例。
White Box Test
白箱测试 (摊开程式码的内部构造): 也称架构测试或邏辑驱动测试。
在知道产品内部工作流程的情况下來检测产品,其测试原则为:
举个例子:
上述的程式内容为简略的判断输入后的三边长是否可以组合成一个三角形。
Black Box Test
黑箱测试 (覆盖程式码的内部构造): 也称功能测试或资料驱动测试。
在不知道产品内部工作流程的情况下來检测产品,其测试原则为:
举个例子:
上述的程式内容乌漆墨黑所以只能根据需求规格进行测试。
从上述的需求规格中,可以知道的有
- 输入範围是 1 到 1000
- 输出类行为 正三角形 与 非三角形
结尾
就这样,以上是这篇所介绍的内容,如果有疑问或是有错误,还请各位大哥大姐提点。
希望这篇的内容可以帮助到想了解软体测试或是想成为 QA 工程师的人。
在此感谢各位大哥大姐的关注,小弟将继续往下週迈进。 ─=≡Σ((( つ•̀ω•́)つ