Basics of Automation Testing (2)
Basics of Automation Testing (2)
Testing
Ruban Suvidhar R
What is Automation Testing?
❑ Test automation is the practice of using software tools and
scripts to run tests on other software automatically, rather
than conducting them manually.
Regression Testing: Retesting after code changes to ensure no new bugs are introduced.
• High Manual Effort & Error-Prone Areas: Automate time-consuming and error-prone tasks to
reduce human intervention.
• Integration with CI/CD & DevOps: Helps in automating nightly builds, smoke tests, and
deployment validations.
Challenges of Automation Testing
Not Suitable for All Tests: Some tests are better suited for manual execution.
No-Code & Low-Code Test Automation Tools
• Leapwork (No-Code)
• ACCELQ (No-Code)
• Functionize (No-Code)
Selenium
An open-source tool for automating web browsers.
Supports multiple programming languages (Java, C#, Python, etc.).
Frameworks Models :
Data-Driven Framework: Uses external data sources (e.g., Excel, CSV) to drive test cases.
Keyword-Driven Framework: Uses keywords to represent actions to be performed on the application.
Hybrid Framework: Combines features of both Data-Driven and Keyword-Driven frameworks for more flexibility.
Behaviour-Driven Development (BDD) Framework - Writing test cases in natural language using Given-When-
Then format, making them easy to understand for non-technical team members
} catch (Exception e) {
e.printStackTrace();
} finally {
// Close the browser
driver.quit();
}
}
}
Related Tools :
Maven: A build automation tool used primarily for Java projects, helps manage project dependencies.
Jenkins: An open-source automation server used to automate the building, testing, and deployment of software.
Appium: An open-source tool for automating mobile applications, compatible with Selenium WebDriver.
Introduction to TOSCA
• Tosca is a widely used test automation tool designed to streamline and
optimize the software testing process.
End-to-End Testing:
Tosca supports testing across various platforms, including web, mobile, desktop, APIs, and enterprise applications like SAP and
Salesforce.
Scriptless Testing:
It eliminates the need for complex programming knowledge, enabling teams to design test cases through a drag-and-drop interface.
Reusability:
Tosca enables users to reuse test components and modules, reducing redundancy and improving efficiency.
Risk-Based Testing:
Tosca prioritizes test cases based on risk analysis, ensuring that critical functionalities are tested first.
API Testing:
It provides comprehensive API testing capabilities, allowing teams to validate data exchanges between systems.
Popular Automation Tools - Feature-by-Feature Comparison
Selenium Vs Tosca
Flexibility Highly flexible and customizable Less flexible, but easier to use
Achieving automation ROI depends on several factors, including test frequency, stability, and maintenance effort.
ROI is not immediate; it takes time to break even and start seeing benefits. Generally, ROI can be achieved:
• Short-Term (3-6 Months): If automating high-volume, repetitive tests (e.g., regression, smoke, sanity).
• Mid-Term (6-12 Months): If integrating automation into CI/CD for continuous testing.
• Long-Term (12+ Months): If maintaining automation scripts efficiently while reducing manual efforts over multiple
releases.
Factors Affecting ROI Achievement
• Test Frequency: The more often a test runs, the faster ROI is achieved.
• Reduction in Manual Effort: The more manual work replaced, the faster ROI.
• Tool Costs – Licensing fees for automation tools (e.g., Selenium is free, Tosca is paid).
• Increase in Test Coverage – Faster and more tests lead to fewer defects in production.
Write Test Scripts: Develop automated test scripts using appropriate programming languages or scripting tools.
Implement Test Data Handling: Incorporate mechanisms for handling test data effectively.
Create Reusable Test Modules: Develop reusable components to improve efficiency and maintainability.
Execute Test Suites: Run automated tests regularly and monitor their execution.
Analyze Test Results: Review test results, identify failures, and generate reports.
Debug and Fix Issues: Troubleshoot and fix any issues encountered during test execution.
Reporting & Analysis
Generate Test Reports: Generate comprehensive test reports that include pass/fail rates, execution times, and other
relevant metrics.
Analyze Test Results: Analyze test results to identify trends, patterns, and areas for improvement.
Test Maintenance
Maintain Test Scripts: Update and maintain test scripts as the application evolves.
Manage Test Data: Update and maintain test data sets as needed.
Optimize Test Suites: Regularly review and optimize test suites to improve efficiency and effectiveness.
Continuous Improvement
Review and Refine Processes: Continuously review and refine the test automation process based on lessons learned
and best practices.
Explore New Technologies: Stay updated with the latest advancements in test automation tools and technologies.
Improve Team Skills: Continuously improve the skills and knowledge of the test automation team.