Sqp 090508084934 Phpapp02


Published on

Published in: Education, Technology, Business
  • Be the first to comment

  • Be the first to like this

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.
  • Sqp 090508084934 Phpapp02

    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.” http://fc-md.umd.edu/projects/Agile/statement_3.htm
    9. 9. Programmer
    10. 10. Test-First Design Pair Programming Refactoring 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 Tests User Stories Iterations Release Plan Small Releases Customer
    15. 15. On-Site Customer Acceptance Tests Open Workspace User Stories Collective Coding Ownership Test-First Standard Design Pair Programming Refactoring Continuous Simple Sustainable Integration Design Pace Metaphor Iterations Release 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