What is Software Testing?
Software testing is a process, to evaluate the functionality of a software application with an intent to find whether the developed software met the specified requirements or not and to identify the defects to ensure that the product is defect free in order to produce the quality product.
Why is software Testing necessary?
Testing is required for an effective performance of software application or product. It’s important to ensure that the application should not result into any failures because it can be very expensive in the future or in the later stages of the development.
Testing Levels?
- Unit Testing
- Integration Testing
- PSystem Testing
- Acceptance Testing
Uses of Software testing
- Quality Assurance: Software testing is a fundamental component of quality assurance processes. It helps identify and rectify defects, ensuring that the software meets the required quality standards and specifications.
- Bug Detection: Testing helps identify and locate bugs or defects in the software code, enabling developers to fix them before the software is deployed to users.
- Validation and Verification: Testing verifies whether the software meets the specified requirements (validation) and whether it has been implemented correctly (verification).
- Risk Mitigation: Identifying and addressing defects early in the development cycle reduces the risk of critical failures, security vulnerabilities, and data breaches in production environments.
- Improves User Experience: Thorough testing ensures that the software functions as intended, providing users with a smooth and glitch-free experience.
Job opportunities in Testing:
A Software Testing career involves working towards the assurance of software quality. More than 40% of the time and effort of software development is spent in various forms of testing involving various people like developers, testers, users, etc.
-
Module 1
Software Testing as a Career, Software Testing Definition, Quality Definition Five perspective of Quality, Quality Assurance and Quality Control, Verification and Validation, Static & dynamic testing Principle of Software Testing, PDCA Cycle, Software Development life Cycle ( SDLC ), Waterfall model Spiral model , V-model , Prototype model, Agile model, STLC software testing life cycle, Entry criteria& exit criteria.
-
Module 2
Test Case Design, How to write test cases, Requirement traceability matrix, Test data generation, Test suite, Test scenario, Test bed.
-
Module 3
Software testing methods, Black box testing, Boundary values analysis, Equivalence partitioning Decision table testing, State transition testing, Error guessing, Whitebox testing, Statement coverage, Branch coverage, Condition coverage, Grey-box testing, Decision coverage.
-
Module 4
Levels of testing, Unit testing, Integration testing, System testing, Acceptance testing. Types of testing, Manual testing and Automation testing, Functional & non functional testing, Performance testing, Load testing, Stress testing, Volume testing, Security testing, GUI testing, Ad-hoc testing, Exploratory testing, Backend testing & frontend testing, Monkey testing, Regression testing & retesting, Smoke & sanity testing, Alpha testing & beta testing, Usability testing, Compatibility testing, Cookie testing, Grey box testing, Positive & negative testing, Data driven testing, Fuzz testing, Soak testing, Web application testing, Mobile application testing, Cross Brower testing.
-
Module 5
Defect, bug, error, failure, Bug life cycle, Bug report, Severity and priority, Bug tracking tools-Redmine / Jira, Hot fix, What is defect age, Bug leakage, When to stop testing.
-
Module 6
Selenium IDE, Introduction to selenium, Features of selenium, Components of selenium, Features of selenium IDE, Installation of selenium ide, Recording script, Running & debugging script, Running a script line by line, Selenese commands &types, Inserting commands in between scripts Xpath and installing firebug to get xpath, Wait command, Store tittle, store text, Difference between assert and verify, Control flow, While loops, times, Array-for each.
-
Module 7
Selenium Web-driver, Introduction to selenium web-driver, Difference between RC and web-driver Architecture of selenium web-driver, Creating script using eclipse, Understanding xpaths to locate elements, Execute test case in different browsers, Working with web page elements, Selecting values from dropdown list, Check box and radio button , Capture screenshot ( current window & entire windows ) Implicit & explicit wait in selenium Web-driver, Handling alerts and pop-ups, Data driven technique with Apache POI ( excel ), Download Apache POI, Add Apache POI, Test case with excel, Robot class in selenium web-driver, Action class in selenium web driver, Right click and double click in selenium, Drag and drop action in selenium, Keyboard events in selenium, Mouse hover actions in selenium, Handling Iframes using selenium web driver, Scroll web elements and web page-selenium web driver using javascript.
-
Module 8
Bug tracking tools-Redmine / Jira, how to use Redmine / Jira, create an issue, issue tracking, Jira – Introduction to Jira, How to use Jira, How to create a issue in Jira, Sprint backlog.
Redmine: Introduction to Redmine, Create a new bug, Bug tracking.
-
Module 9
Java basics, Data types, Variables, Operators, Decision making, Array, Loop, OOPs.
SQL basics: SELECT, CRETAE, INSERT, PRIMARY KEY, DELETE, UPDATE , WHERE.
-
Module 10
JMeter, Introduction to JMeter , Installation of JMeter , Test plan, Thread group, Sampler, Listener.