issues on software testing for safety-critical real-time automation systems shahdat hossain troy...

28
Issues on Software Testing for Safety- Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

Upload: hilda-kennedy

Post on 22-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

Issues on Software Testing for Safety-Critical Real-Time

Automation Systems

Shahdat HossainTroy Mockenhaupt

Page 2: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Increasing complexity• Reliability depends on many factors• Systematic and effect testing are

highly necessary• Full avoidance of human mistakes is

not realistic• Thorough testing can ensure

software quality

Introduction

Page 3: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Testing as an inverse to design• Present expected results• Separate development and testing

teams• Regression testing at every

development modification• Concentrate on error-prone program

segments

Introduction(cont.)

Page 4: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Big bang testing• Incremental testing• Black Box testing• White Box testing

Functional Software Testing Strategies

Page 5: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Functional testing of the program• Anticipated functionality and desired

performance• Not complete software testing• Representative test cases• Boundary value conditions• Error guessing

Black Box Testing

Page 6: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Inner structure• Cases are specified for exercising

specific internal structure• Examine as many logic paths as

possible• Logic conditions should be tested at

least once• Should be combined with black box

testing

White Box Testing

Page 7: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Unit Testing• Integration Testing• Validation Testing• System Testing

Software Testing Processes and Steps

Page 8: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• White Box test cases• Inspecting outputs• Examine basic software unit• Test each module after it is

programmed• Module Interface• Crucial execution paths• Exception handling• Local data structure• Boundary value testing

Unit Testing

Page 9: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Testing of the subsystem• Black box testing• One module at a time• Top-Down and Bottom-Up

approaches

Integration Testing

Page 10: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Starts with Root module• Subordinate modules are substituted

by stubs• Subsystems are creating by

replacing stubs• Regression testing• Verify all modules have been

included in the subsystem

Top-Down Integration Testing

Page 11: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Lower level modules first tested• Parallel testing• Driver module uses stub• Driver module is replaced to form

subsystem• Finished when root node is reached

Bottom-Up Integration Testing

Page 12: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Occurs after integration testing• Validate that the software fulfills

user requirements• Uses black box testing• Software defects report• Standards defined in the SRS

Validation Testing

Page 13: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Occurs after validation testing• Works as a component of the overall

system• Objective is to find discrepancies

between actual performance and expected performance• Based on requirements analysis

description• "On-site" testing

System Testing

Page 14: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Complex software systems• The process of

validation and verification requires a larger amount of testing cases. • Embedded Real

Time Applications

Non-Functional Software Performance Testing

Page 15: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Meeting the time constraints.• Missing the deadline for responding

to an operation is deemed as a failure as it may incur system malfunction.

Availability Testing

Page 16: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Low reliability system may cause damage.

• It is highly concerned with hardware and other support software

Reliability Testing

Page 17: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Fault tolerant capability• Quick recovery capability• Specific fault tolerant control

algorithms required

Survivability Testing

Page 18: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Multiple requirements and OS• 3rd party drivers and components• Self reconfiguration

Flexibility Testing

Page 19: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Stress testing is to test the software by pushing the system to its limits.

Stress Testing

Page 20: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• System security during all the phases of software life cycle.

• Virus and safety-critical automation software systems

Security Testing

Page 21: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Comfortability with the user's experience• GUI design• Increase efficiency• Reduce possiblity of invalid

operations

Usability Testing

Page 22: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• The released software needs to be revised and upgraded during its life cycle, therefore, it is highly desirable that the software can be easily maintained.

Maintainability Testing

Page 23: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

Software Maintenance

• software maintenance in the entire software life cycle

Page 24: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• After the software is installed on the user sites, it is possible that during

system operations, the latent software defects are exposed, and therefore corresponding software revision is needed to ensure the proper running of the software

Corrective Maintenance

Page 25: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Its intent is to ascertain that the released software can adapt to new requirements, which are however not in the previous design specification

Adaptive Maintenance

Page 26: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• New technologies need to be incorporated into the existing software in order to improve its performance

Perfective Maintenance

Page 27: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• The final type of software maintenance is preventive maintenance. It involves making changes to the software that makes future maintenance activities easier to carry out.• Check for Software Update

frequently• Ability to automatically insall latest

patches

Preventive Maintenance

Page 28: Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt

• Ensuring the software’s compliance with the user requirements• Software testing is indispensable in

safety critical systems• All functional and non functional

testings needs to be implemented thoroughly

Conclusion