Software Testing (QA) Real Project
- QA templates, checklists, and best practice
o Test plan
o Bug log
o QA review checklist
o Functional specification review
o QA handover review
o Product quality assessment example
o RTM release criteria example
o How to log a bug
o How to retest a bug
o How to verify a bug
- Software release and maintenance procedure
o Program management
o Typical release process
o Support and ASAP team process
o Terminology
- UX concept introduction
o What is UX?
o How to test usability?
- Hands-on experiments
o Product’s introduction
o Test plan development
o Projects
Ø Installation test
Ø Feature test
Ø Stress test
Ø Reliability test
- Operating systems and tools to be utilised in this course
o RedHat Linux 3 or 4
o Windows XP or 2003
o IBM Rational Purify
o QTP
o LoadRunner
- Basic concepts and preliminaries
o Software quality
o Role of testing
o Verification and validation
o Failure, error, fault, and defect
o Notion of software reliability
o Objectives of testing
o What is a test case?
o Expected outcome
o Concept of complete testing
o Central Issue in testing
o Testing activities
o Test levels
o Sources of information for test case selection
o White-box and black-box testing
o Test planning and design
o Monitoring and measuring test execution
o Test tools and automation
o Test team organization and management
- Unit testing
o Concept of unit testing
o Static unit testing
o Defect prevention
o Dynamic unit testing
o Mutation testing
o Debugging
o Unit testing in XP
o Tools for unit testing
- Control flow testing
o Basic idea
o Outline of control flow testing
o Control flow graph
o Paths in a control flow graph
o Path selection criteria
o Generating test input
o Examples of test data selection
o Containing infeasible paths
- Data flow testing
o General idea
o Data flow anomaly
o Overview of dynamic data flow testing
o Data flow graph
o Data flow terms
o Data flow testing criteria
o Comparison of data flow test selection criteria
o Feasible paths and test selection criteria
o Comparison of testing techniques
- System integration testing
o Concept of integration testing
o Different types of interfaces and interface errors
o Granularity of system integration testing
o System integration techniques
Ø Incremental
Ø Top down
Ø Bottom up
Ø Sandwich and big bang
o Software and hardware integration
o Test plan for system integration
- System test categories
o Basic tests
Ø Upgrade/downgrade tests
Ø Command line interface tests
o Functionality tests
Ø Communication system tests
Ø Module tests
Ø Logging and tracing tests
Ø Element management systems tests
Ø Management information base tests
Ø Graphical user interface (GUI) tests
Ø Security tests
Ø Feature tests
o Robustness tests
Ø Boundary value tests
Ø Power cycling tests
Ø On-line insertion and removal tests
Ø High-availability
Ø Degraded node tests
o Interoperability tests
o Performance tests
o Scalability tests
o Stress tests
o Memory tests
o Load and stability tests
o Reliability tests
o Regression tests
o Documentation tests
o Regulatory tests
o Failover tests
o Longevity tests
- Functional testing
o Functional testing concepts of Howden
Ø Different types of variables
Ø Test vector
Ø Testing a function in context
o Complexity of applying functional testing
o Pair wise testing
o Equivalence class partitioning
o Boundary value analysis
o Decision tables
o Random testing
o Error guessing
o Category partition
- System test design
o Test design factors
o Requirement identification
o Characteristics of testable requirements
o Test objective Identification
o Modelling a test design process
o Modelling test results
o Test design preparedness metrics
o Test case design effectiveness
- System test planning and automation
o Structure of a system test plan
o Introduction and feature description
o Assumptions
o Test approach
o Test suite structure
o Test environment
o Test execution strategy
o Test effort estimation
o Scheduling and test milestones
o System test automation
o Evaluation and selection of test automation tools
o Test selection guidelines for automation
o Characteristics of automated test cases
o Structure of an automated test case
o Test automation infrastructure
o Unix scripting in automation
- System test execution
o Basic ideas
o Modelling defects
o Preparedness to start system testing
o Metrics for tracking system test
Ø Metrics for monitoring test execution
Ø Test execution metric examples
Ø Metrics for monitoring defect reports
Ø Defect report metric examples
o Orthogonal defect classification
o Defect causal analysis
o Beta testing
o First customer shipment
o System test report
o Product sustaining
o Measuring test effectiveness
- Acceptance testing
o Types of acceptance testing
o Acceptance criteria
o Selection of acceptance criteria
o Acceptance test plan
o Acceptance test execution
o Acceptance test report
o Acceptance testing in XP
o UAT real practice in Platform
- Software reliability
o What is reliability?
Ø Fault and failure
Ø Time
Ø Time interval between failures
Ø Counting failures in periodic intervals
Ø Failure intensity
o Definitions of software reliability
o Factors influencing software reliability
o Applications of software reliability
o Operational profiles
o Reliability models
- Software quality
o Five views of software quality
o McCall's quality factors and criteria
o ISO 9126 quality characteristics
o ISO 9000:2000 software quality standard