SOFTWARE TESTING

  • Understanding the fundamentals of software testing
    • Questioning as to why testing is necessary harm caused by defects in software
    • What are the root causes
    • Testing and quality assurance
    • What testing is and its elements
    • General testing principles
    • Fundamental test process and psychology behind the testing
  • Testing throughout the software life cycle
    • Software developmental models needed
    • Relationship between development test activities and work products in the development life cycle
    • Project and product characteristics and contexts
    • Test levels, objectives, typical object and targets of testing
    • Functional and non-functional testing
    • Structured and change related testing
    • Confirmation and regression testing
    • Maintenance testing
    • Impact analysis in maintenance
  • Static techniques
    • Reviews and test processes
    • Software work products and the different static techniques to use
    • Importance and value of static techniques
    • The difference between static and dynamic techniques
  • Test management
    • Test organisation
    • Independent testing
    • Tasks of a typical test leader and the testor
    • Test planning and its estimation
    • Standard for Software Test Documentation (EEE 829)
    • The factors that influence the effort related to testing estimation approaches (metrics-based and expert based)
    • Test preparation and execution tasks
    • Use of exit criteria
    • Test progress monitoring and control
    • Metric and reports
    • Configuration management
    • Risk and testing
    • Incident reporting and management reporting
  • Tool support for testing
    • The types of test tools to use
    • Effective use of tools
    • Potential benefits and risks involved
    • Introducing a tool into an organisation
    • Typical formal review process
    • Different view of review
    • Informal review
    • Technical review
    • Inspection
    • Explaining the factors for a successful performance of reviews taken
    • Static analysis used by tools
    • Defects and errors that are recognised by static analysis
    • Typical code and design defects that are known
  • Test design techniques
    • Identifying the test condition and test cases
    • Categories of test designs
    • Specification based (black box) and the structure based (white box) approaches
    • Equivalence portioning and boundary value analysis
    • Decision tables
    • State transition diagrams
    • Use case testing
    • Structured testing by use of white box testing techniques
    • Code coverage
    • Statement and decision coverage
    • Control flows using statement testing and decision testing
    • Experience based techniques
    • Choosing the techniques to use