180 likes | 838 Views
Department of computer science and engineering Software TESTING METHODOLOGIES. PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR. STM. UNIT-2. UNIT-2.
E N D
Department of computer science and engineeringSoftware TESTING METHODOLOGIES PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
STM UNIT-2
UNIT-2 • Verification and Validation: Verification & Validation Activities, Verification, Verification ofRequirements, High level and low level designs, How to verify code, Validation • Dynamic Testing I: Black Box testing techniques: Boundary Value Analysis, Equivalence classTesting, State Table based testing, Decision table based testing, Cause-Effect Graphing based testing, Error guessing
UNIT-2 • V&V activities can be best understood with the help of phases of SDLC activities: • Requirements Gathering: It is an essential part of any project and project management.Understanding fully what a project will deliver is critical to its success. • Requirement Speciation or Objectives: Software Requirements Specification (SRS) is adescription of a software system to be developed, laying out functional and non-functional requirements, and may include a set of use cases that describe interactions the users will have with the software. Software requirements specification establishes the basis for an agreement between
UNIT-2 • High Level Design or Functional Design: A functional design assures that each modular part of adevice has only one responsibility and performs that responsibility with the minimum of side effects on other parts. • Low-Level Design(LLD): It is a component-level design process that follows a step-by-steprefinement process. • Coding: The goal of the coding phase is to translate the design of the system into code in a givenprogramming language
UNIT-2 • Verification:Verification is done at the starting of the development process. It includes reviewsand meetings, walkthroughs, inspection, etc. to evaluate documents, plans, code, requirements and specifications. It answers the questions like: • --Am I building the product right? • --Am I accessing the data right (in the right place; in the right way). --It is a Low level activity
UNIT-2 • Verification of Objectives: After gathering of objectives specific objectives are preparedconsidering every specification. These objectives are prep pared in a document called SRS. In this activity the tester performs two parallel activities: • The tester verifies all the objectives mentioned in SRS. • The tester also prepares the System Test Plan which is based on SRS.
UNIT-2 • Validation: • Validations a set of activities that ensures the software under consideration has been built right and is traceable to customer requirements. The reason for doing validation are: • --Developing tests that will determine whether the product satisfies the users’ requirements, as stated in the requirement specification. • --Developing tests that will determine whether the product’s actual behavior matches the desired behavior, as described in the functional design specification. • --The bugs, which are still existing in the software after coding need to be uncovered. • --Last chance to discover the bugs otherwise these bugs will move to the final product released to the customer. • --Validation enhances the quality of software.
UNIT-2 • Validaion Test Execution: • Unit Validation Testing:A unit is the smallest testable part of an application like functions, classes,procedures, interfaces • Integration Testing:Integration testing tests integration or interfaces between components,interactions to different parts of the system such as an operating system, file system and hardware or interfaces between systems
UNIT-2 • Functional Testing:Functional testing verifies that eachfunctionof the software applicationoperates in conformance with the requirement specification • System Testing:System testing is most often the final test to verify that the system to be deliveredmeets the specification and its purpose. System testing is carried out by specialists testers or independent testers
UNIT-2 • Acceptance testing:After the system test has corrected all or most defects, the system will bedelivered to the user or customer for acceptance testing. Acceptance testing is basically done by the user or customer although other stakeholders may be involved as well
UNIT-2 • Dynamic Testing I • Black Box testing techniques: Boundary Value Analysis, Equivalence class Testing, State Table based testing, Decision table based testing, Cause-Effect Graphing based testing, Error guessing
UNIT-2 • Boundary Value Analysis: • Boundary value analysis(BVA) is based on testing at the boundaries between partitions. Here we have both valid boundaries (in the valid partitions) and invalid boundaries (in the invalid partitions). BVA offers several methods to design test cases
UNIT-2 • Equivalance Class Testing: • Equivalence class partitioning is a specification-based or black-box technique. It can be applied at any level of testing and is often a good technique to use first. The idea behind this technique is to divide (i.e. to partition) a set of test conditions into groups or sets that can be considered the same (i.e. the system should handle them equivalently), hence ‘equivalence class partitioning’.
UNIT-2 • State Table Based Testing: • Tables are useful tools for representing and documenting many types of information relating to test case design. These are beneficial for the applications which can be described using state transition diagrams and state tables.
UNIT-2 • Decision Table Based Testing: • Boundary Value Analysis and Equivalance class parttioning methods do not consider combinations of input conditions. These methods consider the inputs separately. Decision Table is another useful mehod to represent the information in a tabular method. It has the speciality to consider complex combinations of input conditions and resulting actions.
UNIT-2 • Error Guessing: • Error Guessing is the preferred method when all the other methods fail. It is a very practical case wherein the tester uses his intuition and makes a guess about where the bug can be. The tester does not have to use any particular testing technique. The basic idea is to make a list of possible errors in error prone situations and then develop the test cases. Thus there is no general procedure for this technique as it is largely an intuitive and ad-hoc process.