You are on page 1of 38

LIST OF EXPERIMENTS

1. What is Software Testing? 2. Why do we test-Testing Objectives? 3. Discuss the different types of Testing. 4. Discuss the various Phases of Testing. 5. At what different levels is Testing done? 6. Describe the Roles and Responsibilities of a Tester. 7. What are the Test Factors? 8. Determine the test factors for a Mobile. 9. Determine the test factors for a Ms Word. 10.Determine the test factors for a Gmail. 11.What is a Test Case and a Test Plan? 12.Prepare a Test Case Template for Login function. 13.Prepare a Test Case Template for Save As function. 14.Consider a program for finding the roots of a quadratic equation, Design boundary value test cases. 15.Draw the decision table for the triangle problem. 16.Design the equivalence classes for the Next Date Generation Problem. 17.Write a program to perform Binary Search and carry out the path based testing. 18.Write a program to show that A. Statement Coverage B. Path Coverage C. Condition Coverage D. Branch Coverage are not sufficient to find all errors. 19.What are Testing Tools? ExplaIn.

1|Page

Lab Questions With Solutions

Que 1 :- What is Software Testing? Ans. Software testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its
2|Page

required results. It is the process of executing a program or system with the intent of finding errors. Software testing can also be stated as the process of validating and verifying that a software program or an application/product: 1. meets the business and technical requirements that guided its design and development; 2. works as expected; and 3. can be implemented with the same characteristics. Testing is more than just debugging. The purpose of testing can be quality assurance, verification and validation, or reliability estimation. Software testing is a trade-off between budget, time and quality. Verification
It is a Quality control process that is used to evaluate whether or not

a product, service, or system complies with regulations, specifications, or conditions imposed at the start of a development phase.. This is often an internal process. It typically involves reviews and meetings to evaluate documents, plans, code, requirements and specifications; this can be done with checklists, issues lists, and walkthroughs and inspection meetings. Validation It is Quality assurance process of establishing evidence that provides a high degree of assurance that a product, service, or system accomplishes its intended requirements. It typically involves actual testing and takes place after verifications are completed. Validation can be expressed by the query "Are you building the right thing?" and verification by "Are you building it right?" "Building the right thing" refers back to the user's needs, while "building it right" checks that the specifications be correctly implemented by the system.

3|Page

Que 2:- Why do we test-Testing Objectives? Ans. Testing is usually performed for the following purposes: 1) Identification of Errors These are obvious anomalies that show up in the behavior of a program or a unit or a component. Such behavior as the following is considered an error: a. Wrong totals b. Misalignments c. Messages that say the wrong thing d. Actions that do not execute as promised: the Delete button does not delete, the update menu does not update properly, etc. 2) Conformance to requirements: These errors are the result of testing the functions in the software against the Requirements Definition Document to ensure that every requirement, functional or non-functional is in the system and that it operates properly. This is often called an Operational Qualification (OQ). 3) To improve quality. As computers and software are used in critical applications, the outcome of a bug can be severe. Bugs can cause huge losses. Bugs in critical systems have caused airplane crashes, allowed space shuttle missions to go awry, halted trading on the stock market, and worse. Bugs can kill. Bugs can cause disasters. In a computerized embedded world, the quality and reliability of software is a matter of life and death. This can be achieved only if thorough testing is done. 4) For Verification & Validation (V&V)

Testing can serve as metrics. It is heavily used as a tool in the V&V process. Testers can make claims based on interpretations of the testing results, which either the product works under certain situations, or it does not work. We can also compare the quality among different products under the same specification, based on results from the same test. 5) For reliability estimation

Software reliability has important relations with many aspects of software, including the structure, and the amount of testing it has been subjected to. Based on an operational profile (an estimate of the relative frequency of use of various inputs to the program),
4|Page

testing can serve as a statistical sampling method to gain failure data for reliability estimation.

5|Page

Que 3 :- Discuss the different types of Testing. Ans. The different types of testing are as follows: I) Black box testing

Black box testing treats the system as a black-box, so it doesnt explicitly use Knowledge of the internal structure or code. Or in other words the Test engineer need not know the internal working of the Black box or application. Tests are based on requirements and functionality. The different types of Black box Testing techniques are: a) Boundary value analysis: Its widely recognized that input values at the extreme ends of input domain cause more errors in system. More application errors occur at the boundaries of input domain. Boundary value analysis testing technique is used to identify errors at boundaries rather than finding those exist in center of input domain. For e.g.: Test cases for input box accepting numbers between 1 and 1000 using Boundary value analysis: 1) Test cases with test data exactly as the input boundaries of input domain i.e. values 1 and 1000 in our case. 2) Test data with values just below the extreme edges of input domains i.e. values 0 and 999. 3) Test data with values just above the extreme edges of input domain i.e. values 2 and 1001. b) Equivalence Partitioning: Equivalence partitioning is a black box testing method that divides the input domain of a program into classes of data from which test cases can be derived. How is this partitioning performed while testing: 1. If an input condition specifies a range, one valid and one two invalid classes are defined. 2. If an input condition requires a specific value, one valid and two invalid equivalence classes are defined. 3 If an input condition is Boolean, one valid and one invalid class is defined. For e.g. consider a form field which ask for the age of a person. Let the age should be >=18 and <=50. This range can be divided into three classes.
6|Page

values less than 18(invalid class) values between 18-50(valid class) value greater than 50(invalid class) We can see that there are two invalid and one valid class. c) Decision Table based testing Decision table is based on logical relationships just as the truth table. It is a tool that helps us look at the complete combination of conditions. The decision table allows the iteration of all the combinations of values of the condition, thus it provides a completeness check.The conditions in the decision table may be interpreted as the inputs, and the actions may be thought of as outputs. For e.g. Consider a program statement that, given the length of 3 sides, determines whether the 3 sides can (i) form a triangle and (ii) what type of triangle (equilateral, isosceles, or scalene). The inputs are: a, b, c sides (each between 1 and 200) Then the inputs must satisfy certain conditions: a<b+c b<a+c c<a+b

d) Cause Effect graphing technique A cause-effect graph is a directed graph that maps a set of causes to a set of effects. The causes may be thought of as the input to the program, and the effects may be thought of as the output. Usually the graph shows the nodes representing the causes on the left side and the nodes representing
7|Page

the effects on the right side. There may be intermediate nodes inbetween that combine inputs using logical operators such as AND and OR. There are four steps: Causes (input conditions) and effects (actions) are listed for a module and an identifier is assigned to each. A cause-effect graph is developed. The graph is converted to a decision table. Decision table rules are converted to test cases. A Simple Cause-Effect Graphing Example I have a requirement that says: If A OR B, then C. The following rules hold for this requirement: If If If If A A A A is is is is true and B is true, then C is true. true and B is false, then C is true. false and B is true, then C is true. false and B is false, then C is false.

The cause-effect graph that represents this requirement is provided in Figure below. The cause-effect graph shows the relationship between the causes and effects.

In Figure above, A, B and C are called nodes. Nodes A and B are the causes, while Node C is an effect. Each node can have a true or false condition.

8|Page

Advantages of Black Box Testing Tester can be non-technical. Used to verify contradictions in actual system and the specifications. Test cases can be designed as soon as the functional specifications are complete Disadvantages of Black Box Testing The test inputs needs to be from large sample space. It is difficult to identify all possible inputs in limited testing time. So writing test cases is slow and difficult. Chances of having unidentified paths during this testing

II)

White box testing This testing is based on knowledge of the internal logic of an applications code. Also known as Glass box Testing. Internal software and code working should be known for this type of testing. Tests are based on coverage of code statements, branches, paths, conditions.

White box testing can be static as well as dynamic. Static analysis involves going through the code in order to find out any possible defect in the code. Dynamic analysis involves executing the code and analyzing the output. The different types of White box Testing techniques are: a) Statement coverage: n this type of testing the code is executed in such a manner that every statement of the application is executed at least once. It helps in assuring that all the statements execute without any side effect. b) Branch coverage: No software application can be written in a continuous mode of coding, at some point we need to branch out the code in order to perform a particular functionality. Branch coverage testing helps in validating of all the branches in the code and making sure that no branching leads to abnormal behavior of the application. c)Data flow testing: This type of testing looks at how data moves within a program. Data flow occurs when variables are declared and then accessed and changed as the program progresses. Data-flow testing looks
9|Page

at the life-cycle of a particular piece of data (i.e. a variable) in an application. By looking for patterns of data usage, risky areas of code can be found and more test cases can be applied. There are four ways data can be used: defined, used in a predicate, used in a calculation, and killed. d)Mutation testing: .A kind of testing in which, the application is tested for the code that was modified after fixing a particular bug/defect. It also helps in finding out which code and which strategy of coding can help in developing the functionality effectively.

Que 4:-Discuss the various Phases Of Testing. Ans. The various phases of testing are: Requirements Analysis: Testing should begin in the requirements phase of the software development life cycle. During the design phase, testers work with developers in determining what aspects of a design are testable and with what parameters those tests work. Test planning: Test strategy, Test plan, Testbed creation. Since many activities will be carried out during testing, a plan is needed. Test development: Test procedures, Test scenarios, Test cases, Test datasets, Test scripts to use in testing software. Test execution: Testers execute the software based on the plans and tests and report any errors found to the development team. Test reporting: Once testing is completed, testers generate metrics and make final reports on their test effort and whether or not the software tested is ready for release. Test result analysis: Or Defect Analysis, is done by the development team usually along with the client, in order to decide what defects should be treated, fixed, rejected (i.e. found software working properly) or deferred to be dealt with later. Defect Retesting: Once a defect has been dealt with by the development team, it is retested by the testing team. Regression testing: It is common to have a small test program built of a subset of tests, for each integration of new, modified, or fixed software, in order to ensure that the latest delivery has not ruined anything, and that the software product as a whole is still working correctly.
10 | P a g e

Test Closure: Once the test meets the exit criteria, the activities such as capturing the key outputs, lessons learned, results, logs, documents related to the project are archived and used as a reference for future projects.

Que 5:- At what different levels is Testing done? Ans. The various levels at which testing is done are: 1) Unit Testing: Unit testing is a software verification and validation method in which a programmer tests if individual units of source code are fit for use. A unit is the smallest testable part of an application. In procedural programming a unit may be an individual function or procedure. Ideally, each test case is independent from the others. Unit tests are typically written and run by software developers to ensure that code meets its design and behaves as intended. 2) Integration testing : Integration testing is the phase in software testing in which individual software modules are combined and tested as a group. It occurs after unit testing and before system testing. Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its output the integrated system ready for system testing. The purpose of integration testing is to verify functional, performance, and reliability requirements placed on major design items. These "design items" are exercised through their interfaces using Black box testing. Simulated usage of shared data areas and inter-process communication is tested and individual subsystems are exercised through their input interface 3) System testing : System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing takes, as its input, all of the "integrated" software components that have successfully passed integration testing and also the software system itself integrated with any applicable hardware system(s).

11 | P a g e

Que6 :- Describe the Roles and Responsibilities of a Tester. Ans. Generally Roles and Responsibilities of a Tester may vary, depending upon the working company. But the general and important roles and responsibilities of a tester are: Analyzing the Requirements from the client Produce High Level and Detailed Test Conditions Produce Expected Results Participating in preparing Test Plans Preparing Test Scenarios Preparing Test Cases for module, integration and system testing Preparing Test Datas for the test cases Preparing Test Environment to execute the test cases Analyzing the Test Cases prepared by other team members Executing the Test Cases Defect Tracking Giving mandatory information of a defect to developers in order to fix it Preparing Summary Reports Preparing Lesson Learnt documents from the previous project testing experience Preparing Suggestion Documents to improve the quality of the application Communication with the Test Lead / Test Manager Conducting Review Meetings within the Team
12 | P a g e

Que7 :-

Test Factors

Ans. There are various factors using which a product is tested. After checking all the factors, a product is marked as tested. The various factors are: Correctness The product is tested for its basic functionality. It is tested that the product is functioning correctly or not and if not why? the basic functionality of a product can be defined as function for what a product is built. User Interface The user interface checks for the interaction of the product with the user. What kind of interface a product is providing is an important factor to be tested for success of testing product. Usability The factor checks for the usability of a product. Usability can be defined as the various features a product is providing. All the features should be tested for a satisfied customer. Configuration This relates a product to the software configurations a product is providing. It also checks various compatible softwares which a product must support. Compatibility 13 | P a g e

A product should also be tested for its hardware compatibility. It must be checked that how much is the minimum requirement in terms of hardware for a product. Security Another important factor to be tested is security. A customer always demands security for its product. If a product is not supporting security and is prone to various problems of hacking, insecure data etc. Negative After checking all the positive factors some negativity must be checked. The factors that should not be present but still supported by product are to be eliminated and hence considered in testing.

Performance In most of the products which are used by most of the customers, the performance is one of the important criteria to rate a product. The performance considers speed, durability etc.

14 | P a g e

Que :_8 Test Factors for Mobile


Ans. Correctness eIt should send and receive calls. It should have voice clarity. It should have display clarity. It should be able to receive and send messags.

User Interface It should have user interactive interface. Its keypad should not be congested. The numbers printed on it should be big enough. It should have soft keypad. It should have a big enough screen.

Usability It It It It It should should should should should have have have have have an alarm clock. a calculator. stopwatch. camera, mp3 and various multimedia tools. radio. 15 | P a g e

Configuration It should have an OS that supports various applications. It should have installed applications like games, ms-office etc. Compatibility It should be supporting to various Bluetooths of other mobiles. It should provide compatibility with system. It should have a hand free that is supported by other mobiles and also others hand free is also compatible to that mobile. Security It should provide security from unauthorised access. It should provide automatic locking keypad. If a mobile is providing net access then it should also provide security from virus. Negative It should get switched off if some unauthorised person tries to access the mobile. It should have mobile tracker.

Performance It should provide good data transfer speed. It should provide battery backup for at least 48 hours. It should provide good network wherever it may be.

16 | P a g e

Que:- 9. Test Factors for MS Word


Ans. Correctness It should provide a word processor to type, edit and format a text document. It should have feature to insert pictures and edit them. It should have feature to add tables, graphs etc. User Interface It should have graphical user interface. It should have icons for various functions like cut, copy, paste. It should provide various fonts. Usability It It It It It should should should should should be easy and convenient to use. open existing documents. have mail merge feature. have macros. have help feature to get help on any topic.

Configuration It needs MS OFFICE. 17 | P a g e

It needs windows to be installed on a system. Compatibility To work with ms word, a system should have a monitor, keyboard, cpu and mouse. It should provide minimum required hard disk and RAM. Security It should not provide any security from unauthorised access. It should not provide access specifiers. On power cut, the document is not saved automatically.

Negative It accepts wrong spellings also. It should not have any feature that helps in mathematical calculations. Performance Its performance is dependent upon the hard disk and RAM. Performance also depends on the number of applications running on the system.

18 | P a g e

Que10 :- Test Factors for Gmail


Ans.
Correctness It It It It should should should should send and receive mails. provide a feature to save chats. have auto refresh. have feature to provide multiple chats.

User Interface It should have graphical user interface. It should have proper icons for inbox, chats, sent etc. Usability It It It It It should should should should should be user interactive. be easily accessed. support multimedia mails. have video conferencing feature. give special labels, stars to save preference mails..

Configuration It should be web browser independent. 19 | P a g e

It should not be installed and can be accessed on any system which uses internet. Compatibility It should be accessed only with the help of display, keyboard and mouse. Security It should provide security from unauthorised access. It should provide security against spam. If should provide facility to recover password and username in case user forget any of these. Negative It should get hanged when multiple users work on it. It does not give facility to view mails according to unread, starred mails etc. Performance It should provide good data transfer speed. It should provide a lot of memory space i.e. 2 GB. It should provide speedy attaching of the documents with mails.

20 | P a g e

Que 11:-What is a Test Case and a Test Plan? Ans. Test plan: A test plan documents the strategy that will be used to verify and ensure that a product or system meets its design specifications and other requirements. Depending on the product and the responsibility of the organization to which the test plan applies, a test plan may include one or more of the following: Design Verification or Compliance test - to be performed during the development or approval stages of the product, typically on a small sample of units. Manufacturing or Production test - to be performed during preparation or assembly of the product in an ongoing manner for purposes of performance verification and quality control.

Acceptance or Commissioning test - to be performed at the time of delivery or installation of the product. Regression test - to be performed on an existing operational product, to verify that existing functionality didn't get broken when other aspects of the environment are changed (e.g., upgrading the platform on which an existing application runs).

There are three major elements that should be described in the test plan: Test Coverage, Test Methods, and Test Responsibilities. Test coverage states what requirements will be verified during what stages of the product life. Test Coverage is derived from design
21 | P a g e

specifications and other requirements where each requirement or design specification will have one or more corresponding means of verification. Test methods in the test plan state how test coverage will be implemented. Test methods may be determined by standards, regulatory agencies, or may have to be created new. Test methods also specify test equipment to be used in the performance of the tests and establish pass/fail criteria. Test responsibilities include what organizations will perform the test methods at each stage of the product life. This allows test organizations to plan, acquire or develop test equipment and other resources necessary to implement the test methods. Test responsibilities also includes, what data will be collected, and how that data will be stored and reported. Test case: A set of inputs, execution preconditions, and expected outcomes developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement A test case in software engineering is a set of conditions or variables under which a tester will determine whether an application or software system is working correctly or not. The mechanism for determining whether a software program or system has passed or failed such a test is known as a test oracle. In some settings, an oracle could be a requirement or use case, while in others it could be a heuristic. It may take many test cases to determine that a software program or system is functioning correctly. Test cases are often referred to as test scripts, particularly when written. Written test cases are usually collected into test suites.

22 | P a g e

Que12:- Test case template for Login function


Ans.

Test Case ID Objective

1 To check the functionality of login function. (1) Give URL address in address bar.

Test Steps

(2) Click on ok button. (3) Enter Username. (4) Enter Password. www.naukri.com

Test Data

NIEC NIEC 23 | P a g e

Expected Result Actual Result State Status

Desired page should open. Desired page is opened. Executed Pass

Que:-13. Test case template for Save As function


Ans.

Test Case ID Objective

2 To check the functionality of save as function (1) Open an application. (2) Go to file menu.

Test Steps

(3) click on save as. (4) Choose the directory. (5).Type the file name.

Test Data

D:\file demo

Expected Result

File should be saved with a new name. 24 | P a g e

Actual Result State Status

File get saved with name demo. Executed Pass

Que14:- Quadratic equation will be of type: a*(x^2)+b*x+c=0


Ans. Roots are real if (b^2-4*a*c)>0 Roots are imaginary if (b^2-4*a*c)<0 Roots are equal if (b^2-4*a*c)=0 Equation is not quadratic if a=0 For n inputs, there 4n+1 boundary value analysis test cases.

The Boundary Value Analysis Test Cases are:

Test Case A
1 2 3 4 0 1 50 99

B
50 50 50 50

C
50 50 50 50

Expected Output
Not Quadratic Real roots Imaginary Roots Imaginary roots

25 | P a g e

5 6 7 8 9 10 11 12 13

100 50 50 50 50 50 50 50 50

50 0 1 99 100 50 50 50 50

50 50 50 50 50 0 1 99 100

Imaginary Roots Imaginary Roots Imaginary Roots Imaginary Roots Equal roots Real roots Real roots Imaginary roots Imaginary roots

Que15:- Draw the decision table for the triangle problem.


Ans. #include<iostream.h> #include<conio.h> #include<stdio.h>

void main() { clrscr(); int a,b,c,num=1; cout<<"\nCARRYING THE DECESION TABLE BASED TESTING (max. size of side =20)\n"; do { 26 | P a g e

cout<<"\nTEST CASE No.:"<<num; num++; cout<<"\nEnter the three side of the triangle\n"; cin>>a>>b>>c; if(a>=b+c||b>=a+c||c>=a+b) { cout<<"\nIt is not a triangle"; } else { if(a==b) { if(a==c) cout<<"\nIt is an Equilateral triangle"; else cout<<"\nIt is an isosceles triangle"; } else { if(b==c) cout<<"\nIt is an isosceles triangle"; else { if(c==a) cout<<"\nIt is an isosceles triangle"; else cout<<"\nIt is a scalene triangle"; } 27 | P a g e

} } }while(num<=13); getch(); }

Que16:- Design the equivalence classes for the Next Date Generation.
Ans. #include<iostream.h> #include<conio.h> #include<stdio.h> class Date { int d,m,l; int y; public: Date() { d=0;m=0;y=2000;l=0; } 28 | P a g e

void input( int , int ,int); void valid(); void next(); }; void Date::input( int dd, int mm, int yy) { d=dd; m=mm; y=yy; valid(); } void Date::valid() { if(y==0||m==0||d==0||d>31||m>13) { cout<<"\nInvalid Date"; return; } if(d==29&&m==2) { if(y%4!=0) { cout<<"Not Valid"; return; } else { l=1;} } if(d==31) 29 | P a g e

{ if(m==2||m==4||m==6||m==9||m==11) { cout<<"Not Valid"; return; } } cout<<"\nThe current Date is:\t"<<d<<'/'<<m<<'/'<<y; next(); } void Date::next() { if(l==1) { d=1; m=3; } else { if(m==2&&d==28) { if(y%4==0) { m=2; d=29; } else { d=1; m=3; 30 | P a g e

} } else { d++; if(d>31) { d-=31; m++; } if(m>12) { m-=12; y++; } } } cout<<"\nThe next date is:\t"<<d<<'/'<<m<<'/'<<y; } void main() { clrscr(); Date ob; ob.input(31,12,2003); getch(); }

31 | P a g e

Que17:- Write a program to perform Binary Search and carry out the path based testing ?
Ans. #include<iostream.h> #include<conio.h> #include<stdio.h> #include<string.h>

void main() { int ar[20]; int el,n=1,flag=0; clrscr(); // loop to fill the elements in the array for(int i =0;i<20;i++) ar[i]=i+2; cout<<"\nCARRYING OUT THE PATH BASED TESTING\n"; cout<<"\nTEST CASE "<<n; 32 | P a g e

n++; cout<<"\nEnter the element to be searched\n"; cin>>el; int low=0, high =19,mid=0; while(low<=high) { mid=(low+high)/2; if(ar[mid]==el) { cout<<"\nElement "<<el<<" found at "<<mid<<"th location\n"; flag=1; } if(ar[mid]>el) high =mid-1; else low=mid+1; } if(flag==0) cout<<"\nThe element is not found in array\n"; getch(); }

33 | P a g e

Que18:- Write a program to show that A. Statement Coverage B. Path Coverage C. Condition Coverage D. Branch Coverage
Ans . #include<iostream.h> #include<conio.h> void main() { clrscr(); int a,b,c,d; cout<<" Enter the values of a,b,c of quadratic equation:- "; //..1 cin>>a>>b>>c; //..2 d=(b*b)-(14*a*c); // error line as true is d=(b*b)-(4*a*c) ..3 if(d>0 & a>0) { //..4 cout<<" cut x-axis at two points + upper parabola ";//..5 } else { cout<<" not both possible (cut x-axis at two points + upper parabola) "; //..6 } getch(); ..7 } 34 | P a g e

OUTPUT
TESTING Statement coverage:Enter the values of a,b,c of quadratic equation:- 1 4 0 cut x-axis at two points + upper parabola Branch coverage: TEST CASE: - 1 Enter the values of a,b,c of quadratic equation:- 1 4 0 cut x-axis at two points + upper parabola TEST CASE:- 2 Enter the values of a,b,c of quadratic equation:- -1 4 0 not both possible (cut x-axis at two points + upper parabola) 18 Condition Coverage: TEST CASE: - 1 Enter the values of a,b,c of quadratic equation:- 1 4 0 cut x-axis at two points + upper parabola TEST CASE:- 2 Enter the values of a,b,c of quadratic equation:- -1 4 0 not both possible (cut x-axis at two points + upper parabola) 35 | P a g e

TEST CASE: - 3 Enter the values of a,b,c of quadratic equation:- -1 0 0 not both possible (cut x-axis at two points + upper parabola)

TEST CASE: - 4 Enter the values of a,b,c of quadratic equation:- 2 0 0 not both possible (cut x-axis at two points + upper parabola) Path Coverage:TEST CASE:- 1 enter the values of a,b,c of quadratic equation:- 1 4 0 cut x-axis at two points + upper parabola TEST CASE :- 2 enter the values of a,b,c of quadratic equation:- -1 4 0 not both possible(cut x-axis at two points + upper parabola)

36 | P a g e

Que 19:- what is testing tool ? Explain it


Ans. Test Tools assist in testing process. Doing testing manually is a cumbersome task as testing is not an easy task. So, test tools are used to help in testing the product so that testing is carried out properly. As there are static and dynamic testing, so, are the testing tools i.e. Static test tools and Dynamic test tools. STATIC TEST TOOLS: These tools do not involve actual input and output. Rather, they take a symbolic approach to testing, i.e., they do not test the actual execution of the software. These tools include the following: 1. Flow Analyzers: These tools ensure consistency in data flow from input to output. These also ensures that control flows properly in the program across each of its segment. 2. Path Tests: They find unused code and code with contradictions. 3. Coverage Analyzers: It ensures that all logic paths are tested. It emphasizes on achieving maximum code coverage including the statements, if-then-else logic, switch cases etc. 4. Interface Analyzers: It examines the effects of passing variables and data between modules. DYNAMIC TEST TOOLS: These tools test the software system with live data. Dynamic Test tools include the following: 1: Test Driver: It inputs data into a module-under-test (MUT)

37 | P a g e

2. Test Beds:

It simultaneously displays the source code along with the

program under execution. 3. Emulators: The response facilities are used to emulate parts of the system not yet developed. 4. Mutation Analyzers: The errors are deliberately fed into the code in order to test fault tolerance of the system. Skills needed for using Test Tools The skills required for using tools depend on the generation of automation the company is under viz 1. Test harness tools (First Generation) 2. Data-Driven Tools (Second Generation) 3. Action-Driven Tools (Third Generation) Criteria for selection of Test Tools The main criteria for selection of test tools are given below: 1. Meeting requirements 2. Technology expectations 3. Training/Skills 4. Management Aspects.

38 | P a g e

You might also like