Day School 1.pdf
Document Details
Uploaded by ExquisiteClarinet
Open University of Sri Lanka
Tags
Full Transcript
Software Testing and Qulaity Assuarance Day School - 1 Prepared by: Mrs.Nuwangi Kiriwaththuduwa Conducted by : Dr. Jeeva Ekanayake Today’s Plan WHAT IS QUALITY QAE ROLE IN COST OF QUALITY QUALITY VERIFICATION...
Software Testing and Qulaity Assuarance Day School - 1 Prepared by: Mrs.Nuwangi Kiriwaththuduwa Conducted by : Dr. Jeeva Ekanayake Today’s Plan WHAT IS QUALITY QAE ROLE IN COST OF QUALITY QUALITY VERIFICATION AND WHY IT’S INDUSTRY ATTRIBUTES AND VALIDATION IMPORTANT RISKS HOW CAN WE MITIGATE THE RISK? What is Quality and Why it is important? What is Quality and Why it’s important Degree of excellence of some thing In an IT product or service, quality is define as “Meeting the requirement of customer” For Customer For Company Required functionality is Product which meets the provided with user friendly customer requirements manner Skills to develop Cost of quality “money spent beyond the cost of building the same product right the first time“ Cost of quality “money spent beyond the cost of building the same product right the first time“ Nisakya Software Company develops a mobile application for managing personal finances. The application allows users to track expenses, create budgets, and generate reports. After the initial release of the application, several quality-related issues arise, leading to negative user feedback and increased support requests. Prevention Cost Appraisal Cost Internal Failure Cost External Failure Cost Quality attributes Activity 1 Select 4 quality attributes and present system- specific scenarios that capture these qualities. Eg:- Medical system ○ Correctness - Patient medical history should be error-free Verification and Validation Design Verification Output meet input Did I make product correctly? Design Validation Specifications meet user need and intended users Did I make the correct product? Verification & Validation Verification - Did I make product correctly? Done at the starting of the development process. It includes ○ reviews and meetings, ○ walk-throughs, ○ inspection, etc. to evaluate documents, plans, code, requirements and specifications. Validation - Did I make the correct product? Done at the end of the development process and takes place after verifications are completed. It answers the question like: Am I building the right product? The main objectives of the V&V effort are - To find defects - Determine if required functions and attributes are built into the software system. Typically verification and validation is applied in parallel in SDLC. Verification and validation planning can be divided in to 5 steps. 1. Identify the V&V scope, 2. Establish specific objectives from the general project scope, 3. Analyze the project input prior to selecting V&V tools and techniques, 4. Select tools and techniques, 5. Develop the Software Verification and Validation Plan (SVVP) Verification and validation represents both static testing (verification) and dynamic testing (validation). Together they comprise the test activities. Static Testing Static testing involves manual or automated reviews of the documents. This review, is done during initial phase of testing to catch Defect early in STLC. It examines work documents and provides review comments Work document can be of following: Requirement specifications Design document Source Code Test Plans Test Cases Test Scripts Help or User document Web Page content Dynamic Testing Under Dynamic Testing code is executed. It checks for functional behavior of software system , memory/cpu usage and overall performance of the system. Hence the name "Dynamic" Main objective of this testing is to confirm that the software product works in conformance with the business requirements. This testing is also called as Execution technique or validation testing. Dynamic testing executes the software and validates the output with the expected outcome. Dynamic testing is performed at all levels of testing and it can be either black or white box testing. V&V involvement in SDLC Requirements Phase Activities - Determine test strategy - Determine adequacy of requirements - Generate functional test conditions Design Phase Activities - Determine consistency of design with requirements - Determine adequacy of design - Determine adequacy of the test plans - Generate structural and functional test conditions Program (Build) Phase Activities - Determine consistency with design - Determine adequacy of implementation - Generate structural and functional test conditions for modules and units Test Phase Activities - Test application system Installation Phase Activities - Place tested system into production Maintenance Phase Activities - Modify and retest V&V involvement in SDLC Requirement gathering and analysis - The testing team follows the Software Testing Life Cycle and starts the Test Planning phase after the requirements analysis is completed. *Test plan is the project plan for the testing work to be done Design:In this phase the testers comes up with the Test strategy, where they mention what to test, how to test. Implementation / Coding V&V involvement in SDLC Testing - After the code is developed it is tested against the requirements to make sure that the product is actually solving the needs addressed and gathered during the requirements phase. During this phase all types of functional testing like unit testing, integration testing, system testing, acceptance testing are done as well as non-functional testing are also done. Deployment - customer to the beta testing. If any changes are required or if any bugs are caught, then they will report it to the engineering team. Once those changes are made or the bugs are fixed then the final deployment will happen. Maintenance - Modify and re-Test Requirement validation & review Walkthroughs, reviews and inspections are three common techniques that have great impact in identifying defects at each stage of the development and maintenance life cycle. Key documentation - Verification Review logs – Review logs are maintained to record to finding when performing a particular review. Check sheets Validation ensures that the system operates according to plan by executing the system functions through a series of tests that can be observed and evaluated for compliance with expected results. Key documentation - Validation Test Strategy and Test Plan: This document describes how the validation will be performed. Test Plan can be the governing document which covers all the testing activities. A test strategy document can be a high-level governing document that will cover both verification and validation. Test cases and test scripts Test results log Check sheets (check lists) : Check lists can be used here to make sure right steps were followed from a process perspective Defect logs. Risk “Risk is an issue, which can be avoided or mitigated” “Risks are unknown events in the future with the chances of loss and easy occurrence. If software risks are effectively analysed, this shall help in effective analysis of the risks and shall help in planning our future tasks. Schedule Risk Wrong time estimation. Resources are not tracked properly. All resources like staff, systems, skills of individuals, etc. Failure to identify complex functionalities and time required to develop those functionalities. Unexpected project scope expansions. Budget Risk Wrong budget estimation. Cost overruns Project scope expansion Programmatic Risks Running out of funds. Market development Changing customer product strategy and priorities. Government rule changes. Operational Risks Risk of loss due to improper process implementation, failed system or some external event risks. Failure to address priority conflicts. Failure to resolve responsibilities. Insufficient resources No proper subject training. No resource planning No communication within the team. Technical Risks Technical risks generally lead to failure of functionality and performance. Causes of Technical Risks are: Continuously changing requirements No advanced technology is available or the existing technology is in the initial stages. The product is complex to implement. Difficult project module integration. Software Development Risk Improper use of technology Inability to translate user needs into technical requirements Uncontrolled system access Ineffective security and privacy practices for the application Program errors Testing Risks Not Enough Training/Lack of Test Competency Lack of Test Tools Lack of Management Understanding and Support of Testing Lack of Customer and User Involvement Not Enough Schedule or Budget for Testing How can we mitigate the risk? Risk Analysis 1. Form the risk analysis team 2. Identify risks 3. Estimate the magnitude of risk Risk Management 4. Selecting testing priorities - Risk reduction Methods - Contingency Planning How can we mitigate the risk? Risk Analysis 1. Form the risk analysis team 2. Identify risks 3. Estimate the magnitude of risk Risk Management 4. Selecting testing priorities - Risk reduction Methods - Contingency Planning