Case Tools & Software Testing Lab

IV B.Tech I Sem (R09)

Experiment 1: Write programs in ‘C’ Language to demonstrate the working of the following constructs: 1,1 do..while a) Write a program to print the entered number in reverse order .Use do-while loop.Also Perform Sum and Multiplication with their digits.

#include <stdio.h> main() { Int n,d,x=1,mul=1,sum=0; Clrscr(); Printf(“Enter the number of digits”); Scanf (“%d”,&d); Printf(“\n Enter the number which to be reversed”) ; Scanf(“%d”,&n); Printf(“\n Reversed Number”); do { i=n%10; Printf(“%d”,i); Sum=sum+i; mul=mul*i; n=n/10; x++; }while(x<=d);

Case Tools & Software Testing Lab

IV B.Tech I Sem (R09)

Printf(“\n Addition of digits %d”,sum); Printf(“\n multiplication of digits %d,mul); getch(); } OUTPUT: Enter the number of digits:4 Enter the number which to be reversed:4321 Reversed number :1234 Addition of digits:10 Multiplication of digits:24 b) Write a program to find the cubes of 1 to 10 numbers using do while loop

#include<stdio.h> #include<math.h> main() { Int y,x=1; Printf(“\n Print the numbers and there cubes”); Printf(“\n”); do{ y=pow(x,3); printf(“%4d%20d\n”,x,y); x++; } While(x<=5);

Case Tools & Software Testing Lab

IV B.Tech I Sem (R09)


OUTPUT: Print the numbers and their cubes 1 2 3 4 5 1 8 27 64 125

1.2 while:

a) Write a program to convert binary number to equivalent decimal number. #include <conio.h> #include <stdio.h> #include<math.h> #include<process.h>

NALGONDA Page 4 . } y=y+x*pow(2.When 0 is entered program should be terminated. printf(“\n Enter binary number”).”y). clrscr().&n). Exit(1). b) Write a program to enter few numbers and count the positive and negetive numbers Together with their sums. #include<stdio. while(n!=0) { x=n%10.y=0. getch().p). scanf(“%ld”.h> #include<conio. n=n/10.Tech I Sem (R09) main() { Long n. } OUTPUT: Enter binary number:1111 Equivalent Decimal Number is 15 Enter a binary number:120 Invalid Digit.Case Tools & Software Testing Lab IV B. Int x. p++.h> SRTIST.p=0. if(x>1||x<0) { Printf(“\n Invalid Digit”). } Printf(“\n Equivalent Decimal Number is%d.

if(j>0) { p++. clrscr(). printf(“\n Sum of Negative Numbers:%d”.NALGONDA Page 5 .n=0. } } printf(“\n Total Positive Numbers:%d”.&j).ns=0.n).p=0.Tech I Sem (R09) main() { int j=1. printf(“\n Total Negative Numbers:%d”.s=0. printf(“\n Sum of Positive Numbers:%d”.ns). s=s+j.Case Tools & Software Testing Lab IV B. } OUTPUT: SRTIST. } Else if(j<0) { n++. printf(“\n Enter Numbers(0)Exit:”).p). ns=ns+j.s). while(j!=0) { scanf(“%d”.

if(d<=200 & d>=100) printf(“\nsum is %d which is in between 100&200”. else printf(“\n sum is %d which is out of range “. clrscr().h>] main() { int a. printf(“a=%d b=%d c=%d”. scanf(“%d%d%d”.&a. #include<stdio.a.Case Tools & Software Testing Lab IV B. Add them and after addition check if it is in the range of 100&200 or not.NALGONDA Page 6 .3 if…else a) Read the values of a. b.d).b.d). c through the keyboard.Tech I Sem (R09) Enter Numbers(0) Exit: 1 2 3 4 5 -5 -4 -8 Total Positive Numbers :5 Total Negative Numbers:3 Sum of Positive Numbers:15 Sum of Negative Numbers:-17 1.d. d=a+b+c.&b.c). printf(“Enter Three Numbers a b c”). } SRTIST.c.b.&c). Print separate message for each.

scanf(“%d”.d.h> #include<conio.&s). printf(“\n Enter a Number”).Case Tools & Software Testing Lab IV B. SRTIST. #include<stdio. clrscr().NALGONDA Page 7 .h> main() { int s.Tech I Sem (R09) OUTPUT: Enter Three numbers a b c:50 52 54 A=50 b=52 c=54 Sum is 156 which is in between 100 & 200 b) Write a program to calculate the square of those numbers only whose least significant digit is 5.

Months 5.4 switch a) Write a program to convert years into 1.Hours 3.Tech I Sem (R09) d=s%10.4.Case Tools & Software Testing Lab IV B.NALGONDA Page 8 .s*s++. SRTIST. if(d==5) { s=s/10.d*d).Minuts 2.Days. printf(“\n squere =%d%d”. } OUTPUT: Enter a Number:25 Squere=625 1. Seconds Using switch () statements. } else Printf(“\n Invalid Number”).

se=min*60. printf(“\n[3] DAYS”). printf(“\n[1]MINUTES”). clrrscr().h> #include<conio.Case Tools & Software Testing Lab IV B. Scanf(“%ld”. } mon=yrs*12. ds=mon*30. ds. printf(“\n[4] MONTHS”). scanf(“%ld”. min=hrs*60. hrs=ds*24. printf(“\n [2] HOURS”). hrs.&yrs).&ch). printf(“\n[0] EXIT”). mon. SRTIST.h> main () { long ch. min. printf(“\n[5] SECONDS”).NALGONDA Page 9 . se.Tech I Sem (R09) #include<stdio. yrs. printf(“\n Enter your choice”). if(ch>0&&ch<6) { Printf(“Enter years”).

break. break. case 5: printf(“\nseconds:%ld”.Case Tools & Software Testing Lab IV B. SRTIST.mon).se). break. case 0: printf(“\n terminated”). case 4: printf(“\n months:%ld”. break.Tech I Sem (R09) switch(ch) { case 1: printf(“\n minutes:%ld”. break.min).ds).NALGONDA Page 10 . break. case 2: printf(“\n hours:%ld”. case 3: printf(“\n days:%ld”.hrs).

5 for a) Write a program to display numbers from 1 to 16.h> #include<conio.Use Incrementation operation in the body of the loop for more than once.NALGONDA Page 11 . } getch().Tech I Sem (R09) default: printf(\n invalid choice”). } OUTPUT: [1]MINUTES [2]HOURS [3]DAYS [4]MONTHS [5]SECONDS [0]EXIT Enter your choice:4 Enter years:2 Months:24 1. #include<stdio.Case Tools & Software Testing Lab IV B.h> main() SRTIST.

NALGONDA Page 12 . printf(“%5d”. clrscr().”c). } Printf(“\n\n The body of the loop is executed for %d times. printf(“%5d”. } OUTPUT: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 The body of the loop is executed for 8 times.i). i=i+1. c=0. c++. for(i=0.i<=15.i).) { i++.Case Tools & Software Testing Lab IV B.Tech I Sem (R09) { int i. SRTIST.

&n).Case Tools & Software Testing Lab IV B.h> #include<conio.y=0. } Printf(“value of x=%f”.2)).i<=n.n. scanf(“%d”.NALGONDA Page 13 . clrscr().x). y=y+(1/pow(I.h> main() { int i. for(i=1.Tech I Sem (R09) b) Write a program to evaluate the series given in comments. printf(“Enter value of n”).i++) { x=x+(1/pow(I.3)). /*x=1/1+1/4+1/9…1/n2*/ /*y=1/1+1/8+1/27…1/n3*/ #include<stdio. SRTIST. float x=0.

SRTIST.b[5][5].sum=0.h> int main() { int a[5][5].2500 Value of y=1.Tech I Sem (R09) Printf(“\n value of y=%f”.o.k. } OUTPUT: Enter value of n: 2 Value of x=1.c[5][5]. printf("\nEnter the row and column of first matrix").12500 Experiment 2: 2. i.n.Case Tools & Software Testing Lab IV B.p.y).j.a. #include<stdio. getch().NALGONDA Page 14 . program written in c language for Matrix multiplication.m.

i++) for(j=0.&a[i][j]). printf("\nEnter the row and column of second matrix”). for(j=0.j++) scanf("%d". printf("\nEnter the Second matrix->").Case Tools & Software Testing Lab IV B.NALGONDA Page 15 .&n). printf("\nThe First matrix is\n").&m.&p).j<n.Tech I Sem (R09) scanf("%d %d".i++) for(j=0.i<o.i<m. if(n!=o) { printf("Matrix mutiplication is not possible”).a[i][j]).i<m.j++) scanf("%d". for(i=0. for(i=0.&b[i][j]). scanf("%d %d". SRTIST.&o.j<n.j++){ printf("%d\t".i++){ printf("\n").j<p. for(i=0. } Else { printf("\nEnter the First matrix->"). printf("\n Column of first matrix must be same as row of second matrix").

i<m.Tech I Sem (R09) } } printf("\nThe Second matrix is\n").j++) c[i][j]=0. for(i=0.k++) sum=sum+a[i][k]*b[k][j].k<n.j<p.j<p. } } SRTIST.i++) { //row of first matrix for(j=0.i++) { printf("\n").j++) { //column of second matrix sum=0. for(i=0.Case Tools & Software Testing Lab IV B.j<p. } } for(i=0.NALGONDA Page 16 . for(j=0. c[i][j]=sum.j++) { printf("%d\t". for(k=0.i++) for(j=0.i<o.i<m.b[i][j]).

n and r are any positive integer. for(i=0. Alogrithm: Multiplication of two matrixes: Rule: Multiplication of two matrixes is only possible if first matrix has size m X n and other matrix has size n x r.i++) { printf("\n").c[i][j]). Multiplication of two matrixes is defined as SRTIST. b. for(j=0.j<p.Case Tools & Software Testing Lab IV B.Tech I Sem (R09) } printf("\nThe multiplication of two matrix is\n"). A program written in c language for matrix multiplication fails “Introspect the causes for its failure and write down the possible reasons for its failure”.i<m. Where m. } } return 0. } 2.NALGONDA Page 17 .j++) { printf("%d\t".

Tech I Sem (R09) Where 1 ≤ i ≤ m and 1 ≤ j ≤ n For example: Suppose two matrixes A and B of size of 2 x 2 and 2 x 3 respectively: SRTIST.Case Tools & Software Testing Lab IV B.NALGONDA Page 18 .

There are several packages for service and payment. The purpose of the project is to demonstrate the application of software engineering in a practical scenario and to prove full understanding of the subject and its function and relevance. the problem is with the cellular service for pre-paid customers. However. This project aims to achieve that goal. Project Definition This project is aimed at creating an island wide computerized telephone call-time purchasing system in Jamaica for pre-paid cellular service. There are many Automated Teller Machines (ATM’s) all over Jamaica. They all accept credit and debit cards. for the period 2002-2004. Software Requirement Specification Report Purpose of Project This project is part of the requirement in completing the Software Engineering course. The system is aimed at making it possible to use any credit or debit card for the purchase of cellular telephone call-time. The most common of which is the pre-paid service. SRTIST. As a result.NALGONDA Page 19 .Case Tools & Software Testing Lab IV B. They are open and accessible 24 hours a day. Description of Existing System & Problems There are three major cellular telephone companies in Jamaica one of which offers land line service. which is a module in the Bachelor of Science degree program done at ASeT / EXED in Kingston. Jamaica. this technology can be utilized to make it easier to access credit for pre-paid cellular telephone calls.Tech I Sem (R09) Experiment 3: Take ATM system and study its system specifications and report the various bugs.

Scope of Project The project will utilize available resources and will not require the purchase of additional equipment. To make calls. Also. Each company installs an automated telephone service that. They should not be visually impaired and they should be able to read. The problem that arises is that places which sell phone cards are numerous but most are closed late at nights and on public holidays to include Sundays. The minimum credit will be the same as cards ($50) and have no maximum limit as opposed to cards. who have pre-paid packages and are capable of using an ATM. only purchase of advance talk-time. Telephone companies will benefit from the reduced costs.Case Tools & Software Testing Lab IV B. This project is based on utilizing present technologies of available ATM’s and making it possible for customers to gain credit anytime and anywhere there is an ATM by using a credit or debit card. No additional personnel will be required by the telephone companies or banks. When a customer attends an SRTIST. phone cards will be necessary. After this the customer can make calls until the credit expires. they will have to continue purchasing phone cards. However. Notwithstanding.Tech I Sem (R09) The pre-paid service is the most economical to consumers. Only available ATM’s will be used. For persons with credit or debit cards where ATM’s are accessible. credit often runs out. Talk-time credit will be subject to the same conditions as applicable to cards.NALGONDA Page 20 . which is a problem and inconvenience in emergencies. The project is not for bill payment. the customer has to purchase call-time in advance as opposed to making calls and paying a bill at the end of the month. this project will not eliminate but minimize the need for phone cards which is costly to produce. this system will eliminate the need for phone cards. This includes limited duration after purchase to utilize the credit. So. accepts a call. in areas where there is no ATM. The project is aimed at aiding cellular telephone owners. Cards have different monetary values. It allows a customer to own a telephone and can always receive calls free of any charge. To obtain credit each company produces a separate card. As a result people are forced to ensure they have credit in advance for these occasions. validates the id given and applies the appropriate credit to the customers account. for customers who do not have credit or debit cards. Each card has a unique id number.

No new interface will be setup ATM’s.NALGONDA Page 21 . Customers will be required to be in good standing with their banks and have sufficient funds to use the service successfully.Case Tools & Software Testing Lab IV B. only an additional item on the menu to purchase calltimer credit. Functional Requirements a) Pre-requisites For use of ATM • Activated credit/debit card with PIN (Personal Identification Number) • A bank a/c with sufficient funds if using debit card ($100 or more) • A cellular telephone with pre-paid service from a local provider b) Input Requirements • 7 digit telephone # • Dollar quantity of credit required • Telephone company name/id • Telephone company a/c # • Telephone # to call respective phone company c) Output Requirements • Transfer of correct sum from customers’ a/c to Telephone company’s a/c • Transaction receipt • Credit automatically added to customers’ phone a/c d) Procedure (Operation of System) • Use appropriate card at ATM to access system • Select option of ‘Phone Credit’ from main menu • Select a/c to use depending on type of card • Select phone company from list SRTIST. No experience. training or change in procedures will be required. time and money can be saved by performing telephone transactions at the same time and place. One will only need to follow the instructions as with other transactions.Tech I Sem (R09) ATM for other transactions.

The system will automate a transfer of funds from customers’ to phone company’s a/c. minor additions will be made to accommodate the phone service. Non-Functional Requirements a) Developmental Constraints The system will depend on the existing banking services provided at ATM’s. The system will check balance of the customers’ a/c for sufficient funds. which for economy must exceed tax and charges. Customers must make a minimum purchase ($50). It involves being limited to the interface of ATM’s in terms of screen size. It is not for bill payment for calls already made. option buttons. SRTIST.NALGONDA Page 22 . A minimum sum is required but no maximum or increments.Case Tools & Software Testing Lab IV B. • Production of receipt will signal end of transaction. The system of the phone companies must also be configured to accept the transactions by adding the time paid for to respective telephone accounts. • Appropriate error messages where applicable. Permission must also be granted by these entities. telephone companies and call-time purchasing must be integrated to work. The system will call the phone company and check its db to verify the validity of the given phone number and a/c type. c) Data Constraint Most data requirement will be built-in.Tech I Sem (R09) • Enter customer telephone #. Only telephone # and a dollar amount in figures will be required as input by the customer. It will be restricted to pre-paid customers because that is where the problem is confined. The systems of the banks. The telephone companies must have accounts for transfers to be made. The user interface will have to be consistent with that of the banks. locations and working with the systems of the bank and telephone companies. However. b) Constraint on Services The only service the system will provide is that of call-time. which will be subject to validation. • Enter credit amount required.

Case Tools & Software Testing Lab

IV B.Tech I Sem (R09)

d) Time Constraint The system is confined to be completed in less than 2 months. The team only had a part of each weekend to develop the project. A schedule was worked out and described in the schedule feasibility. Teams were also small, which made it even more challenging. This team only has to persons.

System Design Architecture of Application

Customer Input data, get receipt & credit ATM Verify a/c, update a/c DB


Phone Co.

DB Verify Ph. #, assign credit


Page 23

Case Tools & Software Testing Lab

IV B.Tech I Sem (R09)

Dataflow Diagram


Visu al displ ay confi rm

Bank ATM Services Select Ph. Co. Enter Ph. # Select a/c Enter $ amt.

Check customer a/c bal.

Update customer bank bal.

Verify Ph. #

Update customer Credit a/c

Transaction receipt

Tables Customer

Card# phone#

phone id

Phone Co.
Phone id name

a/c # bank name Page 24


Case Tools & Software Testing Lab

IV B.Tech I Sem (R09)

Customer card# PIN bank id

Phone # bal. owner name time

Name card id

Name a/c #


Phone# has Belongs to Phone Co

Customer performs has


Bank Belongs to




Unique Ph. id



Data Dictionary Entity Field Type Data Type Relationship Integrity Description


Page 25

Case Tools & Software Testing Lab IV B. Co ‘’ Developer a/c# bank name Primary Foreign integer string ‘’ 1:M NN ‘’ ‘’ Assigned by bank Chosen develop. Ph id # Name primary Alphanum. ‘’ A/c Owner name a/c # Foreign Primary String integer 1:M NN NN Ass.NALGONDA Page 26 . At creation by SRTIST.Tech I Sem (R09) Customer Name Card# a/c# phone# PIN Primary Foreign Foreign Foreign foreign Integer ‘’ ‘’ ‘’ ‘’ 1:M Not NN NN NN NN ‘’ bank Assigned by bank “ Ph Co Null chosen by custom Ph. Co. string 1:M NN NN Chosen by ph.

Case Tools & Software Testing Lab IV B. Card Card# a/c# PIN Primary Foreign primary Integer ‘’ ‘’ 1:M NN ‘’ ‘’ Gen. Co. By customer Bank Name Card id# Primary foreign String Integer 1:M NN NN Gen. By ph. by bank Chosen by bank Ass. Primary foreign Integer String time 1:M NN NN Unlimited Adopted owner by Ass. by ph. by bank Ass.Tech I Sem (R09) Generated bank Phone Phone # Owner name Time bal. By bank SRTIST. from Gen.NALGONDA Page 27 . Co.

Case Tools & Software Testing Lab IV B. Input phone # A SRTIST.Tech I Sem (R09) start B end no yes end D Input card & PIN at ATM Select phone option Select phone Co.NALGONDA Page 28 .

NALGONDA Page 29 . Access customer a/c from bank’s db yes C no Is sufficient funds in a/c SRTIST. db no Is Ph. Sys. # valid Error messag e B yes no Is card a debit card yes Select a/c Input $ amt.Case Tools & Software Testing Lab IV B.Tech I Sem (R09) A Dial unique ph. id for company Access ph.

unique # C Access ph. Sys. Co. db Update customer call-credit Access a/c of ph.NALGONDA Page 30 . Co.Tech I Sem (R09) Dial ph.Case Tools & Software Testing Lab IV B. and update a/c Access a/c of developer and update a/c Inform user of a/c phone calltime update D Print receipt SRTIST.

Case Tools & Software Testing Lab IV B. Integration Testing How the system works with that of the banks and phone companies will be put to rigorous testing. SRTIST. crash or errors. The logics must be free of fault. The rationale is that the ATM’s of different banks integrate by using the online concept. White box Testing The logics of the system will be put to the full test. It must be fast and produce good error messages where applicable.Tech I Sem (R09) Prototype Testing Black box Testing The system will be tested independently of the developers using all possible data values (valid and invalid) to ensure that the correct results are obtained at all times. Since the ATM’s are already networked via telephone lines then a simple phone call from the ATM to a phone company can access their system and db. There should be no undue delay. Any logical or system error which was undetected before must be ironed out at this last stage. There should be no way that the system can be manipulated by anyone.NALGONDA Page 31 . The software must work as expected with each of the other systems. The software must integrate and interact with the other systems as desired. Feasibility Study Report Technical Feasibility The main technical issue is how the system will contact the telephone companies to access their db. System Testing The entire system when integrated must be harmonious and produce the desired results. The system can not be allowed to do anything undesirable because a lot of money can be lost.

verify given telephone number and update a customer call-time credit. It is a win situation for all concerned and is not expected to be refused as the economic gains can be significant. The experience of this development team is sufficient proof that customers are experiencing difficulties obtaining cards at nights and public holidays to include Sundays. at practically no cost. which is fair. Implementation Plan • Arrange with bank to conduct system test to ensure that integration is smooth. The developers will also earn per transaction. • • There is no db to implement. The banks will receive payment for the use of their machines and system. This system stands to benefit the phone companies significantly. Training schedule will be prepared for bank and telephone companies. then only minor modifications are required to both systems. The phone companies already have the technical expertise to upgrade their system and the development team is sufficiently skilled. The system is not complex and is a minor addition to existing systems. Train internal users at bank and phone companies as to how the system works. The phone company will be required to accept a call with special parameters. • Prepare conversion plan: To stay on the side of caution the smallest bank will be selected and the system implemented ‘cold turkey’ method because of its simplicity. there is no way they will refuse. The system will be constantly monitored over its infancy.Tech I Sem (R09) Providing the banks and phone companies agree. Operational Feasibility Anything that will make life more comfortable is worth pursuing. The software will have to be implemented on the banks h/w and be an integral part of its ATM software which is already in place. This is a day when the machines are least used. First a Sunday will be chosen to do acceptance testing. and in addition to its present checks update bank and developer a/c. The likely problems that may occur.NALGONDA Page 32 . The db of the bank and phone company is all that is needed. The banks system must include an option for phone transaction. The SRTIST. Actions in case of problems and complaints. If they can make more sales during slow periods.Case Tools & Software Testing Lab IV B.

All bank staff must be made acquainted so this will take some time and based on the number of banks seminars over a 2 months period will be implemented. Experiment 4: Write the test cases for any known application Initial Functional Test Cases for ATM System SRTIST. Conclusion & Recommendation From the feasibility studies carried out it is conclusive that the project is feasible and will be economically viable. • Execute implementation plan in the order of training.Case Tools & Software Testing Lab IV B.NALGONDA Page 33 . acceptance testing. Training will be limited as there will be no significant change to the system in place.Tech I Sem (R09) developers are the owners of the system and will be on call to rectify faults. As a result it is the recommendation of this development team that the system can be completed and implemented. All parties involved including the customers stand to benefit. but to explain how the various accounts will be updated automatically and how to interpret these information for customers. ‘cold turkey’ execution and maintenance.

Tech I Sem (R09) The following initial test cases can be identified early in the design process as a vehicle for checking that the implementation is basically correct.NALGONDA . System reads a Insert a readable not servicing a System asks for entry of customer's ATM card card customer PIN Card is ejected. including all possible errors and boundary cases. not as a substitute for them. Here. Use Case System Startup System Startup System Startup System Shutdown System Shutdown Function Being Initial System Input Expected Output Tested State System is started Activate the "on" System requests initial when the switch is System is off switch cash amount turned "on" System is System accepts initial Enter a legitimate requesting cash System is on cash amount amount amount System output should Connection to the System has just Perform a legitimate demonstrate that a bank is established been turned on inquiry transaction connection has been established to the Bank System is shut down System is on and Activate the "off" when the switch is not servicing a System is off switch turned "off" customer Connection to the Verify from the bank Bank is terminated System has just side that a connection to when the system is been shut down the ATM no longer shut down exists System is on and Card is accepted. That needs to come later. No attempt has been made at this point to do thorough testing. Some writers would argue for developing test cases like these in place of use cases. These cases represent an initial check that the functionality specified by the use cases is present.Case Tools & Software Testing Lab IV B. they are presented as a vehicle for "fleshing out" the use cases. System is on and System displays an System rejects an Insert an unreadable not servicing a error screen. unreadable card card customer System is ready to start a new session System accepts System is asking System displays a menu Enter a PIN customer's PIN for entry of PIN of transaction types System allows System is System asks whether Perform a customer to perform a displaying menu of customer wants another transaction transaction transaction types transaction System allows System is asking Answer yes System displays a menu multiple transactions whether customer of transaction types in one session wants another Page 34 Session Session Session Session Session SRTIST.

System prints a correct Choose an amount System is receipt showing amount that the system System performs a displaying the and correct updated currently has and legitimate withdrawal menu of balance.Case Tools & Software Testing Lab IV B.NALGONDA . which is not greater transaction properly withdrawal System records than the account amounts transaction correctly in balance the log (showing both message to the bank and approval back) System has been started up with less System displays an System verifies that it than the maximum Choose an amount appropriate message has sufficient cash on withdrawal amount greater than what and asks customer to hand to fulfill the in cash on hand.Tech I Sem (R09) Use Case System Startup Session Transaction Transaction Withdrawal Withdrawal Withdrawal Withdrawal Withdrawal Function Being Initial System Input Expected Output Tested State System is started Activate the "on" System requests initial when the switch is System is off switch cash amount turned "on" transaction Session ends when System is asking System ejects card and customer chooses not whether customer Answer no is ready to start a new to do another wants another session transaction transaction Individual types of transaction will be tested below Enter an incorrect System handles an A readable card PIN and then The Invalid PIN invalid PIN properly has been entered attempt a Extension is performed transaction System asks customer Menu of Choose Withdrawal System displays a menu to choose an account transaction types is transaction of account types to withdraw from being displayed System asks customer Menu of account System displays a menu Choose checking to choose a dollar types is being of possible withdrawal account amount to withdraw displayed amounts System dispenses this amount of cash. the system currently choose a different request System is has amount requesting a withdrawal amount System verifies that System is Choose an amount System displays an Page 35 SRTIST.

and Use Case SRTIST.Case Tools & Software Testing Lab IV B. System asks customer Menu of Choose Deposit System displays a menu Deposit to choose an account transaction types is transaction of account types to deposit to being displayed System asks customer Menu of account System displays a Choose checking Deposit to enter a dollar types is being request for the customer account amount to deposit displayed to type a dollar amount System is displaying a System requests that System asks customer Enter a legitimate Deposit request for the customer insert an to insert an envelope dollar amount customer to type a envelope dollar amount Deposit System performs a System is Insert an envelope System accepts legitimate deposit requesting that envelope.NALGONDA Page 36 . transaction properly customer insert an System prints a correct envelope receipt showing amount and correct updated balance. A withdrawal System displays an transaction can be appropriate message System is cancelled by the and offers customer the Withdrawal displaying menu of Press "Cancel" key customer any time option of choosing to do account types prior to choosing the another transaction or dollar amount not. approval back. System records transaction correctly in the log (showing message to the bank.Tech I Sem (R09) Function Being Initial System Input Expected Output Tested State System is started System Activate the "on" System requests initial when the switch is System is off Startup switch cash amount turned "on" that the system appropriate message customer's balance is requesting a currently has but and offers customer the sufficient to fulfill the withdrawal which is greater option of choosing to do request ammount than the account another transaction or balance not. A withdrawal System displays an transaction can be appropriate message System is cancelled by the and offers customer the Withdrawal displaying menu of Press "Cancel" key customer any time option of choosing to do dollar amounts prior to choosing the another transaction or dollar amount not.

NALGONDA . A deposit transaction System displays an is cancelled System is appropriate message automatically if an requesting Wait for the request and offers customer the envelope is not customer to insert to time out option of choosing to do inserted within a an envelope another transaction or reasonable time not. System asks customer Menu of System displays a menu Choose Transfer to choose an account transaction types is of account types transaction to transfer from being displayed specifying transfer from Menu of account System asks customer System displays a menu types to transfer Choose checking to choose an account of account types from is being account to transfer to specifying transfer to displayed System asks customer Menu of account System displays a Choose savings to enter a dollar types to transfer to request for the customer account amount to transfer is being displayed to type a dollar amount System performs a System is Enter a legitimate System prints a correct legitimate transfer displaying a dollar amount receipt showing amount Page 37 SRTIST. System displays an A deposit transaction System is appropriate message can be cancelled by requesting and offers customer the the customer any time Press "Cancel" key customer to insert option of choosing to do prior to inserting an an envelope another transaction or envelope not. System displays an A deposit transaction System is appropriate message can be cancelled by requesting and offers customer the the customer any time Press "Cancel" key customer to enter a option of choosing to do prior to inserting an dollar amount another transaction or envelope not.Case Tools & Software Testing Lab IV B.Tech I Sem (R09) Use Case System Startup Deposit Deposit Deposit Deposit Transfer Transfer Transfer Transfer Function Being Initial System Input Expected Output Tested State System is started Activate the "on" System requests initial when the switch is System is off switch cash amount turned "on" acceptance of the envelope) System displays an A deposit transaction appropriate message can be cancelled by System is and offers customer the the customer any time displaying menu of Press "Cancel" key option of choosing to do prior to inserting an account types another transaction or envelope not.

System displays an A transfer transaction System is appropriate message can be cancelled by displaying menu of and offers customer the the customer any time account types Press "Cancel" key option of choosing to do prior to entering dollar specifying transfer another transaction or amount to not.NALGONDA . System performs a System is Choose checking System records legitimate inquiry displaying menu of account transaction correctly in transaction properly account types the log (showing both message to the bank and approval back) An inquiry transaction System is Press "Cancel" key System displays an can be cancelled by displaying menu of appropriate message the customer any time account types and offers customer the Page 38 SRTIST. System displays an A transfer transaction System is appropriate message can be cancelled by requesting and offers customer the the customer any time Press "Cancel" key customer to enter a option of choosing to do prior to entering dollar dollar amount another transaction or amount not.Tech I Sem (R09) Use Case System Startup Transfer Transfer Transfer Inquiry Inquiry Inquiry Function Being Initial System Input Expected Output Tested State System is started Activate the "on" System requests initial when the switch is System is off switch cash amount turned "on" and correct updated balance. request for the System records transaction properly customer to type a transaction correctly in dollar amount the log (showing both message to the bank and approval back) System displays an A transfer transaction System is appropriate message can be cancelled by displaying menu of and offers customer the the customer any time account types Press "Cancel" key option of choosing to do prior to entering dollar specifying transfer another transaction or amount from not.Case Tools & Software Testing Lab IV B. System asks customer Menu of Choose Inquiry System displays a menu to choose an account transaction types is transaction of account types to inquire about being displayed System prints a correct receipt showing correct balance.

Enter an incorrect PIN. Invalid PIN Customer is asked to Attempt an inquiry Customer is asked to reExtension reenter PIN transaction on the enter PIN customer's checking account Request to re-enter Invalid PIN Correct re-entry of Original transaction PIN is being Enter correct PIN Extension PIN is accepted completes successfully displayed An incorrect PIN A correctly re-entered has been re-entered This transaction Invalid PIN PIN is used for Perform another and transaction completes successfully Extension subsequent transaction completed as well transactions normally An appropriate message Request to re-enter Invalid PIN Incorrect re-entry of is displayed and rePIN is being Enter incorrect PIN Extension PIN is not accepted entry of the PIN is again displayed requested Enter incorrect PIN Correct re-entry of Request to re-enter Invalid PIN the first time.NALGONDA Page 39 .Tech I Sem (R09) Function Being Initial System Input Expected Output Tested State System is started System Activate the "on" System requests initial when the switch is System is off Startup switch cash amount turned "on" option of choosing to do prior to choosing an another transaction or account not. aborting transaction Session is terminated Use Case SRTIST. then Original transaction PIN on the second try PIN is being Extension correct PIN the completes successfully is accepted displayed second time Enter incorrect PIN Correct re-entry of Request to re-enter the first time and Invalid PIN Original transaction PIN on the third try is PIN is being second times. then Extension completes successfully accepted displayed correct PIN the third time An appropriate message Three incorrect reRequest to re-enter is displayed. Invalid PIN entries of PIN result in Enter incorrect PIN PIN is being Card is retained by Extension retaining card and three times displayed machine.Case Tools & Software Testing Lab IV B.

The system would provide basic set of features to add/update clients.Case Tools & Software Testing Lab IV B.1. Background The Library Management System is an online application for assisting a librarian in managing a book library in a University.NALGONDA Page 40 .Tech I Sem (R09) Experiment 5: Create a test plan document for Library Management system 5. SRTIST. Our test group tested the system based on the requirement specification. add/update books. and manage check-in / checkout processes. search for books.

it would not appear in further search queries.2.3. When no books issued by user.2 Database test Pass criteria: Results of all basic and advanced operations are normal (refer to section 4) Result: pass 5.3. 5.5 Update/delete student Pass criteria: • • • The record would be selected using the student ID Updates can be made on full. Items only: Name. Phone number The record can be deleted if there are no books issued by user.3. Address. Name. • The updated values would be reflected if the same customer's ID/SSN is called for.NALGONDA . Page 41 SRTIST.3 Basic function test 5. Result: pass • If customer were deleted.3. It mainly focuses on two problems: what we will test and how we will test. But when there are books Issued by this user. he can be deleted.3. he was also deleted. It is wrong. Address and Phone number.Tech I Sem (R09) 5. Result: pass • four attributes.1 GUI test Pass criteria: librarians could use this GUI to interface with the backend library database without any difficulties Result: pass 5. Result 5. The retrieved customer information by viewing customer detail should contain the Result: pass Result: pass Result: Partially pass. Introduction This test report is the result for testing in the LMS.3. Result: pass 5.4 Add a student Pass criteria: • Each customer/student should have following attributes: Student ID/SSN (unique).Case Tools & Software Testing Lab IV B.

When no user has issued it. Author name Result: pass • The book can be deleted only if no user has issued it.NALGONDA . When there are user having issued it.3. ISBN. Author Result: pass • The display would also provide the number of copies which is available for issue Page 42 SRTIST. Can not retrive using the call number • The data items which can be updated are: ISBN. Title. Title. which match the search parameters with following Details: Call number. ISBN number.8 Search for book Pass criteria: • The product shall let Librarian query books’ detail information by their ISBN number or Author or Title.3. it would not appear in further search queries. Result: did not pass. pass.Tech I Sem (R09) Result: pass 5. Title.6 Add a book Pass criteria: • Result: pass • Result: pass 5. Each book shall have following attributes: Call Number. Result: pass • The search results would produce a list of books.Case Tools & Software Testing Lab IV B.7 Update/delete book Pass criteria: • The book item can be retrieved using the call number The retrieved book information should contain the four attributes. did not pass • The updated values would be reflected if the same call number is called for Result: pass • If book were deleted. Result: pass 5.3. Author name. Result: partially pass.

Case Tools & Software Testing Lab IV B. Result: pass • A book may have more than one copy. Result: did not pass. with the borrower’s information. Result: did not pass • A book.3. Result: pass • The return date would automatically reflect the current system date.NALGONDA . which has been checked in once. Result: pass • The borrower’s list should agree with the data in students’ account Result: pass 5. But every copy with the same ISBN number should have same detail information. Result: pass • The user can perform multiple searches before finally selecting a set of books for check in or checkout.10 Check-out book Pass criteria: • Librarians can check out a book using its call number Page 43 SRTIST. Result: pass • The search display will be restricted to 20 results per page and there would be means to navigate from sets of search results. These should be stored across searches.Tech I Sem (R09) Result: pass • The display shall provide a means to select one or more rows to a user-list Result: pass • A detailed view of each book should provide information about check-in/check out status. • Any late fees would be computed as difference between due date and return date at rate of 10 cents a day.3. should not be checked in again Result: pass 5.9 Check-in book Pass criteria: • Librarians can check in a book using its call number Result: pass • The check-in can be initiated from a previous search operation where user has selected a set of books.

The system should not allow checkout of books beyond this limit. If book is checked out it would display. should not be checked out again Result: did not pass Result: pass • The details to be displayed are: Call number. Result: pass • The student ID who is issuing the book would be entered Result: pass • The issue date would automatically reflect the current system date. Due date Result: for checkout date and due date.12 View student detail Pass criteria: • Librarians can select a user record for detailed view Result: pass • The detail view should show: Page 44 SRTIST. Title.NALGONDA .Tech I Sem (R09) Result: pass • The checkout can be initiated from a previous search operation where user has selected a set of books. which has been checked out once. A book. Issue status (In library or checked out).3. User ID & Name.11 View book detail Pass criteria: • This view would display details about a selected book from search operation The due date would automatically be stamped as 5 days from current date. Result: pass Result: pass 5. did not pass • • Books checked in should not display user summary Books checked out should display correct user details.Case Tools & Software Testing Lab IV B. Checkout date. No of books that can be issued to a customer would be 10. Result: pass 5. IBN. Author. Result: did not pass • • Result: pass • A student who has books due should not be allowed to check out any books Result: did not pass • The max.3.

unit testing.5 RESOURCES 5.NALGONDA Page 45 . Late fees & Fines summary and total Result: did not pass • Result: pass • Result: pass • Result: pass 5. because no enough machines and no available envirenment. call number.13 Network test Pass criteria: Results of operations (ping. even integrity testing) 5.4.4. The books checked out should have their statuses marked The display should match existing user profile 5. Address & Phone number Result: pass b.1 Developers of the system are involved in testing process (debugging.1 Hardware: Core2Duo 5. ID. title Result: did not pass c.2 Users of the system are involved in testing process (integrity testing) Experiment 6: Study of Any Testing Tool (Win Runner) Win Runner is a program that is responsible for the automated testing of software. Importance of Automated Testing: SRTIST. The book search query should show the user id correctly.Tech I Sem (R09) a.User name.5. ftp and ODBC connectivity check) are normal Result: did not test this item.4 ENVIRONMENTAL used 5. The books issued by user with issue date. Win Runner is a Mercury Interactive’s enterprise functional testing tool for Microsoft windows applications. due date.Case Tools & Software Testing Lab IV B.5.2 Software: Microsoft Windows XP 5.3.

Case Tools & Software Testing Lab IV B. this interaction can be recorded. 7. and buttons). Win Runner writes a unique description of each selected object to a GUI map. With Win Runner sophisticated automated tests can be created and run on an application. Win Runner Uses: 1. Win Runner will test the computer program in a way that is very similar to normal user interactions. When the user makes an interaction with the GUI. A series of wizards will be provided to the user. 4. or Test Script Language. Win Runner will provide with detailed information regarding the results. For doing tedious work – test team members can focus on quality areas. The good news about these tests is that they can be reused many times.NALGONDA Page 46 . a TSL statement describing the object selected and the action performed is generated in the test script. This is important. The goal of Win Runner is to make sure business processes are properly carried out. 5. It will show the errors that were found. As you record. Improved testing productivity – test suites can be run earlier and more often 5. Win Runner is designed for testing graphical user interfaces. Every time you perform an operation on the application being tested. and these wizards can create tests in an automated manner. 6. and this will allow the tests to be completed without errors. while ignoring the physical location of the object on the screen. Consistent test procedures – ensure process repeatability and resource independence. WinRunner uses TSL. the Recover manager will troubleshoot any problems that may occur. Recording the interactions allows to determining various bugs that need to be fixed. 3. Even if an engineer is not physically present. and it will also give important information about them. because it ensures a high level of accuracy and realism. Proof of adequate testing 6. The Recover Manager is a powerful tool that can assist users with various scenarios.Tech I Sem (R09) 1. Reduces QA cost – Upfront cost of automated testing is easily recovered over the lifetime of the product 4. and transform them into scripts. This is important. Reduced testing time 2. 2. SRTIST. Eliminates errors of manual testing 3. When the test is completed. lists. Another impressive aspect of Win Runner is the ability to record various interactions. especially when important data needs to be recovered. Win Runner Testing Modes Context Sensitive Context Sensitive mode records your actions on the application being tested in terms of the GUI objects you select (such as windows.

If the user interface of your application changes. It can locate objects in a window even if their placement has changed. Win Runner emulates a user by moving the mouse pointer over your application. selecting objects.Tech I Sem (R09) The GUI map consists of files maintained separately from your test scripts. Debug Tests SRTIST. Win Runner reads the object descriptions in the GUI map and then searches in the application being tested for objects matching these descriptions. 2. you simply play back the test script. The Win Runner Testing Process Testing with Win Runner involves six main stages: 1. While recording tests. insert checkpoints where we want to check the response of the application being tested. Alternatively. We can insert checkpoints that check GUI objects. Win Runner captures data and saves it as expected results—the expected response of the application being tested. or a combination of both. Use Analog mode when exact mouse coordinates are important to your test.and y-coordinates traveled by the mouse. This allows you to easily reuse your Context Sensitive test scripts on future versions of your application. Create the GUI Map The first stage is to create the GUI map so Win Runner can recognize the GUI objects in the application being tested. Win Runner retraces the mouse tracks. keyboard input. and databases. To run a test. such as when testing a drawing application. you can add descriptions of individual objects to the GUI map by clicking objects while recording a test. bitmaps. Analog Analog mode records mouse clicks. Create Tests Next is creation of test scripts by recording. 3. programming. instead of hundreds of tests. and the exact x.Case Tools & Software Testing Lab IV B. you have to update only the GUI map.NALGONDA Page 47 . When the test is run. Use the Rapid Test Script wizard to review the user interface of your application and systematically add descriptions of every GUI object to the GUI map. and entering keyboard input. During this process.

When Win Runner runs a test. you should familiarize yourself with the WinRunner main window. We can view results in the standard Win Runner report view or in the Unified report view. and control how tests are run to identify and isolate defects. or user messages. SRTIST. 5. While. one can report information about the defect directly from the Test Results window. 6. one can also view a bitmap that displays only the difference between the expected and actual results. Test results are saved in the debug folder. We can use the Syntax Check options (Tools >Syntax Check) to check for these types of syntax errors before running your test. who tracks the defect until it is fixed. The report details all the major events that occurred during the run. Report Defects If a test run fails due to a defect in the application being tested. Win Runner displays the results in a report. Win Runner captures them as actual results. If any mismatches are found. 4.Case Tools & Software Testing Lab IV B. like incorrect syntax or missing elements in If. View Results Following each test run. Using Win runner Window Before you begin creating tests. Run Tests Tests can be run in Verify mode to test the application.Tech I Sem (R09) Rerun tests in Debug mode to make sure they run smoothly. The Win Runner report view displays the test results in a Windows-style viewer. The Unified report view displays the results in an HTML-style viewer (identical to the style used for Quick Test Professional test results). This information is sent via e-mail to the quality assurance manager. monitor variables. Switch. One can set breakpoints. system messages. we can view the expected results and the actual results from the Test Results window. If mismatches are detected at checkpoints during the test run. which can be discarded once debugging is finished. In cases of bitmap mismatches. Each time Win Runner Encounters a checkpoint in the test script. error messages. such as checkpoints. and For statements.NALGONDA Page 48 . it compares the current data of the application being tested to the expected data captured earlier. it checks each script line for basic syntax errors.

with drop-down menus of Win Runner commands Standard toolbar. or view an overview of Win Runner in your default browser. For more information. such as opening. You choose to add or remove buttons using the Settings > Customize User Toolbar menu option. By default. choose Settings > General Options. When you re-open Win Runner. The User toolbar is customizable. click the Environment tab. SRTIST.NALGONDA Page 49 . the line number of the insertion point and the name of the current results folder The Standard toolbar provides easy access to frequently performed tasks. When you create tests. with buttons of commands commonly used when running a test User toolbar. The Main Win Runner Window The main Win Runner window contains the following key elements: • • • • • Win Runner title bar Menu bar. executing.Tech I Sem (R09) To start Win Runner: Choose Programs > Win Runner > Win Runner on the Start menu. choose Window > User Toolbar. the Welcome to Win Runner window and the “What’s New in Win Runner” help open. with information on the current command. The commands on the Standard toolbar and the User toolbar are described in detail in subsequent lessons. and saving tests.Case Tools & Software Testing Lab IV B. To show the Welcome to Win Runner window upon startup from within Win Runner. clear the Show on Startup check box. The first time you start Win Runner. If you do not want this window to appear the next time you start Win Runner. you can minimize the Win Runner window and work exclusively from the toolbar. the User toolbar appears as it was when you last closed it. Note that you can also execute many commands using soft keys. open an existing test. the User toolbar is hidden. and viewing test results. Soft keys are keyboard shortcuts for carrying out menu commands. To display the User toolbar. From the Welcome window you can create a new test. see the “Win Runner at a Glance” chapter in your Win Runner User’s Guide. You can configure the soft key combinations for your keyboard using the Soft key Configuration utility in your Win Runner program group. and select the Show Welcome screen check box. Standard Toolbar The User toolbar displays the tools you frequently use to create test scripts. with commands commonly used while creating a test Status bar.

which indicates where you can insert or edit text Experiment 7: Study of any web testing tool (e. which indicates the line of the test script being executed during a test run. Selenium provides a rich set of testing functions specifically geared to the needs of testing of a web application.Case Tools & Software Testing Lab IV B. take a few minutes to explore these window components before proceeding to the next lesson. Mercury Interactive’s Test Script Language Execution arrow.NALGONDA Page 50 . with the name of the open test Test script. It contains the following key elements: • • • • Test window title bar. Selenium) Selenium is a robust set of tools that supports rapid development of test automation for web-based applications. SRTIST. with statements generated by recording and/or programming in TSL.Tech I Sem (R09) Now that you are familiar with the main Win Runner window.g. or the line that will next run if you select the Run from arrow option Insertion point. The Test Window You create and run Win Runner tests in the test window. allowing many options for locating UI elements and comparing expected test results against actual application behavior. One of Selenium’s key features is the support for executing one’s tests on multiple browser platforms. These operations are highly flexible.

and Ruby. It operates as a Firefox add-on and provides an easy-to-use interface for developing and running individual test cases or entire test suites. This ability to use SeleniumRC with a high-level programming language to develop test cases also allows the automated testing to be integrated with a project’s automated build environment. SRTIST.Case Tools & Software Testing Lab IV B. which will keep account of user actions as they are performed and store them as a reusable script to play back. When tests are sent to the hub they are then redirected to an available SeleniumRC. Selenium-RC provides an API (Application Programming Interface) and library for each of its supported languages: HTML. and if the automated test program needs to run tests on each element in the result set. PHP. tests created in it can also be run against other browsers by using Selenium-RC and specifying the name of the test suite on the command line. with the entire test suite theoretically taking only as long to run as the longest individual test.Tech I Sem (R09) Selenium Components Selenium is composed of three major tools. This allows for running tests in parallel. Selenium-IDE Selenium-IDE is the Integrated Development Environment for building Selenium test cases. * Tests developed on Firefox via Selenium-IDE can be executed on any other supported browser via a simple Selenium-RC command line. It also has a context menu (right-click) integrated with the Firefox browser. Each of these when launching register with a hub. multiple instances of Selenium-RC are running on various operating system and browser configurations. Selenium-IDE also offers full editing of test cases for more precision and control. Selenium-Grid Selenium-Grid allows the Selenium-RC solution to scale for large test suites or test suites that must be run in multiple environments. which allows the user to pick from a list of assertions and verifications for the selected location. Selenium-RC (Remote Control) Selenium-RC allows the test automation developer to use a programming language for maximum flexibility and extensibility in developing test logic. Although Selenium-IDE is a Firefox only add-on. Selenium-IDE has a recording feature. With Selenium-Grid. if the application under test returns a result set. the programming language’s iteration support can be used to iterate through the result set. For instance. which will launch the browser and run the test. calling Selenium commands to run tests on each item.NALGONDA Page 51 . Python. C#. Java. Each one has a specific role in aiding the development of web application test automation. Perl.

/SearchValues. Selenium-IDE allows for the addition of user-defined “user-extensions” for creating additional commands customized to the user’s needs. This is. it is possible to re-configure how the Selenium-IDE generates its Selenium-RC code. An HTML table defines a list of tests where each row defines the filesystem path to each test. test suites also can be defined using a simple HTML file. but depending on browser security settings there may be technical limitations that would limit certain features./Login. This allows users to customize the generated code to fit in with their own test frameworks. An example tells it all. When using Selenium-IDE. Also.Test Suites A test suite is a collection of tests. <html> <head> <title>Test Suite Function Tests – Priority 1</title> </head> <body> <table> <tr><td><b>Suite Of Tests</b></td></tr> <tr><td><a href=”. perhaps. Finally.NALGONDA Page 52 .Case Tools & Software Testing Lab IV B. .html”>Test Save</a></td></tr> </table> </body> SRTIST. There are multiple ways in which one can add functionality to Selenium’s framework to customize test automation for one’s specific testing needs. The syntax again is simple.html”>Login</a></td></tr> <tr><td><a href=”. Selenium’s strongest characteristic when compared with proprietary test automation tools and other open source solutions.html”>Test Searching for Values</a></td></tr> <tr><td><a href=”. Often one will run all the tests in a test suite as one continuous batch-job. Flexibility and Extensibility Selenium is highly flexible./SaveValues. Selenium-RC support for multiple programming and scripting languages allows the test writer to build any logic they need into their automated testing and to use a preferred programming or scripting language of one’s choice.Tech I Sem (R09) ** Selenium-RC server can start any executable. Selenium is an Open Source project where code can be modified and enhancements can be submitted for contribution.

Commonly Junit is used to maintain a test suite if one is using SeleniumRC with Java. Bugzilla essentially comes to the rescue of a group of people working together on a product as it enables them to view current bugs and make contributions to resolve issues. Its basic repository nature works out better than the mailing list concept and an organized database is always easier to work with. is present on the page. and optionally waits for a new page to load. if C# is the chosen language. Advantage of Using Bugzilla: automatically SRTIST. Open – opens a page using a URL. Multiple users can access this database and query.Case Tools & Software Testing Lab IV B. Test suites can also be maintained when using Selenium-RC. Click/clickAndWait – performs a click operation. VerifyElementPresent – verifies an expected UI element. Experiment 8: Study of Any Bug Tracking Tool (Bugzilla) Bugzilla is a “Bug Tracking System” that can efficiently keep track of outstanding bugs in a product.NALGONDA Page 53 . If using an interpreted language like Python with Selenium-RC than some simple programming would be involved in setting up a test suite. This is done via programming and can be done a number of ways. VerifyTextPresent – verifies expected text is somewhere on the page. add and manage these bugs. from the SeleniumIDE. Few typical Selenium commands. Verify Title/assert Title – verifies an expected page title. Verify Table – verifies a table’s expected contents. Additionally. WaitForPageToLoad – pauses execution until an expected new page loads. Nunit could be employed. Called when clickAndWait is used. Since the whole reason for using Sel-RC is to make use of programming logic for your testing this usually isn’t a problem.Tech I Sem (R09) </html> A file similar to this would allow running the tests all at once. one after another. as defined by its HTML tag. Verify Text – verifies expected text and it’s corresponding HTML tag are present on the page.

The bugzilla utility basically allows to do the following: • • • Add a bug into the database Review existing bug reports Manage the content Bugzilla is organised in the form of bug reports that give all the information needed about a particular bug. Fixed etc) Summary Bug priority Bug severity (blocker. NASA. • • • • • • • Product–>Component Assigned to Status (New. Systems Administration deployment management. Bugzilla is very adaptable to various situations. At a minimum.Tech I Sem (R09) 1. to suit our particular need: SRTIST. Assigned. and VA Systems. easy-to-use solution to configuration management and replication problems. Bugzilla can dramatically increase the productivity and accountability of individual employees by providing a documented workflow and positive feedback for good performance. Combined with systems such as CVS. A bug report would consist of the following fields. we’ll need to set a small number of parameters and preferences.Case Tools & Software Testing Lab IV B. we should change the following items. Bugzilla provides a powerful. Known uses currently include IT support queues. trivial etc) Bug reporter Using Bugzilla: Bugzilla usage involves the following activities • • • • • • • • Setting Parameters and Default Preferences Creating a New User Impersonating a User Adding Products Adding Product Components Modifying Default Field Values Creating a New Bug Viewing Bug Reports Setting Parameters and Default Preferences: When we start using Bugzilla. chip design and development problem tracking (both pre-and-post fabrication). 2.NALGONDA Page 54 . Ultimately. Bugzilla puts the power in user’s hands to improve value to business while providing a usable framework for natural attention to detail and knowledge store to flourish. and software and hardware bug tracking for luminaries such as Redhat. Linux-Mandrake.

or because they’ve chosen to track bugs in a certain project. either because they entered the bug. 3. in the form of an email address. Select from the list of mail transports to match the transport we’re using. Under Required Settings. 5. In the left side Index list. Select the Group access options. which will force anyone who enters a new bug to enter a comment. Click Update when done with setting options. 4. If using SMTP. 2. Select On for commentoncreate. Click Users. because the bug is assigned to them. SRTIST. and then click Add.Case Tools & Software Testing Lab IV B. To create a new user: 1. Bugzilla uses the email address as the user ID. make sure we add some new users. Click add a new user. Enter the Real name. Click Save Changes. 8. show comments in this order field. 7. Enter the Login name.NALGONDA Page 55 . with a minimum of information. 6. 5. If evaluating a click2try application. add an email address in the maintainer field. 2. 9. set any of the other SMTP options for your environment. Click Save Changes. because users are frequently notified when a bug is entered. Click Parameters at the bottom of the page. a password. 4. Click Submit Changes. Creating a New User Before entering bugs. In the left side Index list. Click Save Changes. click Bug Change Policies. Click Default Preferences at the bottom of the page. Select the display order from the drop-down list next to the When viewing a bug.Tech I Sem (R09) ▪ set the maintainer ▪ set the mail_delivery_method ▪ Set bug change policies ▪ set the display order of bug reports To set parameters and default preferences: 1. select Test. to describe the bug. we’ll probably want to enable the following options in the row titled User is a member of these groups: can confirm edit bugs edit components • • • 6. 3. click Email. We can enter users very easily.

or is temporarily assigned to another project. are typically made up of many functional components. Click the link add at least one component in the message that appears after creating a new product. they will review the bugs as they are reported.” 6. Even if there are other programmers working on that component. To add a component: 1. To add a product: At the bottom of the page. Often. 7. Adding Product Components Products are comprised of components.Tech I Sem (R09) Impersonating a User Impersonating a user is possible. 4. which in turn are made up of program elements. Click Add. Delete. 4. like classes and functions. We should delete this and create a new product. A message appears that you’ll need to add at least one component. either a project lead or manager. Use one of the users we’ve created. Software products. Enter a Description. 5. for example. Enter a description. SRTIST. 2. We can impersonate the user to create or manage bugs that belong to that user. Enter a default assignee. Adding Products We’ll add a product in Bugzilla for every product we are developing. 2. Click Yes. click Products. Enter the Component name. and sometimes to reject bugs as duplicates or enhancement requests. To start with. we’ll find a test product called TestProduct.NALGONDA Page 56 . that we may need to file or manage a bug in an area that is the responsibility of another user when that user is not available. when we first login to Bugzilla. though rare. 3. Now click Add a product.Case Tools & Software Testing Lab IV B. 1. it’s not uncommon for one person. Enter a product name. Perhaps the user is on vacation. to review the priority and severity supplied by the reporter. to be the gatekeeper for bugs. in order to redirect them to the appropriate developer or even another team. In the TestProduct listing. click Delete. It’s not unusual in a software development team environment for different individuals to be responsible for the bugs that are reported against a given component. in particular. Remember to enter the assignee in the form of an email address. 3. such as “Widget Design Kit.

click Field Values. Enter a summary and a description. click op_sys. Bugzilla adds our bug report to the database and displays the detail page for that bug. Others may not. Select one of the options. Some of these may work just fine for our product. the higher the priority. click the name of product in the message that reads edit other components of product <product name>. In the Value field. 3. Let’s take a look at the OS category.Case Tools & Software Testing Lab IV B. we might create a custom field instead. Viewing Bug Reports SRTIST. operating system names. but for the sake of this example. 2. At the bottom of the page. 2. If we’ve defined more than one component. We can add any other information of choice. 6. Modifying Default Field Values Once we begin to enter new bugs. for the field we want to edit. 5. although we may determine that our bug reporting policy requires certain information. These values will also appear in the OS drop-down list when we create a new bug. To modify To modify default field values: 1. We are going to add browsers to this list. To add more components. We should now see the two new entries at the top of the table. in the Edit section. 4. choose the component from the component list. enter “IE7. 4. The OS field contains a list of 3. but Priority is generally assumed to be the lower the number. in this case OS. we’ll see a number of drop-down lists containing default values. Click the link.” Click Add. So. To create a new bug: 1. Creating a New Bug Creating bugs is a big part of what Bugzilla does best. 6. 8. Severity is self-explanatory. 7. Click the OS drop-down list to see the options. adding new values and deleting old ones. just add them to the OS list. 6. but it is not required by the system. a P1 is the highest priority bug. In reality. In the Value field. Where it reads Add other values for the op_sys field. Select a Severity and a Priority. click New. 5. This redisplays the table. a showstopper. Click Commit.” Click Add. 7. Click Add a value. Click Add. including the new browser names we entered.NALGONDA Page 57 .Tech I Sem (R09) 5. In the top menu. We can modify the values of these fields. enter “Firefox 3. Click Add a value again.

Select “Reassign bug to” and replace the default user ID with one of the other user IDs you created. Manual testing by defining test steps and procedures Test Execution status Defect Management The Test Director Testing Process SRTIST. Click Search. Click Reports. Enter a word that might be in the title of the bug. 2. documentation and structure to the testing project. 5. To find a bug: 1. 3. If any bugs meet the criteria that we have entered. Modifying Bug Reports Suppose we want to change the status of the bug. 2. Experiment 9: Study of Any Test Management Tool ( Test Director) Test Director is a global test management solution which provides communication.” Select the Status. we’ll use the standard Search function. We’ve reviewed it and have determined that it belongs to one of the users we have created earlier To modify a bug report: 1.Tech I Sem (R09) Eventually. There are several ways to view the bugs. 1. Click the Search link on the page. The easiest is to click the My Bugs link at the bottom of the page. It must be in the format of an email address.NALGONDA Page 58 .Case Tools & Software Testing Lab IV B. Select the Product. Because we’ve only got one bug reported. not the one in the top menu. Scroll down the full bug description and enter a comment in the Additional Comments field. 4. we’ll end up with thousands of bugs listed in the system. organization. Bugzilla displays them in a list summary. Test Director is used for • • • • • Mapping Requirements to User acceptance test cases Test Planning by placing all the test cases and scripts in it. This opens a page titled “Find a Specific Bug. Click the ID number link to view the full bug report.

test planning.NALGONDA Page 59 . • Tracking Defects SRTIST. The QA tester assigns the requirement a priority level which is taken into consideration when the test team creates the test plan Import from Microsoft Word or third party RM tool • • • Planning Tests • The Test Plan Manager enables to divide application according to functionality. and reporting o Type of testing-such as functional.Tech I Sem (R09) Test Director offers an organized framework for testing applications before they are deployed. run manual and automated tests in the project in order to locate defects and assess quality. Tests can be run manually or scheduled to run automatically based on application dependencies. test execution. by creating a test plan tree. By creating test sets and choosing which tests to include in each set. TestDirector guides through the requirements specification. test suite can be created? A test set is a group of tests in a Test Director project database designed to achieve specific testing goals. Define subjects according to: o Application functionality-such as editing.Case Tools & Software Testing Lab IV B. and defect tracking phases of the testing process. file operations. you need a central data repository for organizing and managing the testing process. Since test plans evolve with new or modified application requirements. and load As the tests are also linked to defects. and can include any relevant attachments. this helps ensure compliance with testing requirements throughout the testing process • • Running Tests • • As the application constantly changes. performance. or subjects. The Test Director testing process includes four phases: Specifying Requirements • Requirements are linked to tests and defects to provide complete traceability and aid the decision-making process See what percent of requirements are covered by tests Each requirement in the tree is described in detail. user interface. using test lab. Application can be divided into units.

One can easily track test results dynamically. Defects can be detected and added during all stages of the testing process. IIS 5. MSAccess/Oracle 7.9/MS SQL Server Client System configuration : 64 MB of RAM . Win 95/98/NT/2K/XP. SRTIST.NALGONDA Page 60 . Its a web based tool with GUI.prioritize test cases and assign unfinished tasks. The functions like AddTestCase ToTestPlan. It enables creation and organization of test cases and helps manage into test plan. GetLastExecutionResult allows one to create quality assurance dashboard. generate reports.Case Tools & Software Testing Lab IV B.Create TestCase etc.Tech I Sem (R09) Locating and repairing application defects efficiently is essential to the testing process. Functions like GetTestCasesForTestPlan.x. enabling Testing Team and the project Team to monitor defects closely from initial detection until resolution By linking TestDirector to e-mail system. can help generate quality assurance dashboards. Win 2K server. helps create and organize test cases per test plan. organize test cases into test plans. which provides an ease to develop test cases. IE 5 . Assign Requirements. Win NT server. Allows execution of test cases from test link itself.8. Test link exposes API. In this phase you perform the following tasks: • This tool features a sophisticated mechanism for tracking software defects. generate test metrics.x. Netscape 4. written in PHP. Testing and Wipro Software Quality Assurance personnel • System Requirements for TestDirector Server System configuration : 128 MB of RAM . defect tracking information can be shared by all Development and Management Teams.7 Experiment 10: Experiment : Study of any open source testing tool (TestLink) Testlink is an open source test management tool. execute these test cases and generate reports. 500 MB of free disk space.0. 10 MB of free disk space.

Case Tools & Software Testing Lab IV B. These Test plans allow team members to execute Test cases and track test results dynamically.NALGONDA Page 61 . Each Component can have many Categories. Overall structure There are three cornerstones: Product. Test Case Suite: All Components. Test Case Suite and Test Results. definition of a couple of terms that are used throughout the documentation. Products and Test Plans Product: A Product is something that will exist forever in TestLink. Test Plan and User. Test Case: Test cases are the fundamental piece of TestLink. and test cases. Category: Categories are the parents of test cases. Product includes Test Specification with Test Cases and should be sorted via Keywords. trace software requirements. Test plans can be made up of the test cases of one or many Products. Read more about implemented features and try demo pages. generate reports. Categories and test cases within Test Plan. Component: Components are the parents of Categories. These levels are persisted throughout the application. Categories and test cases within Product.Tech I Sem (R09) TestLink enables easily to create and manage Test cases as well as organize them into Test plans. prioritize and assign tasks. Test Specification: All Components. Test Plan: Test Plans are created when you’d like to execute test cases. Products will undergo many different versions throughout their life times. Test Specification Creating Test Cases SRTIST. Test Plan includes Builds. First. All other data are relations or attributes for this base. Test Case Categorization TestLink breaks down the test case structure into three levels Components. Categories. User: An User has a Role. that defines available TestLink features. Each Category can have many test cases.

Deleting data may be useful when first creating a test plan since there are no results.Tech I Sem (R09) Tester must follow this structure: Component. Deleting test cases will cause the loss of all results associated with them. User can assign Test Cases and Requirements via link Assign Requirements in the main screen. • Steps: describe test scenario (input actions).NALGONDA Page 62 . Category and test case. Categories. User can also copy or move Test Cases. Test Cases has following parts: • Title: could include either short description or abbreviation (e. Requirements relation Test cases could be related with software/system requirements as n to n. However. test results. Component includes Categories. Test plans are made up of test cases SRTIST. Test plans are the basis for test case execution. Deleting Test Cases Test cases. • Expected results: describe checkpoints and expected behaviour a tested Product or system. TL-USER-LOGIN) • Summary: should be really short. just for overview. tester assignment and priority definition. The functionality must be enabled for a Product. Test Plans Test plan contains name.Case Tools & Software Testing Lab IV B. extreme caution is recommended when using this functionality. description. Therefore.g. builds. can also include precondition and cleanup information here. Category has the similar meaning but is second level of Test Specification and includes just Test Cases. At first you create Component(s) for your Product. milestones. collection a chosen test cases. and Components may be deleted from a test plan by users with lead permissions from the “delete test cases” screen. Creating a new Test Plan Test Plans may be deleted from the “Create test plan” page (link “Create Test Plan”) by users with lead privileges.

Insert Test results Test Results screen is shown via click on an appropriate Component. fail. 3. SRTIST. Left pane serves for navigation in Test Case Suite via tree menu. The colored bar indicate status of the test case. filtering and define a tested build. This allows users to create test plans from test cases that at a desired point in time. A Test Plan is created. The Test plan is assigned to testers (otherwise they cannot navigate to this Test Plan). Test Execution Test execution is available when: 1. The title shows the current build and owner. Rights may be assigned (by leads) in the define User/Project Rights section. This is an important thing to remember when users tell you they can’t see the project they are working on. Test Case Suite (for the Test Plan) is defined.Tech I Sem (R09) imported from Products at a specific point of time. 2. Test plans can only be created by users with lead privileges.Case Tools & Software Testing Lab IV B. Select a required Test Plan in main page and navigate to the ‘Execute tests’ link. Test plans may be created from other test plans. 5. ‘Blocked’ test case is not possible to test for some reason (e. a problem in configuration disallows to run a tested functionality). Yellow box includes test scenario of the test case. In order for a user to see a test plan they must have the propper rights.g.NALGONDA Page 63 . A Test Specification is written. 4. blocked) to a test case for a specific build. Category or test case in navigation pane. Test Status Execution is the process of assigning a result (pass. A Build is created. This may be necessary when creating a test plan for a patch.

Introduction 1.NALGONDA Page 64 . 3. Exceptionaly all these five Test cases passed. 6. 1 failed and 4 are blocked. The document gives the detailed description of the both functional and non functional requirements proposed by the client. Adam creates Keyword: “Regression” and assignes this keyword to ten of these test cases. He can see that everything passed in overal report and problems in build “Fish 0. 4. 7. Purpose The main objective of this document is to illustrate the requirements of the project Library Management system. Manager do it. But he can change nothing. Manager would like to see results. The document is developed after a number of consultations with the client and considering the complete requirement specifications of the given Project. He has “Guest” rights and could see results and Test cases. 2.1” in a report for particular Build.1” and add Test Cases with keywords “Regression”. Experiment: 11 Write a test report document for a library system 1. Bela describe test sneario of these Test cases that are organized according to Components and Categories.2” and Bela tests the failed and blocked test cases only. Example of TestLink workflow: 1. 8.Case Tools & Software Testing Lab IV B. Administrator create a Product “Fast Food” and a user Adam with rights “leader” and Bela with rights “Senior tester”. Adam imports Software Requirements and for part of these requirements generates empty Test cases. Adam and Bela execute and record the testing with result: 5 passed. The final product of the team will be meeting the SRTIST.Tech I Sem (R09) Updated Test Cases: If users have the proper rights they can go to the “Update modified test case” page through the link on main page. Administrator explain him that he can create account himself on the login page. It is not necessary for users to update test cases if there has been a change (newer version or deleted). Build “Fish 0. 5. Developers make a new build “Fish 0.1. Adam creates a Test Plan “Fish & Chips”.

1. The features that are available to the Librarian are: • A librarian can issue a book to the student • Can view The different categories of books available in the Library . • Can access all the accounts of the students. Further the library staff personnel can add/update/remove the resources and the resource users from the system. • Unique Key: Used to differentiate entries in a database .Tech I Sem (R09) requirements of this document. • It can be used in offices and modifications can be easily done according to requirements. 2. book name . Also Advanced Search feature is provided in order to search various categories simultaneously. The features available to the Students are: • Can view The different categories of books available in the Library SRTIST. • User: A general login id assigned to most users • Client: Intended users for the software • SQL: Structured Query Language. 2.1. used to retrieve information from a database . content of the available books.2. Product Perspective The proposed Library Management System will provide a search functionality to facilitate the search of resources. This search will be based on various categories viz. Overall Description 2. 1.3. • Can check the report of the issued Books.Case Tools & Software Testing Lab IV B. return and renewals for the members .2.NALGONDA Page 65 . • Can view the List of books available in each category • Can take the book returned from students • Add books and their information of the books to the database • Edit the information of the existing books. Scope of the project The system accepts the General Library Transactions of book like issue. Conventions Used The following are the list of conventions and acronyms used in this document and the project as well: • Administrator: A login id representing a user with user administration privileges to the software . The different areas where we can use this application • Any education institute can make use of it for providing information about author. Product Features There are two different users who will be using this product: • Librarian who will be acting as the administrator • Student of the University who will be accessing the Library online. • SQL Server: A server used to store data in an organized format .

NALGONDA Page 66 . 2.Case Tools & Software Testing Lab IV B.3. Wht is purpose of the debugging. Technologies used • SQL server • JAVA • MS-Access Database Viva Questions and answers 1.? SRTIST. to a how software doesn’t work. to an acceptable value. 2.? Ans: the purpose of the testing is to show the software works.. to reduce the perceived risk of not working.Tech I Sem (R09) • Can view the List of books available in each category • Can own an account in the library • Can view the books issued to him • Can put a request for a new book • Can view the history of books issued to him previously • Can search for a particular book. Why testing.

What is builder ? Ans : who designs for and is accountable to buyer.NALGONDA . 8. What is module? Ans : the module is a descreate . well defined small component of a system . the combination of component are incorrect or inconsistent.Tech I Sem (R09) Ans : to find an error or misconception that lead to the program failure and to design and implement the program changes that correct an error 3. 6. What is system testing ? Page 67 base design and coding details dominat structural testing.? Ans : in function testing the program treated as a black box. What is testing? Ans : to show that a program has bugs 4. What is unit testing ? Ans : it is testing is used to show that the unit does not satisfy its functional specification or that implemented structure does not match the intended design structure 10.Case Tools & Software Testing Lab IV B. What is the function-testing. What is component testing ? Ans : this testing is used to show the component does not satisfy its functional specification or that implemented structure does not match the intended design structure 11. What is Integration testing ? Ans : this testing is used to show that even though the components were individually satisfactory as demonstrated by successful passage of component tests . Who is tester ? Ans :who is dedicated to builders destruction and operator 9. is subjected to inputs and its outputs are verified for conformance to specified behavior 5. What is a structural testing ? Ans : structural testing does look at the implementation details such thing as programming style control methods source language . 12.

structure . execution. what is trasaction ? Ans : its is a unit of work seem from a system users point of view.NALGONDA Page 68 . SRTIST. What are the parts of data specification? Ans : contents . 6. 7. Define predicates? Ans :the logical function evaluated at a decision is called predicate 16. work troughs 3. 13. 14. the inconsistencies between components .get the transaction flows. Test databases. 4. What is path testing ? Ans : path testing is the name given to a family of test techniques based on judiciously selecting a set of test paths through the program 15. 2. reviews. Sensitization 5. Instrumentation.Tech I Sem (R09) Ans : system testing is aimed at revealing bugs that cannot be attributed to components as such to . What are the transaction flow testing flow testing techniques? Ans : 1. 19.Case Tools & Software Testing Lab IV B. What is control flow graph? Ans : it is a graphical representation of a programs control structure 17. or to the planed interaction of components and other objects. and attributes. what is path sensitizing ? Ans:the act of finding a set of solutions to the path predicate expression is called path sensitizing 18. Path selection. Inspections.

What is cross term step? Ans : The fundamental step of the reduction algorithm for converting a flow graph into a path expression is called cross term step. What is domain testing? Ans : A testing which can be based on specification or equivalent implementation information. What is link weight ? Ans : A letter or a sequence of letters that denote the sequence of data-flow actions on a link is called 27. What is boundary point? Ans : A boundary point is one such that within an epsilon neighborhood there are points both in the domain and not in the domain. 23. 22. What is interior point? Ans : An interior point is a point in the domain such that all points within an arbitrarily small distance (called an epsilon neighborhood) are also in the domain. path expressions are converted into algebraic functions that are called regular expressions. SRTIST. What is path expression? Ans : An algebraic representation of sets of paths in a graph is called a 26. What is regular expression ? Ans : With suitable arithmetic laws and weights.Tech I Sem (R09) 20.NALGONDA Page 69 . 28. 21.Case Tools & Software Testing Lab IV B. what is data flow testing ? Ans : data flow testing uses the control flow to explore the un reasonable things that can happen to data. 24. 25. What is extreme point ? Ans : An extreme point is a point that does not lie between any two other arbitrary but distinct points of a (convex) domain.

What is star mesh transformation? Ans : The cross-term step of the reduction algorithm for converting a flow graph into path expressions is also called as 30. symmetric 32. What is structured flow graph? Ans : A flow graph that can be reduced to a single link by successive application of transformations is called 31.Case Tools & Software Testing Lab IV B. What is prime implecant ? Ans : Each product term in a simplified version of the sum of products form in Boolean algebra is called prime implicant 38. Knowledge-based system is also known as Ans : expert system 35. What is action stub? Ans : the list of names the actions the routine will take or initiate if the rule is satisfied is called action stub 40. What is condition testing? Ans : A list of names of conditions in a decision table is called condition stub 39. KV chart is an abbreviation for Ans: Karnaugh-Veitch chart 34.NALGONDA Page 70 . Which theorem that is proposed on regular expressions? Ans : Huang's theorem 33.? Ans : reflexive. An equivalence relation satisfies which properties.Tech I Sem (R09) 29.. What is default rule ? Ans : A rule that specifies the default action to be taken when all other rules fail in a decision table is called default rule 37. What is state testing? SRTIST. what is inference engine ? Ans :the processing of a knowledge in an expert system is done by a program called inference engine 36. transitive.

What is finite state machine ? Ans: An abstract device that can be represented by a state graph having a finite number of states and a finite number of transitions between states SRTIST. What is diagonal matrix? Ans : A square array with one row and one column for every node in the graph is called a diagonal matrix 44.Tech I Sem (R09) Ans : here we are going to fine out wrong number of states .What is dead state ? Ans: A state that once entered cannot be left is called dead state 49. What is use for partitionaning algorithm? Ans: it is used for converting graphs with loops into loop free graphs of equivalence classes 43. reflexive. symmentric 48. 46. and wrong output for giving transition 41. What is predicate? Ans : A combinational machine selects paths based on the values is called predicates 47.Case Tools & Software Testing Lab IV B.wrong transition for giving state input combination. What is regression testing? Ans : it is a any type of software testing that seeks to uncover no errors or regressions in existing functionality after changes have been made by a system 42.NALGONDA Page 71 .What is unreachable state ? Ans: A state that no input sequence can reach is called unreachable state 50. What is undirected graph? Ans : A graph whose relations are symmetric is called a undirected graph 45. What is decision table describing? Ans: The control logic of a combinational program can be described by decision table. What are the properties of relations? Ans:transitive .

NALGONDA Page 72 .Tech I Sem (R09) SRTIST.Case Tools & Software Testing Lab IV B.

Sign up to vote on this title
UsefulNot useful