Download presentation
Presentation is loading. Please wait.
Published byChester Griffin Modified over 6 years ago
1
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick
2
Contents Introduction Manual Testing Different stages of Testing Software Quality Assurance and Quality Control Non-Functionality Testing / Special Testing Software Development Life Cycle vs Software Testing Life Cycle Verification and Validation What to do and What not to do – For Development Team Bug / Defect Life Cycle Types of Bugs Any questions?
3
Introduction It is an investigation conducted to provide stakeholders with information about the quality of the product or service under test It is a process of validating and verifying that a Software product meets the business and technical requirements that guided its design and development; works as expected; and can be implemented with the same characteristics
4
Manual Testing: Manual testing is the process of manually testing software for defects. It requires a tester to play the role of an end user, and use most of all features of the application to ensure correct behavior In this process, the Testers do not use any automation tool or scripts. The entire testing process is carried out manually To ensure completeness of testing, the tester often follows a written test plan that leads them through a set of important test cases One of the main objective is to test the software for correct behavior prior to release to End Users There are different stages in the process of Manual Testing of which some are explained in the ensuing slides
5
Different stages of Manual Testing: In the below pictorial image, the different stages of testing are shown. In the following slide, a brief note on each of these stages is given
6
Different stages of Manual Testing:
Black Box Testing: It is a method of software testing that examines the functionality of an application without peering into its internal structures or workings. In this type of testing, the tester is aware of what the software is supposed to do but is not aware of how it does it White Box Testing: It is a method of testing software that tests internal structures or workings of an application, as opposed to its functionality. In white-box testing an internal perspective of the system, as well as programming skills, are used to design test cases Unit Testing: It is a level of the software testing process where individual units/components of a software/system are tested. The purpose is to validate that each unit of the software performs as designed
7
Different stages of Testing:
System Testing: It is a level of the software testing process where a complete, integrated system/software is tested. The purpose of this test is to evaluate the system’s compliance with the specified requirements Integration Testing: It is a level of the software testing process where individual units are combined and tested as a group. The purpose of this level of testing is to expose faults in the interaction between integrated units Acceptance Testing: It is a level of the software testing process where a system is tested for acceptability. The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery
8
Quality Assurance and Quality Control:
Quality Assurance: The function of software quality that assures that the standards, processes, and procedures are appropriate for the project and are correctly implemented Quality Control: The function of software quality that checks that the project follows its standards, processes, and procedures, and that the project produces the required internal and external (deliverable) products
9
Quality Assurance vs. Quality Control
10
Quality Assurance vs Quality Control
Quality Assurance is a part of quality management process which concentrates on providing confidence that quality requirements will be fulfilled Quality Control is a part of quality management process which concentrates on fulfilling the quality requirements Quality Assurance is a set of activities for ensuring quality in the processes by which products are developed Quality Control is a set of activities for ensuring quality in products. The activities focus on identifying defects in the actual products produced Quality Assurance is the process of managing for quality Quality Control is used to verify the quality of the output The goal of Quality Assurance is to prevent the occurrence of defects in the software application which help to improve the development and testing processes The goal of Quality Control is to identify the defects in the software application after it is developed QA is Pro-active means it identifies weaknesses in the processes QC is Reactive means it identifies the defects and also corrects the defects or bugs also People who are involved in the developing software application are responsible for the quality assurance Testing team is responsible for Quality control Quality Assurance is process oriented Quality Control is product oriented Quality Assurance basically aims to prevention of defects to improve the quality Quality Control basically aim to detection of defects to improve the quality It identifies weakness in processes to improve them It identifies defects to be fixed Verification is an example of Quality Assurance Validation/Software Testing is an example of Quality Control
11
Non-Functionality Testing / Special Testing
In non-functional testing the quality characteristics of the component or system is tested. Non-functional refers to aspects of the software that may not be related to a specific function or user action such as scalability or security. There are more than 16 steps of Non-Functional Testing. However, we will cover the most important steps in a brief note, Compatibility Testing: The testing is conducted on the application to evaluate the application’s compatibility with the computing environment. It contains some of the elements like: Hardware platform, Bandwidth, Operating systems, Databases & Browsers Load Testing: It is the process of putting demand on a system or device and measuring its response. Load testing is performed to determine a system’s behavior under both normal and anticipated peak load conditions. It helps to identify the maximum operating capacity of an application as well as any bottlenecks and determine which element is causing degradation
12
Non-Functionality Testing / Special Testing
Security Testing: It is a process intended to reveal flaws in the security mechanisms of an information system that protect data and maintain functionality as intended. Due to the logical limitations of security testing, passing security testing is not an indication that no flaws exist or that the system adequately satisfies the security requirements. Some of the main elements are: Confidentiality, Integrity, Authentication, Authorization and Availability Volume Testing: Volume testing refers to testing a software application with a certain amount of data. This amount can, in generic terms, be the database size or it could also be the size of an interface file that is the subject of volume testing. For example, if you want to volume test your application with a specific database size, you will expand your database to that size and then test the application's performance on it. Another example could be when there is a requirement for your application to interact with an interface file (could be any file such as .dat, .xml); this interaction could be reading and/or writing on to/from the file. You will create a sample file of the size you want and then test the application's functionality with that file in order to test the performance
13
Software Development Life Cycle vs Software Testing Life Cycle
14
Verification vs Validation
1. Verification is a static practice of verifying documents, design, code and program. 1. Validation is a dynamic mechanism of validating and testing the actual product. 2. It does not involve executing the code. 2. It always involves executing the code. 3. Verification uses methods like inspections, reviews, walkthroughs, and Desk-checking etc. 3. Validation uses methods like black box (functional) testing, grey box testing, and white box (structural) testing etc. 4. Verification is to check whether the software conforms to specifications. 4. Validation is to check whether software meets the customer expectations and requirements. 5. Target is requirements specification, application and software architecture, high level, complete design, and database design etc. 5. Target is actual product-a unit, a module, a bent of integrated modules, and effective final product. 6. Verification is done by QA team to ensure that the software is as per the specifications in the SRS document. 6. Validation is carried out with the involvement of testing team. 7. It generally comes first-done before validation. 7. It generally follows after verification.
15
Types of Bugs A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's source code or its design, or in frameworks and operating systems used by such programs, and a few are caused by compilers producing incorrect code. The bugs can be classified in the following ways, Severity wise Work Product wise Types of Errors wise Status wise In Severity wise, the errors are classified into Major, Medium and Minor In Work Product wise, the errors are classified into defects from Functional Specification, Architectural Design document, Detailed design document, Test plan/Test cases, Source code ., etc. In Error wise, the defects are in the form of Comments, Database Error, Logical Error, Message Error, Navigation Error, Typo Error, Variable Declaration Error., etc. In Status wise, the errors are signified as Open, Closed, Deferred and Cancelled
16
Bug / Defect Life Cycle Close
17
What to do and What not to do – For Development Team
19
THANK YOU
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.