开发者

White-Box/ Black-Box Testing: static or dynamic?

Here is what I understand:

Dynamic testing is testing that开发者_JAVA百科 is performed when the system is running. Static testing is performed when the system is not running.

Black-Box testing focuses on functionality and is performed without knowing the internal workings of the program. White-Box testing looks for problems within the code itself.

What I am wondering is, Is it fair to say that all Black-Box testing is static? Is it also fair to say that some White-Box testing is static (for example, inspection of source code) and some is dynamic (branch/path testing)?


Is it fair to say that all Black-Box testing is static?

No. Black-box testing is usually dynamic. In fact, when we think of software testing we usually think of people running the code and recording problems they find. This is classic dynamic black-box testing.

However, there is black-box static testing. When you examine the spec or requirements looking for errors, this is static, black-box testing. Here are some techniques

  • Read the spec as if you're the customer - anything not make sense?

  • Compare the spec to industry or company guidelines - any violations?

Read the requirements to make sure each one is:

  • Correct

  • Feasible

  • Necessary

  • Prioritized

  • Unambiguous

  • Modifiable

  • Complete

  • Verifiable

If any of those are violated, you've found a requirements error and saved loads of time and money.


I can't think of any situation in which black-box testing is static.

Black-box/White-box refers to the tester's knowledge of the inner workings of the system under test (SUT).

Static/Dynamic refers to the state of system under test (running/dynamic, or stopped/static).

Black-box testing probes the outside of a running system without any knowledge of its internal implementation. A lot of functional testing falls into this category. I'm not sure how black-box would do this without loading up the system and seeing how it responds to various stimuli.

White-box testing can be done dynamically (for example, security testers with knowledge of the internal workings of the system performing penetration testing) or statically, such as running tools like AppScan, FxCop, JavaCop, etc. looking for guideline violations and potential security vulnerabilities in the source code.


Is it fair to say that all Black-Box testing is static?

Black Box Testing can be static as well as Dynamic. Static Black Box Testing- Reviews of Requirement documents, Specification documents or Design documents.

Dynamic Black Box Testing-The testing doe on Application under test by providing various inputs, Performing various actions.


Under Static Testing code is not executed. Rather it manually checks the code, requirement documents, and design documents to find errors. Hence, the name "static". Under Dynamic Testing code is executed. It checks for functional behavior of software system , memory/cpu usage and overall performance of the system. Hence the name "Dynamic".

Black box testing is a testing technique that ignores the internal mechanism of the system and focuses on the output generated against any input and execution of the system. White box testing is a testing technique that takes into account the internal mechanism of a system.

Black box testing and White box testing are testing methods used for software testing.Dynamic testing can be black box or white box testing.

Ex: Unit testing is a type of dynamic testing(Functional testing type) and it falls under the class of white box testing.

System testing is a type of dynamic testing(Functional testing type) and it falls under the class of black box testing.

Integration testing is a type of dynamic testing(Functional testing type) and it may falls both white box testing and black box testing.

see this: https://www.codeproject.com/Tips/351122/What-is-software-testing-What-are-the-different-ty


Some black-box testing is dynamic, as you can test a system while it is running without any knowledge of its internals (e.g., when using the end-user interface or public API).


Its a Hierarchy

theres white box and black box testing at the top the white box testing divides into CFA and DFA DFA stands for Data flow analysis which breaks down to Static DFA and Dynamic DFA

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜