Certification: AI-driven Test Automation
Your Progress: out of 26
Basics of Software Testing
What does the internet physically look like? Imagine vast data centers filled with computers called servers. These servers host websites, and constantly communicate with each other to share information.
Imagine you type in a website URL like https://google.com into your browser. What happens next? The browser first searches for the nearest data center housing Google’s servers. Upon locating it, it sends a request to one of these servers to retrieve the website’s default page. In response, the server delivers the website’s code. Your browser then interprets this code and displays it as the webpage you see.
To get an insider’s view of this, open the ‘Developer Tools’ in your Chrome browser. Here, you can inspect the elements of a page. Dive deep into HTML, understand how element selectors work, and familiarize yourself with the differences between an ID and a Class in HTML.
Software testing isn’t a mere procedure; it’s the backbone of software quality assurance. Its ultimate goal? Detecting software problems, commonly termed as bugs, issues, or defects, before the product reaches its users. To achieve that companies usually define the most important scenarios that need to be tested.
There are different types of testing, targeted towards identifying bugs efficiently. Most common types are exploratory, smoke, UI, regression, functional, non-functional, localization, etc
For all types of testing other than exploratory, there are defined scenarios that outline specifically what steps should be taken. These testing scenarios are called test cases. Test cases are typically created by the QA people with the stakeholder’s and end user’s goals in mind.
You might wonder, “Where are these test cases documented?” They can be anywhere – from Excel sheets to sophisticated tools tailored for this purpose.
When the software or a QA person goes through the steps and performs validations specified in a test case it is called ” a run”. Each run usually contains a set of test cases within test suites.
If a test case has some way to be run by software without human involvement – then this test case is called an automated test case
It is virtually impossible to write code without bugs, and companies want QA to identify bugs as early as possible. The most expensive bugs are those identified by end users after the release. Therefore, the earlier the bug is identified, the more cost-effective it is for the company.