Specification - based or Black box techniques –> Boundary value analysis Equivalence partitioning Decision table testing State transition diagrams Use case testing Structure – based or white box techniques -> Statement testing and coverage Decision testing coverage Condition testing =Condition testing also is known as Predicate coverage testing; each Boolean expression is predicted as TRUE or FALSE. All the testing outcomes are at least tested once. This type of testing involves 100% coverage of the code. The test cases are designed as such that the condition outcomes are easily executed. Multiple condition testing =The purpose of Multiple condition testing is to test the different combination of condition s to get 100% coverage. To ensure complete coverage, two or more test scripts are required which requires more efforts. All path testing =In this technique, the source code of a program is leveraged to find every executable path. This helps to determine all the faults within a particular code. Experience – based techniques -> Error guessing =Error guessing is dependent on the skills, intuition, and experience of the testers. Exploratory testing =There is minimum time available for testing and maximum for test execution. In this, the test design and test execution are performed concurrently. Verification and Validation Process -> Static Testing Walkthrough Inspection Review End users Validation is the process of checking whether the specification captures the customer’s needs Verification is the process of checking that the software meets the specification. Verification of static- practice of verifying documents design code and program. Validation is a dynamic practice testing the actual product. It is a human based testing and it is computer-based testing Verification confirms the specification It is low level exercise Validation is carried out involvement of test team Validation follows after verification Agile methodologies: User requirements-Iteration planning-development-acceptance testing Priority checking-effort estimation-release of latest version New user requirements-bug testing-acceptance testing Agile and Waterfall model are two different methods for software development process. Though they are different in their approach, both methods are useful at times, depending on the requirement and the type of the project. The agile software development emphasizes on four core values.
1. Individual and team interactions over processes and tools
2. Working software over comprehensive documentation 3. Customer collaboration over contract negotiation 4. Responding to change over following a plan
Waterfall model=incremental model
Development of the software-testing Unstructured -plan oriented Small projects can be implemented very quickly-estimation is easy Error fixing can be done in middle of the project easily-only in the end whole project is tested Development process is iterative and project is executed in short 2-4 weeks iteration. planning is very easy. only after development testing is executed because Modules are designed separately. CAPL-why and how Process knowledge and V model Validation verification difference’ Agile procedure and roles responsibilities Entry exit criteria, test strategies and inputs for software/system test Software and Bug life cycle Software test techniques Software and hardware tools Basic ISTQB questions HIL testing