Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Verification and Testing of Embedded Systems

Module 6
Test Automation

Prepared By: AMIT Learning


Outline

• Why to Automate Test...

• When to Automate Test...

• Issues in Test Automation

Prepared By: AMIT Learning


Test Automation

• If a manual test costs $X to run the first time, it will cost $X to run every time
thereafter.

• An automated test can cost 3 to 30 times $X the first time, but will cost about
$0 after that.

• You should consider Test Automation when:

• A test is performed frequently

• Precision is a must

• Automation cost is more effective than manual execution


Prepared By: AMIT Learning
Test Automation Scope

• Test execution: Run large numbers of test cases/suites without human


intervention.

• Test generation: Produce test cases by processing the specification, code, or


model.

• Test management: Log test cases & results; map tests to requirements &
functionality; track test progress & completeness

Prepared By: AMIT Learning


Why Should Tests be Automated?

• More testing can be accomplished in less time.

• Testing is repetitive, tedious, and error-prone.

• Test cases are valuable -once they are created, they can and should be used
again, particularly during regression testing.

Prepared By: AMIT Learning


Why Should Tests be Automated?

• Test engineer productivity

• Coverage of regression testing

• Re-usability of test cases

• Consistency in testing

• Test interval reduction

• Reduces software maintenance cost

• Increased test effectiveness


Prepared By: AMIT Learning
Test Automation Issues

• Does the payoff from test automation justify the expense and effort of
automation?

• Learning to use an automation tool can be difficult.

• Tests, have a finite lifetime.

• Completely automated execution implies putting the system into the proper
state, supplying the inputs, running the test case, collecting the results, and
verifying the results.

Prepared By: AMIT Learning


Obvious Uses of Automated Testing

• Load/stress tests -Very difficult to have very large numbers of human testers
simultaneously accessing a system.

• Regression test suites -Tests maintained from previous releases; run to


check that changes haven’t caused faults.

• Stability tests -Run the system for 24 hours to see that it can stay up.

Prepared By: AMIT Learning


Q&A

Prepared By: AMIT Learning


THANK YOU!

You might also like