Software Quality Assurance Testing – FREE Online Course

Free No student enrolled

Chapter 1 – Overview

All software problems can be termed as bugs. A software bug usually occurs when the
software does not do what it is intended to do or does something that it is not
intended to do. Flaws in specifications, design, code or other reasons can cause these
bugs. Identifying and fixing bugs in the early stages of the software is very important
as the cost of fixing bugs grows over time. So, the goal of a software tester is to find
bugs and find them as early as possible and make sure they are fixed.
Testing is context-based and risk-driven. It requires a methodical and disciplined
approach to finding bugs. A good software tester needs to build credibility and
possess the attitude to be explorative, troubleshooting, relentless, creative,
diplomatic and persuasive.
As against the perception that testing starts only after the completion of coding
phase, it actually begins even before the first line of code can be written. In the life
cycle of the conventional software product, testing begins at the stage when the
specifications are written, i.e. from testing the product specifications or product spec.
Finding bugs at this stage can save huge amounts of time and money.
Once the specifications are well understood, you are required to design and execute
the test cases. Selecting the appropriate technique that reduces the number of tests
that cover a feature is one of the most important things that you need to take into
consideration while designing these test cases. Test cases need to be designed to
cover all aspects of the software, i.e. security, database, functionality (critical and
general) and the user interface. Bugs originate when the test cases are executed.
As a tester you might have to perform testing under different circumstances, i.e. the
application could be in the initial stages or undergoing rapid changes, you have less
than enough time to test, the product might be developed using a life cycle model
that does not support much of formal testing or retesting. Further, testing using
different operating systems, browsers and the configurations are to be taken care of.
Reporting a bug may be the most important and sometimes the most difficult task
that you as a software tester will perform. By using various tools and clearly
communicating to the developer, you can ensure that the bugs you find are fixed.
Using automated tools to execute tests, run scripts and tracking bugs improves
efficiency and effectiveness of your tests. Also, keeping pace with the latest
developments in the field will augment your career as a software test engineer.

Course Curriculum