TESTING TOOLS MANUAL APPROACH BY J.ADI SESHU
SOFTWARE: System software:- It is a set of instructions or programs to perform particular task based on requirement. There are two types of software. 1. System software 2. Application software System software:- It provides interface between machine components which are used for system booting purpose. (BIOS) Ex:- all operating systems like windows,xp, UNIX, Linux….
2. Application software:- It is based on user business needs where user can perform operations on application front end to manipulate data in the application back end. Front end Drivers Back end ODBC JDBC ADBC Data Base SQL server Oracle DB2 Java, .Net VB Script Application software are two types a. product based application b. project based application
Testing Defect Reporting Debugging Defect Fixing SOME SIMPLE TERMINLOGIES:- Coding Testing Defect Reporting Debugging Defect Fixing
TESTING APPROACHES Manual Approach Automation Testing In general organization follows two types of approaches in order to test the application Manual Approach Automation Testing
Roles And Responsibilities of Test Engineer:- 1. Analyzing application functionalities with the help of FRS and BRS 2. Identify Test scenario for allocated module 3. Test scenario will consider as test conditions Ex:- Test scenarios for a Gmail home page TS 1: Login validation TS 2: Cannot access your account TS 3: Create an account TS 4: About gmail TS 5: New features 4. Prepare test cases based on test scenarios 5. Create Automation script 6. Execute test cases and automation scripts 7. Defect reporting and prioritize defect 8. Participating in retesting
Step name Step description Expected result Step1 open login window for “F.R” application Login window should open. It should contains login name, password, ok, cancel, help step2 Enter user id: ”adiseshu” “uid” should display agent name in edit box Step3 Enter password: xxxxx should display Step 4 Enter uid,valid pwd, & click on ok Successful login operation Step 5 Enter valid uid, invalid pwd, click on ok Error message should display
SOFTWARE TESTING:- Defect/Bug:- Software testing is process used to identify correctness, completeness and to measure quality of software application. The main objective of software testing is to identify hidden defects in application Defect/Bug:- Deviation between expected value to actual value in the application under test is called defect/bug
SDLC Requirement collection BRS/CRS/URS B.A Feasibility study S.A Finance,Time,Ability to accept S.A Requirement analysis SRS FRS,NFRS GUI Design document DB Design document App Design document HLD, LLD Design Design architect coding Developers SCD Developer, Client Test engineer Unit, system, user acceptance testing Testing Release & maintenance
coding WATERFALL MODEL:- Design Testing Requirement collection Requirement analysis Design coding Testing Requirement & maintenance
PROTOTYPE MODEL:- No yes coding testing Req.Analysis Collect feed back Req.collection Req.Analysis Developing prototypes Collect feed back Quick design No Customer evaluation yes coding testing Release & maintenance
INCREMENTAL MODEL:- Build 1 Design Req.coll analysis coding Testing Rel & main Build 2 Design Req.coll analysis coding Testing Rel & main Build 3 Design Req.coll analysis coding Testing Rel & main
FISH MODEL s/w testing= verification+ validation maintenance SDLC Design coding R.A System testing R.C TDD S.C.D FRS B.R.S B.B.T STLC Review Review W.B.T Test software changes Are we developing right product Are we developed product right s/w testing= verification+ validation (STATIC) (DYNAMIC) R.A: requirement analysis R.C: Requirement collection T.D.D: Technical Design Document S.C.D: source code document
VERIFICATION TECHNIQUES:- It is a process to check correctness and completeness of the document. In general it is performed on requirement document, design document, test plan, test cases. TECHNIQUES:- PEER REVIEW WALK THROUGH INSPECTION
VALIDATION:- After coding there will be a programs or application available to execute. It is dynamic testing approach. It can be perform by unit testing, integration testing, and system testing. Test data Program/Application output
V MODEL:-
AGILE MODEL:- T.E (F.R.S) UNIT-1 (B.R.S) client Feed back UNIT-2 ADVANTAGES:- It handles very well dynamic change requests from client Early stages we can get client feed back
TESTING METHODOLOGIES:- It describes testing approaches to be followed at various stages of application. Some of the testing methodologies are White box testing- developer-program knowledge Black box testing- T.E Gray box testing
WHITE BOX TESTING:- b. conditional statements coverage Using programming knowledge validating internal structure of an application. It is performed by developers and they use following techniques to prepare test cases. a. statements coverage b. conditional statements coverage c. loops coverage d. programs technique coverage e. output coverage f. cyclomatic complexity
BLACK BOX TESTING:- With out having any programming knowledge validating the application based on client requirements. In general there will be separate testing team for this. Some of the following techniques are used to derive test cases a. Boundary Value Analysis (B.V.A) b. Equivalence class partition (E.C.P) c. Error guessing
GRAY BOX TESTING:- It is a combination of W.B.T and B.B.T . In general it is performed on internet applications but this is not preferable To perform Gray box testing the person should have programming knowledge and complete functional knowledge.
TESTING LEVELS IN SDLC:- Unit testing Integration testing System testing User acceptance testing
UNIT TESTING a. statements coverage b. conditional statements coverage Testing an individual component or standalone module in the application. It is performed by developers using W.B.T technique. They use L.L.D document to derive test cases. FACTORS:- login a. statements coverage b. conditional statements coverage c. loops coverage d. programs technique coverage e. output coverage f. cyclomatic complexity Current bal Deposit withdraw Transfer
INTEGRATION TESTING:- After unit testing in order to form the system while integration time of all we verified interface between components or modules is called integration testing. We use two techniques. 1. Big Bang Approach:- When all the modules are available we perform integration testing in single stage Disadvantages :- Time consuming Resource has to wait ideally until all the modules construction completed
2. Incremental Approach:- Based on availability of modules we perform level by level integration testing with the help of Stub and Driver. Techniques:- MAIN 1. Top Down Approach Temporary result STUB In top down approach we use stub. Stub is a called program which provide temporary result to the main module SUB1 SUB2
2. Bottom up approach;- MAIN Calling program Driver is a temporary program which provides connection to the sub modules . It is also called calling program Calling program DRIVER SUB2 SUB1
3. Hybrid or sandwich approach:- MAIN when main module and some sub module not available then we use driver and stub in order to validate interface between constructed modules DRIVER SUB 1 SUB 2 STUB SUB3 SUB 4
3. SYSTEM TESTING:- Factors :- Object properties coverage After unit and integration testing development team released build to test engineer. Build means finally integrated module set. Functionality testing:- For any type of application functionality testing is mandatory. Factors :- Object properties coverage Error handling coverage Input domain coverage Calculation coverage Backend/D.B coverage Links coverage Boundary value Analysis Equivalence class partition
USER ACCEPTANCE TEST:- After system testing client will perform U.A.T in order to check whether project is acceptable or not. ALPHA TEST:- It is performed by end user at developers site at controlled environment. BETA TEST:- It is performed by real user or end user at a live environment with real data where environment is not possible to control if deviations are identified.