Black box testing treats the system as a “black-box”, so it doesn’t explicitly use Knowledge of the internal structure or code. Or in other words the Test engineer need not know the internal working of the “Black box” or application.
Main focus in black box testing is on functionality of the system as a whole. The term ‘behavioral testing’ is also used for black box testing and white box testing is also sometimes called ‘structural testing’. Behavioral test design is slightly different from black-box test design because the use of internal knowledge isn’t strictly forbidden, but it’s still discouraged.
Each testing method has its own advantages and disadvantages. There are some bugs that cannot be found using only black box or only white box. Majority of the applicationa are tested by black box testing method. We need to cover majority of test cases so that most of the bugs will get discovered by blackbox testing.
Black box testing occurs throughout the software development and Testing life cycle i.e in Unit, Integration, System, Acceptance and regression testing stages.
Tools used for Black Box testing:
Black box testing tools are mainly record and playback tools. These tools are used for regression testing that to check whether new build has created any bug in previous working application functionality. These record and playback tools records test cases in the form of some scripts like TSL, VB script, Java script, Perl.
Advantages of Black Box Testing
- Tester can be non-technical.
- Used to verify contradictions in actual system and the specifications.
- Test cases can be designed as soon as the functional specifications are complete
Disadvantages of Black Box Testing
- The test inputs needs to be from large sample space.
- It is difficult to identify all possible inputs in limited testing time. So writing test cases is slow and difficult
- Chances of having unidentified paths during this testing
Methods of Black box Testing:
Graph Based Testing Methods:
Each and every application is build up of some objects. All such objects are identified and graph is prepared. From this object graph each object relationship is identified and test cases written accordingly to discover the errors.
This is purely based on previous experience and judgment of tester. Error Guessing is the art of guessing where errors can be hidden. For this technique there are no specific tools, writing the test cases that cover all the application paths.
Boundary Value Analysis:
Many systems have tendency to fail on boundary. So testing boundry values of application is important. Boundary Value Analysis (BVA) is a test Functional Testing technique where the extreme boundary values are chosen. Boundary values include maximum, minimum, just inside/outside boundaries, typical values, and error values.
Extends equivalence partitioning
Test both sides of each boundary
Look at output boundaries for test cases too
Test min, min-1, max, max+1, typical values
1. Number of variables
For n variables: BVA yields 4n + 1 test cases.
2. Kinds of ranges
Generalizing ranges depends on the nature or type of variables
Advantages of Boundary Value Analysis
1. Robustness Testing – Boundary Value Analysis plus values that go beyond the limits
2. Min – 1, Min, Min +1, Nom, Max -1, Max, Max +1
3. Forces attention to exception handling
Limitations of Boundary Value Analysis
Boundary value testing is efficient only for variables of fixed values i.e boundary.
Equivalence partitioning is a black box testing method that divides the input domain of a program into classes of data from which test cases can be derived.
How is this partitioning performed while testing:
1. If an input condition specifies a range, one valid and one two invalid classes are defined.
2. If an input condition requires a specific value, one valid and two invalid equivalence classes are defined.
3. If an input condition specifies a member of a set, one valid and one invalid equivalence class is defined.
4. If an input condition is Boolean, one valid and one invalid class is defined.
Different independent versions of same software are used to compare to each other for testing in this method.
Black Box testing types are again divided in two groups: a) Testing in which user plays a role of tester and b) User is not required.
Testing method where user is not required:
In this type of testing, the software is tested for the functional requirements. The tests are written in order to check if the application behaves as expected.
The application is tested against heavy load such as complex numerical values, large number of inputs, large number of queries etc. which checks for the stress/load the applications can withstand.
The application is tested against heavy loads or inputs such as testing of web sites in order to find out at what point the web-site/application fails or at what point its performance degrades.
This type of testing is done without any formal Test Plan or Test Case creation. Ad-hoc testing helps in deciding the scope and duration of the various other testing and it also helps testers in learning the application prior starting with any other testing.
This testing is similar to the ad-hoc testing and is done in order to learn/explore the application.
This testing is also called as ‘Testing for User-Friendliness’. This testing is done if User Interface of the application stands an important consideration and needs to be specific for the specific type of user.
This type of testing is also called sanity testing and is done in order to check if the application is ready for further major testing and is working properly without failing up to least expected level.
Recovery testing is basically done in order to check how fast and better the application can recover against any type of crash or hardware failure etc. Type or extent of recovery is specified in the requirement specifications.
Volume testing is done against the efficiency of the application. Huge amount of data is processed through the application (which is being tested) in order to check the extreme limitations of the system.
Testing where user plays a role/user is required:
User Acceptance Testing:
In this type of testing, the software is handed over to the user in order to find out if the software meets the user expectations and works as it is expected to.
In this type of testing, the users are invited at the development center where they use the application and the developers note every particular input or action carried out by the user. Any type of abnormal behavior of the system is noted and rectified by the developers.
In this type of testing, the software is distributed as a beta version to the users and users test the application at their sites. As the users explore the software, in case if any exception/defect occurs that is reported to the developers.
Powered by Blogger.
CMM Level 5 companies list List of CMM-5 Certified Software Service Companies in India Listed in no particular order. The purpose of this l...
A formal technical review is a software quality assurance activity performed by software engineers (and others). The objectives of the FT...
The test case design techniques are broadly grouped into two categories: Black box techniques, White box techniques and other techniques tha...
The spiral model, originally proposed by Boehm , is an evolutionary software process model that couples the iterative nature of prototyping ...
The incremental model combines elements of the linear sequential model (applied repetitively) with the iterative philosophy of prototyping. ...
Often, a customer defines a set of general objectives for software but does not identify detailed input, processing, or output requirements...
The spiral model suggests a framework activity that addresses customer communication. The objective of this activity is to elicit pro...
Rapid application development (RAD) is an incremental software development process model that emphasizes an extremely short development cycl...
V-Model: The V-model promotes the idea that the dynamic test stages (on the right hand side of the model) use the documentation identifie...
Severity Value : S1 : Catastrophic Blocking : The use case cannot be completed with any level of workaround. Problem causes data loss, corr...
- A Quick 10-Step Guide (1)
- Black Box Testing (3)
- Bug Life Cycle (2)
- Certifications (3)
- CMM level (2)
- Comparsion (1)
- Configuration Management (3)
- Cookie Testing (1)
- Defect and Failure (1)
- Functional and Non-Functional (1)
- Functional Testing (1)
- Inspection and Walkthrough (1)
- Interview Software Testing (1)
- ISTQB Question Paper Dump (3)
- Load and Stress Testing (1)
- QA and QC (3)
- QA vs QC (1)
- Regression vs Retesting (1)
- RTM (1)
- SDLC (2)
- SDLC Model (5)
- Severity and Priority (1)
- STLC (2)
- Test Cases (4)
- Test Entry and Exit Criteria (1)
- Test Plan (4)
- Types of Testing (2)
- V Model and W Model (1)
- Validation and Verification (2)
- Web Testing (2)
- White Box Testing (1)
- bipin singh
- Different types of testing
- QualityAssurance & QualityControl
- Bug Life Cycle
- Software Testing Life Cycle
- Different Types of SDLC
- Regression vs. Retesting
- Negative Test Cases
- Load Testing & Stress Testing
- When to use Automation testings?
- What is Test Plan?
- What should be done after a bug is found?
- How can it be known when to stop testing?
- What if there isn't enough time for thorough testi...
- Validation and Verification
- Walkthrough & Inspection
- SEI , CMM & CMMI
- Test Cases, Suits, Scripts and Scenario
- What makes a good Software QA engineer?
- Black Box Testing
- White Box Testing
- What's the difference between Black and White box ...
- Requirements Traceability Matrix
- The Certified Software Tester
- Soak Testing and Bucket Testing
- ISTQB Certifications
- Define Defect?
- What is the difference between Defect and Failure?...
- What is the difference between Latent and Masked D...
- In testing can you explain the concept of work ben...
- What’s the difference between Alpha and Beta testi...
- Can you explain the concept of defect cascading?
- Can you explain what is Usability testing?
- What is the difference between Pilot and Beta test...
- How will you do a risk analysis during software te...
- What does entry and exit criteria mean in a projec...
- On what basis is the Acceptance plan prepared?
- what Is coverage and what are th...
- What are different types of verifications?
- What’s the difference between Inspections and Walk...
- What is the difference between Software Testing an...
- What is configuration management?
- Can you explain regression testing and confirmatio...
- Can you explain the concept of baseline in softwar...
- What are the different test plan documents in proj...
- Can you explain calibration?
- Which test cases are first written white boxes or ...
- Can you explain Co-habiting software?
- TEST PLAN OUTLINE
- Version control
- Change control
- CMM Level 5 companies list
- People CMM
- Prototype Model
- Rapid application development (RAD)
- The Incremental Model
- The Spiral Model
- The WINWIN Spiral Model
- THE PROJECT PLAN
- How to test a website by Manual Testing?
- Automation Testing v/s Manual Testing Guidelines:
- Probe Testing
- Defect leakage
- FORMAL TECHNICAL REVIEWS
- Cost of Quality
- Traceability Matrix
- ▼ December (65)
- ► 2011 (31)