Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lesson 1 Understanding Software Quality Assurance

Similar presentations


Presentation on theme: "Lesson 1 Understanding Software Quality Assurance"— Presentation transcript:

1 Lesson 1 Understanding Software Quality Assurance

2 Understanding Software Quality Assurance
The objectives for this lesson are as follows: Define Software quality assurance Explain the life-cycle of a computer program Explain how quality assurance should be applied to each phase of the lifecycle

3 Understanding Software Quality Assurance
Software quality assurance is a way of preventing mistakes, errors or failures by monitoring the software development process. It is used to ensure that the end product meets all of the requirements and specifications throughout the entire development process. Developing software is often a very complex process involving many different people, skills and inputs. A Software Development Process is a means of giving structure to the overall project. It helps project managers to organize the work that needs to be done, in terms of scheduling (life cycle), human resources and technical resources.

4 Understanding Software Quality Assurance
Life cycle of a Computer Program The life cycle of a computer program is the entire development process from planning to product launch and maintenance. Each phase in the life cycle contains predefined objectives determined by the team to meet deliverables and milestones. Let's explore the phases of a computer program’s life cycle and how quality assurance should be applied to each life cycle. There are many different terms used across the board when identifying the phases, here are the most common.

5 Understanding Software Quality Assurance
Requirements - The more time spent planning the greater the chance of success in the remaining phases of the life cycle. During this phase general questions are asked to gather information about the problem and determine what is required for product. Such as, Who will use the product? What training(if any) do they have? How simple should a task be? How many options should there be in doing the task? This phase typically has a set of use cases to outline main functionality and how a user will use that functionality. This leads to a Software Requirements Specification Document to outline a detailed description of each specification. ie. Product functions, performance requirements, security etc. These are covered in the User Experience Design course.

6 Understanding Software Quality Assurance
Design - Now that the requirements documentation is completed you can begin to create your vision and design the overall architecture. Design includes planning how information moves around your app and between a server and database, as well as how the logic of your app will work. A wireframe is often used to illustrate the look and flow of the software. Tools like Fluid UI can help design your user interface.

7 Understanding Software Quality Assurance
Implementation - Now that you have designed the user interface and architecture of your software you can begin coding. Typically the coding is divided up into units or tasks for the developing team. This is the longest phase of the software development life cycle. Be sure to apply the best practices discussed later in this course. There are many approaches to managing the flow of coding such as agile development, which is very popular

8 Understanding Software Quality Assurance
Testing - Once the coding has been completed a series of testing follows to ensure all requirements and specifications have been met and the product solves the need or problem established in the planning phase. This section will be thoroughly discussed in the remaining lessons, stay tuned!

9 Understanding Software Quality Assurance
Deployment And Maintenance - After the testing phase has been completed and approved, the product is deployed or released to the client or users. The method of deployment is typically determined by the requirements. Maintenance includes tidying up any errors or design flaws that may be present after the software has been deployed. Different version numbers are used to track which fixes have been applied over time as some users may delay updating software or applying fixes. Ex. Version 1.2.4 Client

10 Understanding Software Quality Assurance
Software Development Models There are 8 common models used today for ensuring quality assurance. We will discuss the two most common. Waterfall Model and the Iterative Model. Waterfall Model The waterfall model is the life cycle of a program that is seen as a series of sequential steps like a waterfall. The steps are: Requirements, Design, Implementation, Verification(Testing), Maintenance. Each phase must be completed before moving on to the next. Deployment is not mentioned here because it’s not necessarily the responsibility of the developer and likely doesn’t vary much in planning.

11 Understanding Software Quality Assurance
Software Development Models cont’d Iterative Model In the iterative model, there may be several passes through the first 4 phases of the waterfall model, preceded by initial planning, and with a potential deployment(release) during each life cycle. The phase include Initial planning, requirements, design, implementation, deployment, testing, evaluation.

12 Understanding Software Quality Assurance
The objectives for this lesson are as follows: Define Software quality assurance Explain the life-cycle of a computer program Explain how quality assurance should be applied to each phase of the lifecycle

13 Sources “Software testing” Wikipedia, March 5, “Software development process” Wikipedia, February 26, ss “Software quality assurance” Wikipedia, February 9, “What are the Software Development Life Cycle (SDLC) phases?” ISTQB Exam Certification, 2015. development-life-cycle-sdlc-phases/ “Waterfall Model” Wikipedia, February 21, 2015.


Download ppt "Lesson 1 Understanding Software Quality Assurance"

Similar presentations


Ads by Google