Software Quality Plan


Published on

Sample plan from a fictional company for class taught by Pete McBreen during my MSc in Software Engineering program (2002)

Published in: Technology
1 Comment
  • how to get the ppt
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

  • Simple Design:
    Passes all tests
    Contains no duplication
    Communicates all intentions necessary
    Contains the fewest possible methods and classes

  • An acceptance test is a test that the user defines, to tell whether the system as a whole works the way the user expects. Ideally, the acceptance tests are defined before the code that implements the feature. The acceptance test will be an iterative process where user will need to test each of subsystem during the software development process as soon as the components are being completed or when ever the new version is finished at the end of each iteration. These tests give a big picture of how much of the desired functionality will work and because the tests are run so often, there is a payoff to have the tests automated.

  • Software Quality Plan

    1. 1. GSES Good Software Engineering System Technologies Airline Reservation System (ARS) Project Software Quality Plan Guy Davis Samuel Lee Eileen (Xiaozheng) Wang Simon (Ming) Zhou
    2. 2. Quality Plan Overview
    3. 3. Quality Plan Overview dX approach 
    4. 4. Quality Plan Overview dX approach   Mission critical System
    5. 5. Quality Plan Overview dX approach   Mission critical System  Web security
    6. 6. Three roles in QA Developer  – Unit test is written before the code – Ensure the code quality Customer  – On site customer – Acceptance tests – Rapid feedback – Ensure that the system meet requirements QA  – Work with developer and customer to ensure the the quality of functionality delivered
    7. 7. Communication Frequent, short  meeting  Frequent feedback by short term iteration.  An open workspace
    8. 8. Risk Management Anticipate changes and ensure that the  associated risks are controlled. According to dX, should prioritize each use case card. High risk use cases are given higher priority.  “Agile methods emphasis on tests, integration, and flexibility are benefits for these types of critical, reliable, and safe systems.”
    9. 9. Programmer
    10. 10. Test-First Design Pair Refactoring Programming Simple Design Programmer
    11. 11. Team
    12. 12. Open Workspace Collective Coding Ownership Standard Continuous Sustainable Integration Pace Metaphor Team
    13. 13. Customer
    14. 14. On-Site Customer Acceptance User Stories Tests Release Iterations Plan Small Customer Releases
    15. 15. On-Site Customer Acceptance User Stories Open Workspace Tests Collective Coding Ownership Test-First Standard Design Pair Refactoring Programming Simple Continuous Sustainable Design Integration Pace Metaphor Release Iterations Plan Small Releases
    16. 16. Infrastructure Quality Determine quality goals and targets  – Application server – Database – Operating system – Hardware (servers, interfaces, networking) Application of testing and evaluation  standards  Audit and review of testing processes
    17. 17. Application Server Quality Performance  – Load testing to meet worst-case scenario Fault-tolerance and redundancy   Availability  Compatibility – With database, OS, utilities, network interfaces, etc... Security 
    18. 18. Database Quality Availability   Reliability (data integrity) – Off-site transaction replication Security   Performance – Clustering of servers – Load testing at end of each iteration
    19. 19. Operating System Quality Compatibility Security    Performance  Stability/Reliability
    20. 20. Hardware Quality Fault-tolerance/redundancy  – Secondary data-centre, hot-standby Vendor support   Physical security – Is data-centre secure? Networking component quality  – Covers all interfaces to reservation system
    21. 21. Deployment Running the new system with the old  system in parallel for couple weeks  Before the deployment, the user training will be done  The IT support will be helping with the deployment – training  Help Desk should also be setup to handle calls after the deployment
    22. 22. User Acceptance Test Approach  – Tests are created from user stories. – Customer specifies scenarios to test. – User story is not completed until they passed the user acceptance tests Responsible Party  – Customers – Developers – Network Specialists – QA
    23. 23. User Acceptance Test (Cont.) Tools  – GUI » Commercial Tool » Run once to establish a “golden” copy » E.g. TestWeb – Code » Programmer write the code » E.g. JUnit – Spreadsheet » Represent tests in a spread sheet for repeated tests – Manual » Write down the procedures and plan on paper and then follow the steps manually
    24. 24. Training Targeted at different audiences  – General User – Technical Support Staff – Managers – Advance Users
    25. 25. Disaster Recovery Hardware Redundancy   Duplicate copy of software or applications  Backup of data  A backup site  Assign teams to different roles and responsibilities
    26. 26. Questions