Your SlideShare is downloading. ×
Sqp 090508084934 Phpapp02
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

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.
  • Transcript

    • 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. Quality Plan Overview
    • 3. Quality Plan Overview  dX approach
    • 4. Quality Plan Overview  dX approach  Mission critical System
    • 5. Quality Plan Overview  dX approach  Mission critical System  Web security
    • 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. Communication  Frequent, short meeting  Frequent feedback by short term iteration.  An open workspace
    • 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. Programmer
    • 10. Test-First Design Pair Programming Refactoring Simple Design Programmer
    • 11. Team
    • 12. Open Workspace Collective Coding Ownership Standard Continuous Sustainable Integration Pace Metaphor Team
    • 13. Customer
    • 14. On-Site Customer Acceptance Tests User Stories Iterations Release Plan Small Releases Customer
    • 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. 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. 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. Database Quality  Availability  Reliability (data integrity) – Off-site transaction replication  Security  Performance – Clustering of servers – Load testing at end of each iteration
    • 19. Operating System Quality  Compatibility  Security  Performance  Stability/Reliability
    • 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. 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. 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. 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. Training  Targeted at different audiences – General User – Technical Support Staff – Managers – Advance Users
    • 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. Questions