Black box testing is a popular and useful technique in software development. “Testing the strength of the box” investigates whether the program under test contains errors instead of checking that it compiles or calculates right. The aim is to find out if the product has bugs by using equivalence partitioning, boundary value analysis, state transition and decision table testing.
In the following article, we will review black-box testing in 2022, its advantages and disadvantages. We’ll also show some examples of how it can be performed using open source tools such as Selenium WebDriver and JMeter. We’ll also review some software testing tools that may become a part of every testers arsenal in 2022.
When did black box testing become popular?
Black box testing is one of the oldest software testing techniques. It has been around since the mid-1950s. Unlike white box testing, it’s based on requirements and functionality only without considering internal program logic (it can be compared to integration testing). This makes it impossible for testers to know what to test (which can be advantageous in some cases, for example, when testers are afraid of breaking the system).
Black box testing is based on specifying coverage criteria. These criteria allow you to determine which parts of the code were executed during black-box testing and which weren’t. It’s especially useful when there is no access to source code (e.g., commercial software or an internal corporate application).
Advantages of black-box testing:
It doesn’t require implementation knowledge (thus, it makes the testing process easier). It can be performed by testers and developers alike (all required skills are programming experiences and basic knowledge about the product). Black box testing is usually less time consuming when compared to white box testing.
Disadvantages of black-box testing:
No access to source code can limit what can be tested, making it less thorough. Furthermore, black box testing is only effective when there are no logical dependencies between input and output data. This limits its usage even further (e.g. if you can not provide the expected data as an input).
What’s new in black box testing?
Currently, there are two major types of automated black-box testing techniques: record and playback (the most popular one) and keyword-driven. Both can be used to automate functional regression tests and smoke tests. Thanks to the wide range of open-source tools that support automation, it’s easier to perform black-box testing.
Tools used to implement black-box testing
- UFT (HP QuickTest Professional) – seems like the most popular tool designed for automated regression, smoke and functional testing. It’s widely used by many big companies like Microsoft, IBM, Apple…Problems with UI generating capabilities make it difficult to use on GUI-rich browser-based applications.
- Selenium WebDriver – designed as a language-independent automated black-box testing tool. It’s the most popular open-source solution for web application functional and regression testing (can also be used as a record and playback tool).
- Watir – Ruby library lets you automate and test web applications using the Watir API to take screenshots and control the mouse. It’s often used for testing browser-based software (such as web-based email, online games or CMS).
- Apache JMeter is an open-source tool designed to test functional behaviour and measure performance. It can effectively determine how a system performs under a heavy load. It’s a great tool for black-box functional testing, but it should be noted that JMeter cannot check if the application is working correctly.
- Ranorex Studio is a commercial automated black-box solution for testing desktop, mobile and web applications on Windows OS. It supports various technologies like UFT, TestComplete, Selenium WebDriver, Watir, etc.
- SilkTest is a commercial automated black-box solution for testing web applications on Windows, Linux or Solaris platforms. Supports automation through Selenium WebDriver and supports UI generating tools like Silk Performer, SoapUI Pro and BlazeMeter.
- Squish – commercial cross-platform GUI functional testing tool supporting Windows, Mac OS X and Linux. That lets you record tests using your browser or custom applications (graphical user interface objects can be added to the recorder).
As you can see, there are plenty of automated black-box testings tools to choose from. The only difficulty is deciding which one suits your needs the best.
It’s important to remember that automated black-box testings solutions don’t provide 100% accuracy. That’s why it’s a good idea to combine both white and black box techniques in test automation.