Despite the common concept, there are many types and ways to test software. The two main methods to be considered are Manual and Automated. In our IT career change course how to become a tester you will learn both of these main methods.
Within these two categories, there are more types of tests. We will explore some of those below.
Manual test types
Exploratory – in this test type, testers can use their own experience and expertise to test software. Exploratory tests usually have no written plans, or scripts and are sometimes ‘random’ in nature.
User interface -user interface relates to all the graphic element in the application/web page being tested. For example the tester will try to ensure all buttons are doing what they are supposed to do.
Structured – this may be the most common type of testing out there. Structured testing uses; analysis plans, timelines, test scripts and reports to ensure the majority of functionality is being tested. It is usually following one of the development methods such as the waterfall model.
White box– this refers to testing an application at the code level ,when we have access to the code executed, and can verify an ‘internal’ element of the application is working properly , for example during unit testing.
Black box– as the name suggests, the purpose of this test is opposite the white box testing. Here the testers are not interested for example in which calculations are done by the internal elements of the application. Testing will only focus on end results.
Agile– despite the common concept, agile is not a type of testing but a method of accelerated development, which testing is a part of. Testing in an agile environment is often complex and not easy to get right as the level of documentation is often minimal and so makes it hard to understand ‘what’s right?!’.
Automatic test types
Data driven tests – data driven tests are scenario based, which are being repeated with different sets of data.
Functional – functional testing ensures a specific element in the tested application behaves or ‘functions’ as it should according to the requirements.
Regression – Regression testing seeks to ensure that new functionality doesn’t have an adverse effect on existing functionality.
Performance testing – performance testing seeks to ensure our application responds well in a given set of scenarios. Sometimes this type of tests also includes load testing which checks the behaviour of an application or web site whilst it is being used by a large number of users concurrently. There are other types of tests in this category that we will not elaborate on here, such as soak testing and stress testing. These types of tests are clarified and expanded on in our IT retraining course Retrain as a Software Test Analyst
As before we conclude with a comment to our interested students:
Testing although mostly structured, by nature, is open to interpretation. In our IT retraining course Retrain as a Software Test Analyst you will learn how to make the right decision when putting theory into practise.
As always feedback is welcome.