Concepts
Black box testing: is a method of software testing performed without knowing the internal structure of the software, is a way in which testers check that the system is like a black box, with no way of seeing inside of the box.
It is also known as data-oriented testing or in/out-oriented testing.
Testers should construct groups of input values that will fulfill all the functional requirements of the program.
The tester approaches the system without using any knowledge of its internal programming structure, treating it as a complete structure that cannot be interfered with.
Testers mainly perform Black Box Testing during Function and System testing.
This method gets its name because testers perceive software programs as a black box, whose inner workings they cannot see. This method tries to find errors in the following categories:
Incorrect or missing functionality.
Interface error.
Error in data structure or external database access.
Error behavior or performance.
Initialization and termination of errors.
Every technique has its advantages and disadvantages. Systems often have to use many different testing methods to ensure the quality of the system when it reaches the user.
Advantages of black box test
The testers are done from the user’s point of view and will help in clearing up the disparity in specifications.
Black box testers have no “tie” to the code, and a tester’s perception is simple: one source code has many bugs. Using the principle, “Ask and you will receive” black box testers find many bugs where DEVs don’t.
Testers can’t be IT professionals, don’t need to know the programming language or how the software has been made.
Testers can be performed by an agency independent of developers, allowing for an unbiased view and avoiding development bias.
The real system with all its requirements is properly tested.
Design test scenarios quite quickly, as soon as functional requirements are identified.
Disadvantages of black box test
The input data requires a fairly large sample size
Many projects do not have clear parameters, it is very difficult to design test cases and hence it is difficult to write test scripts due to the need to define all the inputs, and lack of time for this assembly.
The engineer has a high chance of getting lost during testing.
Testers can only check a small number of inputs, leaving many program paths unchecked.
Testers describe Black Box Testing as “walking in a dark maze without a flashlight” because they lack knowledge of how the software under test is built. In many cases, testers write numerous test cases to evaluate something that could be tested with just one, while some parts of the software remain untested.
Flow of black box testing
Contents of work in test stage
The test phase has the following phases in turn: Test plan, test design, test case creation, test execution, test report.
Which: “test plan” and “test design” are important phases to detect defects and confirm quality.
Detail contents of work in test stage
Test plan: Clearly indicate the purpose and scope of the test phase to check how to test by approach. Adjust resource members and decide on the schedule.
Test design: Decide what to use for the purpose and type of test to be performed in that test phase, test object functionality, test method, import and export test. Also decide more specifically the materials needed to execute the test or the success/failure decision criteria.
Create test case: Create a document that records the state before starting the test and the expected result (the result of running the test object according to the conditions and the order of operations when executing the test) and the status column (the column recording operation result of test object).
Execute test: Just view the test case and run the actual software to conduct the test, then mark the result with a pass or fail mark in the test case status column. In case there is a test case that is different from the expected result, write the fail mark in the status column, and then generate a bug report. In the error report: describe the phenomenon that is different from the expected result and how the phenomenon occurs (operation, dummy input, condition, …)
Test report: Summary of results to report. Evaluate whether the test pass/fail criteria are met by analyzing the data types (executed items, test performance, number of executions, etc.) and error data (number of bugs found, number of bugs by importance, etc.). Additionally, propose any risks that may arise after the release and identify the items that need to be added to the project for the next phase.
Flow of test plan and test design
(1) Confirmation of the purpose of the test
View the test master plan to confirm the purpose of the test (quality characteristics, important points…).
Decide the scope of the test, the content of the test, the test method.
(2) Create a function list
Expose the entire function as a test object.
A prior understanding of most functions is required.
Do not judge the object or non-object of the test.
(3) Give the test points
The point of view of testing is “the door of Test”.
For example: Confirm the accuracy of the calculation result displayed on the screen, confirm the entry check function, confirm the processing time ==> test view.
Did the test perspective properly serve the purpose of testing?
(4) Distribution of functions for per-view test
Apply a test perspective to each function to avoid forgetting.
Can visualize testing specifically.
Can capture test size and importance of test perspectives.
(5) Checking the application of test methods and techniques
Conduct test design with each combination in turn.
Select and decide on the test method that can most effectively detect the error from one of the test methods.
Other testing items
Resource needed.
Schedule.
Structure & organization, roles when performing tests.
Equipment, environment, work location needed to perform the test.
Accessibility methods and necessary of test opinion
List of points test
Definition: A list of test views is a list that summarizes test views in a reusable form.
It is possible to perform system testing, without having to test due to personal experience.
Individual skill disparities can be mitigated. (difference between novice and expert,…).
It is possible to avoid the overlap, or omission of the point of view to be tested.
Judging project importance is easy.
Methods of creating list of points test
Create a list of test views, divide test views into phases, further divide large test views into smaller test views.
If there is a classification standard, then the job becomes easier.
Black box testing method
Here I would like to introduce some techniques in black box testing, more details will be studied in the following articles.
Error guessing: is an important skill of a tester, it can even be called an art. A masterpiece of intuition. This method is especially based on the experience and knowledge of the tester. Many testers try to guess which part of the system is likely to contain bugs. With this approach, they don’t need a tool or a test script to get started.
Cause Effect Graphing is a software test design technique that involves identifying cases (input conditions) and effects (input conditions). go out). Since today’s systems are all developed on top of OOP, we can get a graph of the objects that the system defines and connects to. From this graph, we easily know the relationships of the objects that the system handles, which will give us suitable test scenarios.
Equivalence Class: is a software testing technique that involves dividing input values into valid and invalid partitions, then we will write test scenarios test for each section, choosing a representative value from each partition as test data.
Equivalence partitioning: is a technique of performing tests on each class with the same value (set of conditions for the same operation).
The input value set has the same processing result, the time set has the same processing result, the export result set is treated with the same input value.
Purpose: Significantly reduce the number of test cases that need to be designed because for each equivalence class we only need to test on representative elements.
Select at least one representative value from the same value classes to test.
–> If there is an error, then other values in the same class will have the same error.
FOR EXAMPLE
Spec requires entering 4 <= password <= 15
Enter the correct output mess to complete the setup.
Wrong input: message asks to re-enter.
Thus, we will execute 2 test cases: one value for the setting completion message and one for the error message.
class.jpg
Boundary Value Analysis: is a software testing technique that is concerned with determining the boundary (boundary) of a descriptive condition for input values and selecting values at the boundary and side. edge value as test data. The boundary value analysis method will give special values, including data type, error value, inside, outside value boundary, maximum and minimum.
Experienced engineers have certainly encountered system failures right at the boundary value. That’s why boundary value analysis is important when testing a system.
The boundary value test is performed in the following order:
Find the border
Determine the marginal value
Decide value to test
Marginal value.
Below the marginal value. (If it is a class of the same value)
Above 1 boundary value. (If it is a class of the same value)
Using decision tables
Is to use a table to display a list of software operations that are decided on different conditions.
Decision table testing focuses on many conditions for test execution.
In addition, black box testing also has a number of techniques such as: Domain Tests, Orthogonal Arrays, State Models, Exploratory Testing (testing mainly based on experience and ability to focus on testing the tester’s functions), All -pairs testing (tests all pairs), …
References
- http://softwaretestingfundamentals.com/black-box-testing/
- https://vntesters.com/kiem-thu-hop-den/
- http://www.testingvn.com/viewtopic.php?t=4
- https://www.wattpad.com/1982587-how-is-testing-black-box-with-kinds-testing
- https://viblo.asia/p/ky-thuat-kiem-thu-hop-den-black-box-testing-WrJvYADwvVO
Would you like to read more articles by Tekos’s Team? Everything’s here.