• Like
Software Quality Plan
Upcoming SlideShare
Loading in...5
×

Software Quality Plan

  • 8,800 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • how to get the ppt
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
8,800
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
305
Comments
1
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    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.” http://fc-md.umd.edu/projects/Agile/statement_3.htm
  • 9. Programmer
  • 10. Test-First Design Pair Refactoring Programming 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 User Stories Tests Release Iterations Plan Small Customer Releases
  • 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. 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