Electronics - Embedded Software Testing

Course Description

This course covers basic fundamentals of Embedded software testing and life cycle
Covers about dynamic, model based and coverage testing.
To study about test management and testing from use cases.
Learning outcomes:
Learn about concept of embedded software testing, TEmb method and creating test harness
Learn about Embedded software test life cycle, V-model
Learn about different types of testing methods
Learn static analysis and metrics
Learn about top-down, bottom-up integration and testing from use cases
Learn about test management and configuration management Faculty Madhukeshwara H M, HCL Courtesy: NPTEL HRD

Course Objective

1 Fundamentals of embedded software testing

Introduction, Concepts of Testing, TEmb method, Test cases and test procedures, Principles of embedded software testing, creating a test harness, Commercial test tools. Software testing life cycle: multiple V-model, nested multiple V-model, master test planning, activities, testing by developers, testing by independent test team.

2 Testing Methods

Dynamic Testing: Structured basis testing, Equivalence Partitions, Boundary Value Analysis, Problems with polymorphic code Model-Based Testing: Synthesis- versus Analysis- models, Generating tests from state diagrams Coverage Testing: White-box, grey and black box tests, Coverage measures – Statement, Branch, Condition, Path and others, Coverage testing tools

3 Static analysis and code reviews

Code Reviews: Benefits of reviews, Review process, Checklists Static Analysis: Static analysis concepts, the use of the compiler for static analysis, Static analysis tools, coding standards Metrics: need for metrics, Using metrics to manage and control testing, Metrics for test

4 Software Integration

Software Integration: Importance of planning your integration, Top-down vs Bottom-up Integration, Practical integration models Testing from Use Cases: Introduction to use cases, calculating test cases, Structured Basis testing for use cases, Generating test cases from use cases Regression Testing: Purpose of regression tests, the build process

5 Test management

Configuration Management: Configuration items, Version control, Change Management, CM tools Test Management: The test process, how the test process relates to the software V-model, “Design by contract”, Test-driven development, agile development processes

Ask a Question

My Questions