0% found this document useful (0 votes)
4 views

Lecture 18 - Test Automation

Uploaded by

Ayesha Asad
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Lecture 18 - Test Automation

Uploaded by

Ayesha Asad
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 16

Software Test Automation

Lecture – 18
Software Test Automation

• Software Test Automation refers to the use of tools, scripts, and


frameworks to automate the execution of tests, compare actual results
with expected results, and report test outcomes.
• It involves the creation and execution of automated test scripts that
simulate user interactions, validate system behavior, and detect
defects or inconsistencies in software applications.
Test Script Development

• Test automation begins with the development of test scripts.


• Testers create scripts that outline the steps to be performed during the
test execution, including interactions with the software's user interface,
data input, and validation of expected outcomes.
• Test scripts can be developed using various programming languages or
dedicated test automation frameworks and tools.
Test Execution Automation

• Test automation tools or frameworks are used to execute the test


scripts automatically. These tools simulate user actions, enter data, and
interact with the software application as specified in the test scripts.
• The automation tools capture and compare actual outcomes with the
expected outcomes, identify discrepancies, and report the test results.
Regression Testing

• Test automation is particularly useful for regression testing, where


previously executed tests are rerun to ensure that new changes or
updates have not introduced any new defects or unintended side
effects.
• By automating regression tests, testers can save time and effort by
repeatedly executing the same tests, allowing them to focus on new or
modified functionality.
Test Data Management

• Test automation can be integrated with test data management


practices. Test data refers to the input values, configurations, or
datasets used during test execution.
• Test automation frameworks often include mechanisms to manage test
data, allowing testers to define and reuse test data sets across multiple
test cases or scenarios.
Continuous Integration and Continuous
Testing
• Test automation plays a crucial role in continuous integration and
continuous testing (CI/CT) practices. CI/CT involves frequent integration
of code changes, followed by automated builds, tests, and
deployments.
• Test automation enables the execution of a comprehensive suite of
tests in a timely manner as part of the CI/CT pipeline, ensuring rapid
feedback on the quality of the code.
Reporting and Analysis

• Automated test execution generates detailed reports that provide


insights into test coverage, pass/fail status, and any encountered
issues.
• Test automation tools often include reporting features that consolidate
test results, highlight failures, and provide metrics to assess test
coverage and effectiveness.
• These reports facilitate communication among stakeholders and
support decision-making in the software development process.
Benefits of Software Test Automation

• Test automation offers numerous benefits, it is important to note that not all testing
activities can or should be automated.
• Exploratory testing, usability testing, and certain types of performance testing, for
example, often require human observation and judgment. Test automation should be
applied judiciously, focusing on repetitive, time-consuming, and critical test scenarios to
maximize its effectiveness.
• Improved Efficiency
• Increased Test Coverage
• Consistency and Accuracy
• Regression Testing Efficiency
• Reusability
• Collaboration and Collaboration
Improved Efficiency

• Automated tests can be executed faster and more frequently than


manual tests, allowing for quick feedback on software quality.
• Test automation helps save time, effort, and resources, enabling testers
to focus on more complex testing activities.
Increased Test Coverage

• Test automation allows for broader test coverage by enabling the


execution of a large number of tests, including edge cases, data
variations, and multiple configurations.
• This helps identify defects and ensures that critical functionalities are
thoroughly tested.
Consistency and Accuracy

• Automated tests execute predefined steps consistently and precisely,


reducing the risk of human errors and inconsistencies introduced in
manual testing.
• This ensures more accurate and reliable test results.
Regression Testing Efficiency

• Automation significantly speeds up regression testing by automating


repetitive tests that need to be executed repeatedly after each code
change.
• This helps identify regression issues quickly and reduces the time
required for regression testing.
Reusability

• Automated test scripts can be reused across different versions or


releases of the software.
• This allows for efficient maintenance and reduces the effort required to
update and execute tests in subsequent iterations.
Collaboration

• Test automation promotes collaboration among testers, developers,


and other stakeholders by providing a shared and repeatable test
execution environment.
• Automated tests can be easily shared, reviewed, and modified as
needed.
REFERENCE

"Software Quality Assurance: From Theory to Implementation" by Daniel Galin (2018)

You might also like