Course Content
Introduction to QA Automation Testing
Introduction to QA Automation Testing
What is Automation Testing?
In one of the previous courses, you learnt about various concepts related to Manual Testing, You also learnt how to write and execute test cases, along with some basic usage of a Test Management Application. Overall, the previous course was more focused on theory and manual practicality.
The tasks or concepts that were explored in the previous course fundamentally fell under the category of Black Box Testing, since the code of the application was almost never explored, focusing more on the user's perspective of the application.
This course builds on top of the existing knowledge of Manual Testing, and extends towards testing the functionality behind the scenes - hidden from the user, focusing more on reviewing and writing code, hence the testing practices explored in this course will mainly be either Greybox or Whitebox Testing. This will ensure that all three categories of testing are covered.
As a quick review, the three categories are defined as follows:
- Black Box Testing: Testing which is performed with no knowledge of application code;
- Grey Box Testing: Testing which is performed with partial knowledge of the application code. This type of testing typically does not involve writing code;
- White Box Testing: Testing which is performed with full access or knowledge of application code. In this type of testing mostly involves reviewing and writing code, hence, the tester must have some basic coding knowledge;
Automation Testing, also known as Test Automation, is the process of automating the execution of test cases by writing scripts or using tools which automatically:
- Perform the steps of the test;
- Verify the Results;
Most popular programming languages, such a Java, C#, JavaScript or Python, provide us with libraries or frameworks for performing Automation Testing.
Choosing which programming language to use for Automation Testing primarily depends upon which programming language the application is built on. For instance, if the application being tested is a Desktop Application built using the .NET Framework, then in that case C# will be the only suitable option. On the other hand, in the case of a Web Application built using a Python Backend such as Django, the only suitable option will be Python. Generally, the same programming language is used for testing as the one used to build the application.
There can be scenarios where an application is built using multiple different programming languages, for example, a web application having a backend built using Django or Flask - which are Python frameworks, and the frontend built using React or Vue - which are JavaScript frameworks. In such cases, the test cases are written in different languages depending upon which part of the application is being tested.
Thanks for your feedback!