Tuesday, January 26, 2010

Test cases for ATM Transactions

1. Successful insertion of card
2. Unsuccessful operation duto insertion of wrong angle
3. Unsuccessful operation duto insertion of wrong card(invalid card)
4. Successful entry of PIN number
5. Unsuccessful operation duto of wrong PIN enter 3times
6. Successful selection of languages
7. Successful selection of Acc Type
8. Unsuccessful operation duto of wrong Acc Type
9. Successful Selection of withdraw option
10. Successful entry of amount
here every one discussion about with drawing money, the given question was money transactions .
1.verify ATM card insertion
2.verify card insertion when card in invalid card ( other bank card,scratches on card)
3.verify card insertion with other angles .
4.verify language selection.
5.verify entry of pin number
6.verify operation when you enter wrong pin more than 3 times
7.verify opration with selection of account type.
8.verify operation with selection of wrong account type.
9.verify balance enqiry
10.verify the entered transaction account number
11.verify when entered the transaction accont number is wrong
12. Verify when cancell button click while transfering money.
13.verify after exit


TC 1:- succesful card insertion.
TC 2:- unsuccessful operation due to wrong angle card insertion
TC 3:- unsuccesssful operation due to invalid account card.
TC 4:- successful entry of pin number.
TC 5:- unsuccessful operation due to wrong pin number entered 3 times.
TC 6:- successful selection of language.
TC 7:- successful selection of account type.
TC 8:- unsuccessful operation due to wrong account type selected w/r to that inserted card.
TC 9:- successful selection of withdrawl option.
TC 10 :- successful selection of amount.
TC 11:- unsuccessful operation due to wrong denominations.
TC 12:- successful withdrawl operation.
Tc 13 :- unsuccessful withdrawl operation due to amount greater than possible balance.
TC 14 :- unsucceful due to lack of amount in ATM.
TC 15 :-un due to amount greater than the day limit.
TC 16 :- un due to server down.
TC 17 :- un due to click cancel after insert card.
TC 18:- un due to click cancel after indert card and pin no.
TC 19:- un due to click cancel after language selection,account type selection,withdrawl selection, enter amount

Test cases for Telephone

Tc1
Action: check the interface of telephone , here interface means all buttons are available and should place on proper place.
Expected result: Interface of telephone is correct
Tc2
Action: check the functionality of each button like press the button redial
Expected result : all the buttons works properly.
TC 3
Action : check the volume level of phone
Expected result. volume level is available in the phone.
Tc4
Action : randomly enter the long number
Expected result : give some message like no is not valid
TC5
Action: check for the ringer
Expected result : Telephone have ringer tone.
TC6
Action: check for the dial tone
Expected result : telephone have dial tone
TC7:
check for the connection
TC8:
Check at the receiverside he receive the message properly or not.
1. To check connectivity of telephone line or cable
2. To check the modem to determine whether it is functioning or not
3. To check dial tone of the phone
4. To check the keypad while you dial any valid number on the phone
5. To check ring tone with it’s volume levels
6. To check voice of both sides (from and to) of the phone
7. To check display monitor if the phone has
8. To check redial option whether its functioning or not
10. To check the company standard of phone
11. To check the weight and color of the phone
12. To check loud speaker whether it is functioning or notany missing above then you can add any more test cases

Test cases for Electric Bulb

The buld should be of reqd shape and size
- Should be able to be fitted and removed from the holder .
- Should sustain the voltage for which it is designed for
- Should glow on switching on
- Should not glow on switching off
- Should glow with reqd illumination(correct me if wrong)
- Life of the bulb should meet the reqrmt
1) The bulb should be of required shape and size
2) Should be able to be fitted and removed from the holder
3) Should sustain the voltage for which it is designed for
4) Should glow on switching on
5) Should not glow on switching off
6) Should glow with reqd illumination (correct me if wrong)
7) Life of the bulb should meet the requirement
1.Holder and sachet should be present to test the bulb
2.Check electricity connection should be there for that holder.
3.Check whether electricity is passing through that wire or not
1)check the colour appearance of the bulb
2) check the colour of light which it makes (illuminates)
3)check the time it takes to blow
4) check the max life of bulb
5) check if switch on and switch off suddenly what will happen
6) check the power consumption
7) check the initial voltage it takes to blow
8) check if voltage vary suddenly what will happen (increase or decrease)
9) check what will happen when switch on bulb in less voltage
10) check max heat dissipate when bulb is on

Test cases for Elevator (LIFT)

Some of the use cases would be:
1) Elevator is capable of moving up and down.
2) It is stopping at each floor.
3) It moves exactly to that floor when corresponding floor no is pressed.
4) It moves up when called from upward and down when called from downward.
5) It waits until 'close' button is pressed.
6) If anyon steps inbetween the door at the time of closing, door should open.
7) No break points exists
8) More usecases for the load that the elevator can carry (if required)
Capacity of the lift
usability (whether its easy to operate or not)
Functionality( whether it functions properly or not)
comfort (whether a person is comfortable in it or not)
height
weight
volume
time it takes to reach every floor
test for maximum capacity of the lift
test for more than max capacity
check the working in case of a power failure
Yes, when a senario is given to us i think it would be most appropriate to ask the Interviewr what is he expecting? This would actually show our attitude towards testing.
The lift could be tested for various issues.
1) Usability:
- whether it can be entered, exited easily
- is the door height appropriate.
- is there enough of space in the lift to accomodate the people as described in its requirements. ex: the lift is designed for 5 ppl & the space in the lift is just enough for 3 ppl to squeeze in.
- are the buttons to present & at visible place.
- How easy is it to operate the lift. etc
2) Functionality:
- Does the lift move on to the right floor. ex. if a person presses 2nd floor he should land on the 2nd floor not on the 4th.
- What speed is the lift moving at.
- Is the landing, taking off appropriate.
- Does it land at the right floor when a lift is called.
- Does it take the weight as per it is designed.
- Does it move as sequenced. ie if a call is made to the lift from the 5th floor while the lift is on the 3rd floor & is already moving downwards towards ground. If the lift would go down or up.
1.Capacity of lift
2.Height of lift
3,Width of lift
4.Security provided(red indicator,alarm)
5.Name of the company.
6.Space provided
7.Number exceeds than specified what security is provided
8.Wheather it comes to ground floor,top floor
9. programming provided by using PLC(top-down or can again come down)
10.If it is empty.
Capacity of the lift
usability (whether its easy to operate or not)
Functionality( whether it functions properly or not)
comfort (whether a person is comfortable in it or not)
height
weight
volume
time it takes to reach every floor
test for maximum capacity of the lift
test for more than max capacity
check the working in case of a power failure

Test cases for Pen

Dimension of the pen,

Color of the pen,

GUI testing: logo of the pen maker,

Load testing

Total length that pen can write,

Strength of the nib,

Usability testing: grip of the pen.

Against the surface it can write.

Hanger provided in the cap,

Integration testing: body of the pen should perfectly fit with the cap of the pen,

Ink in the pen, at what temp does the ink get blocked.
Size of the nib like 0.5mm/0.6mm

Load test: when pen is pressed hard against the hard surface then refill should not come out of the pen from the backside.
check the look appearnce of the pen
check the cap of the pen
check the tip of the pen
Remove the pen body
it should be slick.
it should not be too large.
it should not be too small.
it should not have sharp edges.
it should be light
it should be strong.
it should have protection from ink pour out.
Ink colour should be dark
ballpoint should be strong so it should not break if pen strikes with hard surface.
it should have cap.
pen ink should not contain harmfull chemical.
Ink should not dry if pen is not used for long time.
User inter face :
1. Check look of the pen
2. Check Pen colour As per specification
3. Check whether cap is presented
4. Check whether pen is ball or ink as per specification
5. Check pen size as per specification

functional :
1. Check whether pen is writing
2. check whether pen z writing as per specification (.5,.6)
3. Check whether pen is writing only on papers or something as per specifications

Performence:

Check whether pen is writing in any climate
Check how much of time pen able to write continuosly with out rest on same way

Recovery

1. If pen is fall down then check whether pen able to write
To check the pen company
to check the pen type
to check the pen cap is present or not
to check the pen ink is filled or not
to check the pen writing or not
to check the ink color i.e black ro blue
to check the pen color
to check weather the pen is used to write all types of papers or not
to check the ink capacity of the pen
to check the pen product by fiber or plastic
Functional test cases (here we test the functionality of pen e.g. writing in flow or not etc.)
User-Interface test caes ( look n feel of pen e.g. cap facility, easy to hold, should be attractive etc.)
Stress Testing ( check the temperature dependency e.g can it work if temp is high or low etc.)
Performance Testing
Type of pen (ink,ball,dot etc.).
Able to write (bold/thin)
Grip of the in hand (how comforting is it to hold and write with it?)
Type of ink required (ink,gel, fluid, refillable??)
Color of the ink (red, black etc.).
Does it have a cap to protect the tip of the pen.
Does it have a pocket holding gripe for better carriage.
Kind of surface it can be used upon (hard,soft,glass, etc)
For how long can the pen be able to write non stop
Does the ink leaks in hot conditions or it seizes to flow in cold conditions
What type of body does the pen have (sleek,thick,etc.)
Is the pen branded?
I will intentionaly throw the pen down on floor..to check how much brittle it is ,is it broke down or not.

to check weather the pen is used to write all types of papers or not

to check the ink capacity of the pen

to check the pen product by fiber or plastic

Test cases for Calculator

1 Check for the visibiltiy of all buttons (0-9, Backspace, CE, C, M+, MS, MR,MC,1/x,sqrt, .,%, +,-,*,/,=,+/-,
All buttons must be visible
2 Check addition button in calcultor
Click on button '2' then click on addition(+) button press '3' then click on Equal (=) button.
It must display 5.
3 Check substraction button.
Click '6' then click on Substraction(-) button press '3' then click on Equal (=) button.
It must display 3.
Click '3' then click on Substraction(-) button press '6' then Click on Equal(=) button.
It must display -3.
4 Check Multiply(*) button
Click '3' then click on Multiply(*) button press '3' then Click on Equal(=) button.It must display multiplication result as 9.
5 Check Division(/) button.
Click '6' then click on Division(/) button press '2' then Click on Equal(=) button.
It must display division result as 3.
Click '6' then click on Division(/) button press '0' then Click on Equal(=) button.
It must display Error messeage as "Cannot divide by Zero".

6 Check 1/x button function.
Click on '2' then press 1/x button then click on Equal(=) button
It must display "0.5" as rusult because 1 divide by 2 it must display 0.5

Click on '1/x' directly
It must show error message as Cannot divide by zero because it takes 0 as a x value.

7 Check "%" button Function.
check 500*10 then click on "%" button.
It must display 10% value of 500 i.e 50.

8 Check "CE" button functionality
Click '4' and click on "+" button then Click on '2' and then click on CE button
It must Clear the last value we enter so it must clear '2' and if we enter '3' and click on Equal(=) button it must display 7.

9 Check "C" button Functionality.
Click '4' and click on "+" button then Click on '2' and then click on "C" button. It must clear all values.

10 Check MS Button functionality
Click on '4' then click on MS button
It must store '4' in memory and display M as flag in left hand corner label.

11 Check MR Button functionality
Check Flag for Memory button if it shows 'M' then click on MR button.
It must show the memory value.

12 Check MC Button functionality
Click on MC button.
It must clear the value of memory. And Clear the label Flag 'M' to blank.

13 Check M+ Button functionality
Click on '4' then click on MS button then click on '5' and press M+ button.
It must display '9' as result when we click on MR button because it must add the current value '5' into the memory value. i.e '9'.

14 Check Backspace button functionality.
Enter '123456' in calculator and click on backspace button.
It must clear last value enter i.e. 6'

15 Check status of calulator
It must display '0' by default when we open a calulator.

Linux Interview Questions For software testers

1. Q. How do you list files in a directory?
A. ls - list directory contents
ls �l (-l use a long listing format)

2. Q. How do you list all files in a directory, including the hidden files?
A. ls -a (-a, do not hide entries starting with .)

3. Q. How do you find out all processes that are currently running?
A. ps -f (-f does full-format listing.)

4. Q. How do you find out the processes that are currently running or a particular user?
A. ps -au Myname (-u by effective user ID (supports names)) (a - all users)

5. Q. How do you kill a process?
A. kill -9 8 (process_id 8) or kill -9 %7 (job number 7)
kill -9 -1 (Kill all processes you can kill.)
killall - kill processes by name most (useful - killall java)


6. Q. What would you use to view contents of the file?
A. less filename
cat filename
pg filename
pr filename
more filename
most useful is command: tail file_name - you can see the end of the log file.

7. Q. What would you use to edit contents of the file?
A. vi screen editor or jedit, nedit or ex line editor

8. Q. What would you use to view contents of a large error log file?
A. tail -10 file_name ( last 10 rows)

9. Q. How do you log in to a remote Unix box?
A. Using telnet server_name or ssh -l ( ssh - OpenSSH SSH client (remote login program))

10.Q. How do you get help on a UNIX terminal?
A. man command_name
info command_name (more information)

11.Q. How do you list contents of a directory including all of its
subdirectories, providing full details and sorted by modification time?
A. ls -lac
-a all entries
-c by time

12.Q. How do you create a symbolic link to a file (give some reasons of doing so)?
A. ln /../file1 Link_name
Links create pointers to the actual files, without duplicating the contents of
the files. That is, a link is a way of providing another name to the same file.
There are two types of links to a file:Hard link, Symbolic (or soft) link;

13.Q. What is a filesystem?
A. Sum of all directories called file system.
A file system is the primary means of file storage in UNIX.
File systems are made of inodes and superblocks.

14.Q. How do you get its usage (a filesystem)?
A. By storing and manipulate files.

15.Q. How do you check the sizes of all users� home directories (one command)?
A. du -s
df


The du command summarizes disk usage by directory. It recurses through all subdirectories and shows disk usage by each subdirectory with a final total at the end.


Q. in current directory
A. ls -ps (p- directory; s - size)

16.Q. How do you check for processes started by user 'pat'?

A. ps -fu pat (-f -full_format u -user_name )

17.Q. How do you start a job on background?

A. bg %4 (job 4)

18 Q. What utility would you use to replace a string '2001' for '2002' in a text file?

A. Grep, Kde( works on Linux and Unix)

19. Q. What utility would you use to cut off the first column in a text file?
A. awk, kde

20. Q. How to copy file into directory?
A. cp /tmp/file_name . (dot mean in the current directory)

21. Q. How to remove directory with files?
A. rm -rf directory_name

22. Q. What is the difference between internal and external commands?
A. Internal commands are stored in the; same level as the operating system while external
commands are stored on the hard disk among the other utility programs.

23. Q. List the three main parts of an operating system command:
A. The three main parts are the command, options and arguments.

24 Q. What is the difference between an argument and an option (or switch)?
A. An argument is what the command should act on: it could be a filename,
directory or name. An option is specified when you want to request additional
information over and above the basic information each command supplies.

25. Q. What is the purpose of online help?
A. Online help provides information on each operating system command, the
syntax, the options, the arguments with descriptive information.

26. Q. Name two forms of security.
A. Two forms of security are Passwords and File Security with permissions specified.

27. Q. What command do you type to find help about the command who?
A. $ man who

28. Q. What is the difference between home directory and working directory?
A. Home directory is the directory you begin at when you log into the
system. Working directory can be anywhere on the system and it is where you are currently working.

29. Q. Which directory is closer to the top of the file system tree, parent directory or current directory?
A. The parent directory is above the current directory, so it is closer to the root or top of the file system.

30. Q. Given the following pathname:
$ /business/acctg/payable/supplier/april
a) If you were in the directory called acctg, what would be the relative
pathname name for the file called april?
b) What would be the absolute pathname for april?
A.
a) $ payable/supplier/april
b) $ /business/acctg/payable/supplier/april

31. Q. Suppose your directory had the following files:
help. 1 help.2 help.3 help.4 help.O1 help.O2
aid.O1 aid.O2 aid.O3 back. 1 back.2 back.3
a) What is the command to list all files ending in 2?
b) What is the command to list all files starting in aid?
c) What is the command to list all "help" files with one character extension?
A.
a) ls *2
b) ls aid.*
c) ls help.?

32. Q. What are two subtle differences in using the more and the pg commands?
A. With the more command you display another screenful by pressing
the spacebar, with pg you press the return key.
The more command returns you automatically to the UNIX
shell when completed, while pg waits until you press return.

33. Q. When is it better to use the more command rather than cat command?
A. It is sometimes better to use the more command when you are viewing
a file that will display over one screen.

34. Q. What are two functions the move mv command can carry out?
A. The mv command moves files and can also be used to rename a file or directory.

35. Q. Name two methods you could use to rename a file.
A. Two methods that could be used:
a. use the mv command
b. copy the file and give it a new name and then remove the original file if no longer needed.

36. The soccer league consists of boy and girl teams. The boy file names begin
with B, the girl teams begin with G. All of these files are in one directory
called "soccer", which is your current directory:
Bteam.abc Bteam.OOl Bteam.OO2 Bteam.OO4
Gteam.win Gteam.OOl Gteam.OO2 Gteam.OO3
Write the commands to do the following:
a) rename the file Bteam.abc to Bteam.OO3.
b) erase the file Gteam. win after you have viewed the contents of the file
c) make a directory for the boy team files called "boys", and one for the girl team files
called" girls"
d) move all the boy teams into the "boys" directory
e) move all the girl teams into the "girls" directory
f) make a new file called Gteam.OO4 that is identical to Gteam.OOl
g) make a new file called Gteam.OO5 that is identical to Bteam.OO2
A.
a) mv Bteam.abc Bteam.OO3.
b) cat Gteam.win -or- more Gteam.win
rm Gteam. win
c) mkdir boys
mkdir girls
d) mv Bteam* boys
e) mv Gteam* girls
f) cd girls
cp Gteam.OO1 Gteam.OO4
g) There are several ways to do this. Remember that we are currently in the directory
/soccer/girls.
cp ../boys/Bteam.OO2 Gteam.OO5
or
cd ../boys
cp Bteam.OO2 ../girls/Gteam.OO5


37. Q. Draw a picture of the final directory structure for the "soccer"
directory, showing all the files and directories.


38. Q. What metacharacter is used to do the following:
1.1 Move up one level higher in the directory tree structure
1.2 Specify all the files ending in .txt
1.3 Specify one character
1.4 Redirect input from a file
1.5 Redirect the output and append it to a file
A.
1. 1.1 double-dot or ..
1.2 asterisk or *
1.3 question or ?
1.4 double greater than sign: >>
1.5 the less than sign or <

39. Q. List all the files beginning with A
A. To list all the files beginning with A command: ls A*


40. Q. Which of the quoting or escape characters allows the dollar sign ($) to retain its special meaning?
A. The double quote (") allows the dollar sign ($) to retain its special meaning.
Both the backslash (\) and single quote (') would remove the special meaning of the dollar sign.

41. Q. What is a faster way to do the same command?
mv fileO.txt newdir
mv filel.txt newdir
mv file2.txt newdir
mv file3.txt newdir
A. A shortcut method would be: mv file?.txt newdir


42. Q. List two ways to create a new file:
A.
a. Copy a file to make a new file.
b. Use the output operator e.g. ls -l > newfile.txt

43. Q. What is the difference between > and >> operators?
A. The operator > either overwrites the existing file (WITHOUT WARNING) or creates a new file.
The operator >> either adds the new contents to the end of an existing file or creates a new file.

44. Write the command to do the following:
44.1 Redirect the output from the directory listing to a printer.
44.2 Add the file efg.txt to the end of the file abc.txt.
44.3 The file testdata feeds information into the file called program
44.4 Observe the contents of the file called xyz.txt using MORE.
44.5 Observe a directory listing that is four screens long.
A.
44.1 ls > lpr
44.2 cat efg.txt >> abc.txt
44.3 program < testdata
44.4 more < xyz.txt
44.5 ls > dirsave | more



45. Q. How do you estimate file space usage
A. Use du command (Summarize disk usage of each FILE, recursively for
directories.) Good to use arguments du -hs
(-h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G)
(-s, --summarize display only a total for each argument)

46. Q. How can you see all mounted drives?
A. mount -l

47. Q. How can you find a path to the file in the system?
A. locate file_name (locate - list files in databases that match a pattern)

48. Q. What Linux HotKeys do you know?
A. Ctrl-Alt-F1 Exit to command prompt
Ctrl-Alt-F7 or F8 Takes you back to KDE desktop from command prompt
Crtl-Alt-Backspace Restart XWindows
Ctrl-Alt-D Show desktop

49. Q. What can you tell about the tar Command?
A. The tar program is an immensely useful archiving utility. It can combine an entire directory tree into one large file suitable for transferring or compression.

50. Q. What types of files you know?
A. Files come in eight flavors:
Normal files
Directories
Hard links
Symbolic links
Sockets
Named pipes
Character devices
Block devices

51. Q. How to copy files from on PC to another on the same network
A. Use the following command:scp yur_file you_login@your_IP
example: copy .conf file from your PC to alex computer-
scp /etc/X11/xorg.conf alex@10.0.10.169:

52. Q. Please describe information below:

-rw-rw-r-- 1 dotpc dotpc 102 Jul 18 2003 file.buf
drwxr-xr-x 9 dotpc dotpc 4096 Oct 21 09:34 bin
lrwxrwxrwx 1 dotpc dotpc 20 Mar 21 15:00 client -> client-2.9.5
drwxrwxr-x 11 dotpc dotpc 4096 Sep 2 2005 client-2.8.9
drwxrwxr-x 7 dotpc dotpc 4096 Dec 14 12:13 data
drwxr-xr-x 12 dotpc dotpc 4096 Oct 21 09:41 docs
drwxr-xr-x 5 dotpc dotpc 4096 Dec 7 14:22 etc
drwxr-xr-x 11 dotpc dotpc 4096 Mar 21 15:54 client-2.9.5
-rw-r--r-- 1 dotpc dotpc 644836 Mar 22 09:53 client-2.9.5.tar.gz

A. This is a result of command $ls -l
we have two files, 6 directories and one link to client-2.9.5 directory.
There is number of files in every directory, size and data of last change.


53. Q. If you would like to run two commands in sequence what operators you can use?

A. ; or && the difference is:
if you separate commands with ; second command will be run automatically.
if you separate commands with && second command will be run only in the case
the first was run successfully.

54. Q. How you will uncompress the file?
A. Use tar command (The GNU version of the tar archiving utility):
tar -zxvf file_name.tar.gz

55. Q.How do you execute a program or script, my_script in your current directoty?
A. ./my_script

56. Q.How to find current time configuration in the file my_new.cfg
A. grep time my_new.cfg
Grep searches the named input files (or standard input if
no files are named, or the file name - is given) for lines
containing a match to the given pattern.

Q. What does grep() stand for?
A. General Regular Expression Parser.

57. Q. What does the top command display?
A. Top provides an ongoing look at processor activity in real
time. It displays a listing of the most CPU-intensive
tasks on the system, and can provide an interactive inter­
face for manipulating processes. (q is to quit)

58. Q. How can you find configuration on linux?
A. by using /sin/ifconfig
If no arguments are given, ifconfig displays the status of the cur-
rently active interfaces. If a single interface argument is given, it displays the status of the given interface only; if a single -a argu-
ment is given, it displays the status of all interfaces, even those
that are down. Otherwise, it configures an interface.

59. Q. How to find difference in two configuration files on the same server?
A. Use diff command that is compare files line by line
diff -u /usr/home/my_project1/etc/ABC.conf /usr/home/my_project2/etc/ABC.conf

60. Q. What is the best way to see the end of a logfile.log file?
A. Use tail command - output the last part of files
tail -n file_name ( the last N lines, instead of the last 10 as default)

61. Q. Please write a loop for removing all files in the current directory that contains a word 'log'
A. for i in *log*; do rm $i; done

62. Question: How to switch to a previously used directory?
Answer: cd -


1. Q.How many VI editor modes do you know?
A.Three modes -
Command mode: letters or sequence of letters interactively command vi.
Insert mode: Text is inserted.
Command line mode: enter this mode by typing ":" and entry command line at the foot of the screen.

2. Q. How can you terminate VI session?
A.
Use command: ZZ that is save changes and quit.
Use command line: ":wq" that is write changes and quit.
Use command line: ":q!" to ignore changes and quit.

3. Q. How can you copy lines into the buffer in command mode?
A.
yy - copy a single line defined by current cursor position
3yy - copy 3 lines. Current line and two lines below it.

Software testing resume Sample 2

MyNameXyz
Email : Mynamedtgfr@ghyun.com
Mobile : 00000 00000

Objective:

To seek a Professional career with an established organization in the realm of Test Engineer, looking for a long-term association where Individual skills, hard work and Honesty are recognized and conductive work culture is provided.

Professional Summary:

• Having Exposure in testing various Software applications.
• expertise in Manual Testing
• Capable of testing the functionality of different applications using Win Runner.
• Good knowledge in different types of Testing.
• Having good knowledge in SDLC, STLC.
• Involved in peer reviews and group previews,
• Knowledge in ISO standards, SEI - CMM levels.

Educational Qualification:

• B.C.A (Bachelor of Computers Applications) from Xyz University.


Technical Skills:

Testing Tools Win Runner, Test Director
Languages C, C++, HTML
Database Oracle8, SQL
Operating Systems DOS, Windows Family
MS-Suite: MS-Office





PROJECT HISTORY

Project # 1 (Duration Start date to End date)

Title : XyzProjectTitleCustomerSupport
Team Size : 1
Tools : Manual and Win Runner tool
Environment : C++, windows 2000/NT.

Project Description : This is online customer support tool. The main purpose of the tool is to build a quick communication between support team and online customer in order to address their queries. This application consists of Site Administrator, Agent login, Password reset and Password change. Site Administrator is to login to administrator mode and do the changes. Agent login procures

Involved in:
I
• Understanding the product using software requirement specification and the prototype model.
• Requirement analysis in co-ordination with development..
• Preparation of test cases (user interface function and cross triggering cases mapping).
• Updation of test cases based on review comments.
• Test case execution in terms of sanity system performance regression and user interface.
• Bug reporting and tracking.
• Participating in team meetings and peer to peer reviews.



Project # 2 (Duration Start Date & Year to End Date & Year)

Title : Xyz Medical Kit Vgtyhj
Role : Test Engineer
Team Size : 3
Tools : Manual
Environment : Win2k, DHML, Java scrip, ASP, MS-SQL server IIS

Project Description : This project consists of online appointment with the doctor, details of the patient and his/her registration with the Hospital, patient problems/symptoms, characteristics, past history, family history, drug allergies etc. Patients related images like x-ray, scanning reports could be viewed in this. This project will be help full to the doctor for viewing the detail information of the patient and for the patients it will help to get contact to the doctor easily with out waste of their time.


In a team of 3, involved in –
• Preparation of Acceptance Test Cases, Functional Test Cases.
• Testing the application.
• Tracking the defects using defect-tracking system.
• Filling the work tracker regarding the work I had done.
• Involved in review meetings.

(Signature )

Software testing Resume sample 1

MyNameXYZ

Experience Summary
• 1.5 Years of experience in Software Testing currently working as a Test engineer for XYZ , Ltd, XYZ.
• Experienced in Test cases development using Excel sheet and Test Director.
• Experienced in Execution of Test Cases and Preparation of Test Data Manually.
• Experienced in all types of Test Documentation: Test Scenarios, Test Cases etc. (both
manual and automated).
• Well acquainted with Software Development Life Cycle, Testing Life Cycle, Concepts
and Methodologies like Integration testing, Regression testing, System testing,
Acceptance testing, Dynamic, Static, Security, Load and Performance of testing.
• Executed the Scripts features like Data Driven, Database Checks, GUI checks, and
Batch using Win Runner.
• Ensure the successful delivery of a solution according to business requirements on
time, within the budget, and to the appropriate quality bar.
• Communicates with customers and offshore team members effectively.
• Experienced in Testing on Linux .
• Excellent Team Player possessing Good Communication and Interpersonal Skills.

Work Experience

• Working as a Testing Engineer for XYZ.,Ltd

Educational Qualifications

• B.Tech from XYZ June-2000, Xyz

Technical Qualifications:

Testing Tools : Win Runner, QTP, Load Runner, Test Director.
Languages : C, C++
Packages : VB
Database : Oracle, MySql, MS Access2000.
Operating System : Windows 9X/NT/2000
Project Experience:

Project#1

Title : MyProjectXyz
Domain : NetWorking Logs
Technologies : Java,C,C++, MySql, Tomcat, CGI Server
Operating System : Linux(Cent OS)
Role : Test Engineer
Team Size : 3

Description:
This is an integrated tool of LogQuest VF, LogCenter, WebQuest, FireQuest and OLAP Viewer. The purpose of the XYZ is to analyze the different kind of LogFiles and give the valuable information about the logfiles to the users.
This is a Tool . applies an easily farsighted log of a server and network equipment that puts a singularly existence and non-existence in a brush kind among the high-capacity farsighted log sword, which works as the sword. It consists of Client means the local method of verifying a log file, where a log file is stored on your computer and then analyzed.
The is collecting logs from network devices like switch, router, firewall, VPN and systems(Unix, Linux, Windows.LogCenter Agent will used for collect Windows event logs, system web logs and other application logs.Collected logs by LogCenter will used by system administrator, security mananger commonly for find out system vulnerability,hacking indications thourgh using User can search, make reports with specific conditions.
Responsibilities:
• Understanding the client requirements and Functionalities
• Installing LogQuest VF,LogCenter,WebQuest,FireQuest on Linux
• Installing Tomcat on Linux
• Testing All the Innerbus Products using with Linux
• Prepared the Test Cases by covering the entire product functionality
• Updating the test cases to the latest enhancements/requirements of the tool
• Testing of the configuration Tool involves the preparation of the Test Cases for business configuration, This covers the different features of the tool.
• Reported the bugs to the bug tracking system and prepared the bug reports
• Bug fix testing was done on different releases of the tool.
• Conducted various types of testing like Functionality Testing, Data Integrity Testing, GUI
Testing, Regression Testing, System Testing and Testing of Installation.
• Extensively performed Manual testing process to ensure the quality of the software


Project # 2
Title : MyProjectXyz
Environment : Java, Oracle 8i, Windows NT
Tools Used : Win Runner, Test Director
Duration : 7 Months
Team size : 2
Description:
The project is being developed for automation of various material management activities performed Account Payable is the process of preparing and entering the source documents like Supplier invoices, credit Notes and Employee expense reports require for payment of goods and services purchased from suppliers external to the organization. The Internal requisition is a system that has been implemented to help, organize and manage inventory. All orders of inventory from the stores and procurement center will now be done via Internal Requisitions. Invoices module used for complete billing and receipting information details like creating invoices, creating the Credit
Responsibilities:
• Designed Test cases for various modules using Test Director.
• Participated in Peer Review of Test Cases.
• Conducted Functional, Regression and System Testing for Various Modules.
• Reported and tracked the bugs using Test Cases.








( Signature )

Mercury LoadRunner FAQ

1. What is load testing?
Load testing is to test that if the application works fine with the loads that result from large number of simultaneous users, transactions and to determine weather it can handle peak usage periods.

2. What is Performance testing?
Timing for both read and update transactions should be gathered to determine whether system functions are being performed in an acceptable timeframe. This should be done standalone and then in a multi user environment to determine the effect of multiple transactions on the timing of a single transaction.

3. What is LoadRunner?
LoadRunner works by creating virtual users who take the place of real users operating client software, such as sending requests using the HTTP protocol to IIS or Apache web servers. Requests from many virtual user clients are generated by Load Generators in order to create a load on various servers under test
These load generator agents are started and stopped by Mercury's Controller program. The Controller controls load test runs based on Scenarios invoking compiled Scripts and associated Run-time Settings.
Scripts are crafted using Mercury's "Virtual user script Generator" (named "V U Gen"), It generates C-language script code to be executed by virtual users by capturing network traffic between Internet application clients and servers.
With Java clients, VuGen captures calls by hooking within the client JVM. During runs, the status of each machine is monitored by the Controller.
At the end of each run, the Controller combines its monitoring logs with logs obtained from load generators, and makes them available to the "Analysis" program, which can then create run result reports and graphs for Microsoft Word, Crystal Reports, or an HTML webpage browser.

Each HTML report page generated by Analysis includes a link to results in a text file which Microsoft Excel can open to perform additional analysis.
Errors during each run are stored in a database file which can be read by Microsoft Access.

4. What is Virtual Users?
Unlike a WinRunner workstation which emulates a single user's use of a client, LoadRunner can emulate thousands of Virtual Users.
Load generators are controlled by VuGen scripts which issue non-GUI API calls using the same protocols as the client under test. But WinRunner GUI Vusers emulate keystrokes, mouse clicks, and other User Interface actions on the client being tested.
Only one GUI user can run from a machine unless LoadRunner Terminal Services Manager manages remote machines with Terminal Server Agent enabled and logged into a Terminal Services Client session.
During run-time, threadedvusers share a common memory pool.
So threading supports more Vusers per load generator.
The Status of Vusers on all load generators start from "Running", then go to "Ready" after going through the init section of the script. Vusers are "Finished" in passed or failed end status. Vusers are automatically "Stopped" when the Load Generator is overloaded.
To use Web Services Monitors for SOAP and XML, a separate license is needed, and vUsers require the Web Services add-in installed with Feature Pack (FP1).
No additional license is needed for standard web (HTTP) server monitors Apache, IIS, and Netscape.

5. Using Windows Remote Desktop Connection
To keep Windows Remote Desktop Connection sessions from timing out during a test, the Terminal Services on each machine should be configured as follows:
1. Click Start, point to Programs (or Control Panel), Administrative Tools and choose Terminal Services
2. Configuration.
3. Open the Connections folder in tree by clicking it once.
4. Right-click RDP-Tcp and select Properties.
5. Click the Sessions tab.
6. Make sure "Override user settings" is checked.
7. Set Idle session limit to the maximum of 2 days instead of the default 2 hours.
8. Click Apply.
9. Click OK to confirm message "Configuration changes have been made to the system registry; however, the user session now active on the RDP-Tcp connection will not be changed."
6. Explain the Load testing process? Version 7.2
Step 1: Planning the test. Here, we develop a clearly defined test plan to ensure the test scenarios we develop will accomplish load-testing objectives.
Step 2: Creating Vusers. Here, we create Vuser scripts that contain tasks performed by each Vuser, tasks performed by Vusers as a whole, and tasks measured as transactions.
Step 3: Creating the scenario. A scenario describes the events that occur during a testing session. It includes a list of machines, scripts, and Vusers that run during the scenario. We create scenarios using LoadRunner Controller. We can create manual scenarios as well as goal-oriented scenarios. In manual scenarios, we define the number of Vusers, the load generator machines, and percentage of Vusers to be assigned to each script. For web tests, we may create a goal-oriented scenario where we define the goal that our test has to achieve. LoadRunner automatically builds a scenario for us.
Step 4: Running the scenario. We emulate load on the server by instructing multiple Vusers to perform tasks simultaneously. Before the testing, we set the scenario configuration and scheduling. We can run the entire scenario, Vuser groups, or individual Vusers.
Step 5: Monitoring the scenario. We monitor scenario execution using the LoadRunner online runtime, transaction, system resource, Web resource, Web server resource, Web application server resource, database server resource, network delay, streaming media resource, firewall server resource, ERP server resource, and Java performance monitors.
Step 6: Analyzing test results. During scenario execution, LoadRunner records the performance of the application under different loads. We use LoadRunner’s graphs and reports to analyze the application’s performance.

7. When do you do load and performance Testing?
We perform load testing once we are done with interface (GUI) testing. Modern system architectures are large and complex. Whereas single user testing primarily on functionality and user interface of a system component, application testing focuses on performance and reliability of an entire system. For example, a typical application-testing scenario might depict 1000 users logging in simultaneously to a system. This gives rise to issues such as what is the response time of the system, does it crash, will it go with different software applications and platforms, can it hold so many hundreds and thousands of users, etc. This is when we set do load and performance testing.

8. What are the components of LoadRunner?
The components of LoadRunner are The Virtual User Generator, Controller, and the Agent process, LoadRunner Analysis and Monitoring, LoadRunner Books Online.

9. What Component of LoadRunner would you use to record a Script?
The Virtual User Generator (VuGen) component is used to record a script. It enables you to develop Vuser scripts for a variety of application types and communication protocols.

10. When do you do load and performance Testing?
We perform load testing once we are done with interface (GUI) testing. Modern system architectures are large and complex. Whereas single user testing primarily on functionality and user interface of a system component, application testing focuses on performance and reliability of an entire system. For example, a typical application-testing scenario might depict 1000 users logging in simultaneously to a system. This gives rise to issues such as what is the response time of the system, does it crash, will it go with different software applications and platforms, can it hold so many hundreds and thousands of users, etc. This is when we set do load and performance testing.

11. What are the components of LoadRunner?
The components of LoadRunner are The Virtual User Generator, Controller, and the Agent process, LoadRunner Analysis and Monitoring, LoadRunner Books Online. What Component of LoadRunner would you use to record a Script? - The Virtual User Generator (VuGen) component is used to record a script. It enables you to develop Vuser scripts for a variety of application types and communication protocols.

12. What Component of LoadRunner would you use to play Back the script in multi user mode?
The Controller component is used to playback the script in multi-user mode. This is done during a scenario run where a vuser script is executed by a number of vusers in a group.

13. What is a rendezvous point?
You insert rendezvous points into Vuser scripts to emulate heavy user load on the server. Rendezvous points instruct Vusers to wait during test execution for multiple Vusers to arrive at a certain point, in order that they may simultaneously perform a task. For example, to emulate peak load on the bank server, you can insert a rendezvous point instructing 100 Vusers to deposit cash into their accounts at the same time.

14. What is a rendezvous point?
A scenario defines the events that occur during each testing session. For example, a scenario defines and controls the number of users to emulate, the actions to be performed, and the machines on which the virtual users run their emulations.
15. Explain the recording mode for web Vuser script?
We use VuGen to develop a Vuser script by recording a user performing typical business processes on a client application. VuGen creates the script by recording the activity between the client and the server. For example, in web based applications, VuGen monitors the client end of the database and traces all the requests sent to, and received from, the database server. We use VuGen to: Monitor the communication between the application and the server; Generate the required function calls; and Insert the generated function calls into a Vuser script.

16. Why do you create parameters?
Parameters are like script variables. They are used to vary input to the server and to emulate real users. Different sets of data are sent to the server each time the script is run. Better simulate the usage model for more accurate testing from the Controller; one script can emulate many different users on the system.

17. What is correlation? Explain the difference between automatic correlation and manual correlation?
Correlation is used to obtain data which are unique for each run of the script and which are generated by nested queries. Correlation provides the value to avoid errors arising out of duplicate values and also optimizing the code (to avoid nested queries). Automatic correlation is where we set some rules for correlation. It can be application server specific. Here values are replaced by data which are created by these rules. In manual correlation, the value we want to correlate is scanned and create correlation is used to correlate.

18. How do you find out where correlation is required?
Two ways: First we can scan for correlations, and see the list of values which can be correlated. From this we can pick a value to be correlated. Secondly, we can record two scripts and compare them. We can look up the difference file to see for the values which needed to be correlated.

19. Where do you set automatic correlation options?
Automatic correlation from web point of view can be set in recording options and correlation tab. Here we can enable correlation for the entire script and choose either issue online messages or offline actions, where we can define rules for that correlation. Automatic correlation for database can be done using show output window and scan for correlation and picking the correlate query tab and choose which query value we want to correlate. If we know the specific value to be correlated, we just do create correlation for the value and specify how the value to be created.

20. What is a function to capture dynamic values in the web Vuser script?
Web_reg_save_param function saves dynamic data information to a parameter.

21. VuGen Recording and Scripting?
LoadRunner script code obtained from recording in the ANSI C language syntax, represented by icons in icon view until you click Script View.
22. What is Scenarios ?
Scenarios encapsulate the Vuser Groups and scripts to be executed on load generators at run-time.
Manual scenarios can distribute the total number of Vusers among scripts based on the analyst-specified percentage (evenly among load generators).
Goal Oriented scenarios are automatically created based on a specified transaction response time or number of hits/transactions-per-second (TPS). Test analysts specify the % of Target among scripts.

23. What are the typical settings for each type of run scenario ?

24. When do you disable log in Virtual User Generator, When do you choose standard and extended logs?
Once we debug our script and verify that it is functional, we can enable logging for errors only. When we add a script to a scenario, logging is automatically disabled. Standard Log Option: When you select Standard log, it creates a standard log of functions and messages sent during script execution to use for debugging. Disable this option for large load testing scenarios. When you copy a script to a scenario, logging is automatically disabled Extended Log Option: Select extended log to create an extended log, including warnings and other messages. Disable this option for large load testing scenarios. When you copy a script to a scenario, logging is automatically disabled. We can specify which additional information should be added to the extended log using the Extended log options.

25. How do you debug a LoadRunner script?
VuGen contains two options to help debug Vuser scripts-the Run Step by Step command and breakpoints. The Debug settings in the Options dialog box allow us to determine the extent of the trace to be performed during scenario execution. The debug information is written to the Output window. We can manually set the message class within your script using the lr_set_debug_message function. This is useful if we want to receive debug information about a small section of the script only.

26. How do you write user defined functions in LR?
Before we create the User Defined functions we need to create the external library (DLL) with the function. We add this library to VuGen bin directory. Once the library is added then we assign user defined function as a parameter. The function should have the following format: __declspec (dllexport) char* (char*, char*)

27. What are the changes you can make in run-time settings?
The Run Time Settings that we make are:
1. Pacing - It has iteration count.
2. Log - Under this we have Disable Logging Standard Log and
3. Extended Think Time - In think time we have two options like Ignore think time and Replay think time.
4. General - Under general tab we can set the vusers as process or as multithreading and whether each step as a transaction.
28. Where do you set Iteration for Vuser testing?
We set Iterations in the Run Time Settings of the VuGen. The navigation for this is Run time settings, Pacing tab, set number of iterations.

29. How do you perform functional testing under load?
Functionality under load can be tested by running several Vusers concurrently. By increasing the amount of Vusers, we can determine how much load the server can sustain.

30. Using network drive mappings
If several load generators need to access the same physical files, rather than having to remember to copy the files each time they change, each load generator can reference a common folder using a mapped drive. But since drive mappings are associated with a specific user:
1. Logon the load generator as the user the load generator will use
2. Open Windows Explorer and under Tools select Map a Network Drive and create a drive. It saves time and hassle to have consistent drive letters across load generators, so some organizations reserver certain drive letters for specific locations.
3. Open the LoadRunner service within Services (accessed from Control Panel, Administrative Tasks),
4. Click the "Login" tab.
5. Specify the username and password the load generator service will use. (A dot appears in front of the username if the userid is for the local domain).
6. Stop and start the service again.

31. What is Ramp up? How do you set this?
This option is used to gradually increase the amount of Vusers/load on the server. An initial value is set and a value to wait between intervals can be specified. To set Ramp Up, go to ‘Scenario Scheduling Options’

32. What is the advantage of running the Vuser as thread?
VuGen provides the facility to use multithreading. This enables more Vusers to be run pergenerator. If the Vuser is run as a process, the same driver program is loaded into memory for each Vuser, thus taking up a large amount of memory. This limits the number of Vusers that can be run on a single generator. If the Vuser is run as a thread, only one instance of the driver program is loaded into memory for the given number of Vusers (say 100). Each thread shares the memory of the parent driver program, thus enabling more Vusers to be run per generator.

33. If you want to stop the execution of your script on error, how do you do that?
The lr_abort function aborts the execution of a Vuser script. It instructs the Vuser to stop executing the Actions section, execute the vuser_end section and end the execution. This function is useful when you need to manually abort a script execution as a result of a specific error condition. When you end a script using this function, the Vuser is assigned the status "Stopped". For this to take effect, we have to first uncheck the Continue on error option in Run-Time Settings.

34. What is the relation between Response Time and Throughput?
The Throughput graph shows the amount of data in bytes that the Vusers received from the server in a second. When we compare this with the transaction response time, we will notice that as throughput decreased, the response time also decreased. Similarly, the peak throughput and highest response time would occur approximately at the same time.
35. Explain the Configuration of your systems?
The configuration of our systems refers to that of the client machines on which we run the Vusers. The configuration of any client machine includes its hardware settings, memory, operating system, software applications, development tools, etc. This system component configuration should match with the overall system configuration that would include the network infrastructure, the web server, the database server, and any other components that go with this larger system so as to achieve the load testing objectives.

36. How do you identify the performance bottlenecks?
Performance Bottlenecks can be detected by using monitors. These monitors might be application server monitors, web server monitors, database server monitors and network monitors. They help in finding out the troubled area in our scenario which causes increased response time. The measurements made are usually performance response time, throughput, hits/sec, network delay graphs, etc.

37. If web server, database and Network are all fine where could be the problem?
The problem could be in the system itself or in the application server or in the code written for the application.

38. How did you find web server related issues?
Using Web resource monitors we can find the performance of web servers. Using these monitors we can analyze throughput on the web server, number of hits per second that occurred during scenario, the number of http responses per second, the number of downloaded pages per second.

39. How did you find database related issues?
By running Database monitor and help of Data Resource Graph we can find database related issues. E.g. You can specify the resource you want to measure on before running the controller and than you can see database related issues .

40. What is the difference between Overlay graph and Correlate graph?
Overlay Graph: It overlay the content of two graphs that shares a common x-axis. Left Y-axis on the merged graph show’s the current graph’s value & Right Y-axis show the value of Y-axis of the graph that was merged. Correlate Graph: Plot the Y-axis of two graphs against each other. The active graph’s Y-axis becomes X-axis of merged graph. Y-axis of the graph that was merged becomes merged graph’s Y-axis.

41. How did you plan the Load? What are the Criteria?
Load test is planned to decide the number of users, what kind of machines we are going to use and from where they are run. It is based on 2 important documents, Task Distribution Diagram and Transaction profile. Task Distribution Diagram gives us the information on number of users for a particular transaction and the time of the load. The peak usage and off-usage are decided from this Diagram. Transaction profile gives us the information about the transactions name and their priority levels with regard to the scenario we are deciding.

42. What does vuser_init action contain?
Vuser_init action contains procedures to login to a server.

43. What does vuser_end action contain?
Vuser_end section contains log off procedures.
44. What is think time? How do you change the threshold?
Think time is the time that a real user waits between actions. Example: When a user receives data from a server, the user may wait several seconds to review the data before responding. This delay is known as the think time. Changing the Threshold: Threshold level is the level below which the recorded think time will be ignored. The default value is five (5) seconds. We can change the think time threshold in the Recording options of the Vugen.

45. What is the difference between standard log and extended log?
The standard log sends a subset of functions and messages sent during script execution to a log. The subset depends on the Vuser type Extended log sends a detailed script execution messages to the output log. This is mainly used during debugging when we want information about: Parameter substitution. Data returned by the server. Advanced trace.

46. What is lr_debug_message ?
The lr_debug_message function sends a debug message to the output log when the specified message class is set.

47. What is lr_output_message ?
The lr_output_message function sends notifications to the Controller Output window and the Vuser log file.

48. What is lr_error_message ?
The lr_error_message function sends an error message to the LoadRunner Output window.

49. What is lrd_stmt?
The lrd_stmt function associates a character string (usually a SQL statement) with a cursor. This function sets a SQL statement to be processed.
50. What is lrd_fetch?
The lrd_fetch function fetches the next row from the result set.

51. What is Throughput?
If the throughput scales upward as time progresses and the number of Vusers increase, this indicates that the bandwidth is sufficient. If the graph were to remain relatively flat as the number of Vusers increased, it would be reasonable to conclude that the bandwidth is constraining the volume of data delivered.

52. Types of Goals in Goal-Oriented Scenario
Load Runner provides you with five different types of goals in a goal oriented scenario:
1. The number of concurrent Vusers
2. The number of hits per second
3. The number of transactions per second
4. The number of pages per minute
The transaction response time that you want your scenario Analysis Scenario (Bottlenecks): In Running Vuser graph correlated with the response time graph you can see that as the number of Vusers increases, the average response time of the check itinerary transaction very gradually increases. In other words, the average response time steadily increases as the load increases. At 56 Vusers, there is a sudden, sharp increase in the average response time. We say that the test broke the server. That is the mean time before failure (MTBF). The response time clearly began to degrade when there were more than 56 Vusers running simultaneously.

53. What is correlation? Explain the difference between automatic correlation and manual correlation?
Correlation is used to obtain data which are unique for each run of the script and which are generated by nested queries. Correlation provides the value to avoid errors arising out of duplicate values and also optimizing the code (to avoid nested queries). Automatic correlation is where we set some rules for correlation. It can be application server specific. Here values are replaced by data which are created by these rules. In manual correlation, the value we want to correlate is scanned and create correlation is used to correlate.

54. Where do you set automatic correlation options?
Automatic correlation from web point of view, can be set in recording options and correlation tab. Here we can enable correlation for the entire script and choose either issue online messages or offline actions, where we can define rules for that correlation. Automatic correlation for database, can be done using show output window and scan for correlation and picking the correlate query tab and choose which query value we want to correlate. If we know the specific value to be correlated, we just do create correlation for the value and specify how the value to be created.

55. Where do you set automatic correlation options?
What is a function to capture dynamic values in the web vuser script? - Web_reg_save_param function saves dynamic data information to a parameter.

BugZilla Interview Questions

1. What is Bugzilla?
Bugzilla is Defect Tracking Systems allow individual or groups of developers to keep track of outstanding bugs in their product effectively. Bugzilla is a open-source bug-tracking software.
Bugzilla offers superior performance on commodity hardware, better price (free!), more developer- friendly features (such as stored queries, email integration, and platform independence), improved scalability, open source code, greater flexibility, and superior ease-of-use.

2. What is Bugzilla's features?
• integrated, product-based granular security schema
• inter-bug dependencies and dependency graphing
• advanced reporting capabilities •
• a robust, stable RDBMS back-end
• extensive configurability •
• a very well-understood and well-thought-out natural bug resolution protocol
• email, XML, console, and HTTP APIs •
• available integration with automated software configuration management systems, including Perforce and CVS (through the Bugzilla email interface and checkin/checkout scripts)

3. why should you use Bugzilla?
Bugzilla can dramatically increase the productivity and accountability of individual employees by providing a documented workflow and positive feedback for good performance.

4. Bugzilla Components
• Administration of a bugzilla:
(editcomponents.cgi, editgroups.cgi, editkeywords.cgi, editparams.cgi, editproducts.cgi, editusers.cgi, editversions.cgi, and sanitycheck.cgi.)
• Bugzilla-General: (Creating/Changing Bugs, Creating, changing, and viewing bugs. enter_bug.cgi, post_bug.cgi, show_bug.cgi and process_bug.cgi.)
• The bugzilla documentation
• Email, Anything to do with email sent by Bugzilla. processmail
• The installation process of Bugzilla
• Query/Buglist, Anything to do with searching for bugs and viewing the buglists. query.cgi and buglist.cgi
• Reporting/Charting, Getting reports from Bugzilla. reports.cgi and duplicates.cgi
• User Accounts, Anything about managing a user account from the user's perspective. userprefs.cgi, saved queries, creating accounts, changing passwords, logging in, etc.
• User Interface, General issues having to do with the user interface cosmetics (not functionality) including cosmetic issues, HTML templates, etc.

5. How to create a Bugzilla Account?
1. Enter your "E-mail address" and "Real Name" (or whatever name you want to call yourself) in the spaces provided, then select the "Create Account" button.
2. Within moments, you should receive an email to the address you provided above, which contains your login name (generally the same as the email address), and a password you can use to access your account. This password is randomly generated, and should be changed at your nearest opportunity (we'll go into how to do it later).
3. Click the "Log In" link in the yellow area at the bottom of the page in your browser, then enter your "E-mail address" and "Password" you just received into the spaces provided, and select "Login".

6. How do I change my user name in Bugzilla??
You can't. However, the administrative account can, by simply opening your user account in editusers.cgi and changing the login name.

7. What is The Bugzilla Query Page?
The Bugzilla Query Page is the heart and soul of the Bugzilla user experience. It is the master interface where you can find any bug report, comment, or patch currently in the Bugzilla system.

The first thing you need to notice about the Bugzilla Query Page is that nearly every box you see on your screen has a hyperlink nearby, explaining what it is or what it does. Near the upper-left-hand corner of your browser window you should see the word "Status" underlined. Select it.

Here is a example that how to make a few successful queries to find out what there are in the Bugzilla bug-tracking system itself.
1. Ensure you are back on the "Bugzilla Query Page". Do nothing in the boxes marked "Status", "Resolution", "Platform", "OpSys", "Priority", or "Severity". The default query for "Status" is to find all bugs that are NEW, ASSIGNED, or REOPENED, which is what we want. If you don't select anything in the other 5 scrollboxes there, then you are saying that "any of these are OK"; we're not locking ourselves into only finding bugs on the "DEC" Platform, or "Windows 95" OpSys (Operating System).
2. Basically, selecting anything on the query page narrows your search down. Leaving stuff unselected, or text boxes unfilled, broadens your search.
You see the box immediately below the top six boxes that contains an "Email" text box, with the words "matching as", a drop-down selection box, then some checkboxes with "Assigned To" checked by default? This allows you to filter your search down based upon email address. Let's put my email address in there, and see what happens.
Type "yourname@gmail.com" in the top Email text box.
3. Let's narrow the search some more. Scroll down until you find the box with the word "Program" over the top of it. This is where we can narrow our search down to only specific products (software programs or product lines) in our Bugzilla database. Please notice the box is a scrollbox. Using the down arrow on the scrollbox, scroll down until you can see an entry called "Bugzilla". Select this entry.
4. Did you notice that some of the boxes to the right changed when you selected "Bugzilla"? Every Program (or Product) has different Versions, Components, and Target Milestones associated with it. A "Version" is the number of a software program.
5. OK, now let's select the "Bugzilla" component from its scrollbox. 6. Skip down the page a bit -- do you see the "submit query" button? Select it, and let's run this query!
7. Congratulations! You've completed your first Query.

8. What is about the Bug List page?
Change Columns: by selecting this link, you can show all kinds of information in the Bug List
Change several bugs at once: If you have sufficient rights to change all the bugs shown in the Bug List, you can mass-modify them. This is a big time-saver.
Send mail to bug owners: If you have many related bugs, you can request an update from every person who owns the bugs in the Bug List asking them the status.
Edit this query: If you didn't get exactly the results you were looking for, you can return to the Query page through this link and make small revisions to the query you just made so you get more accurate results.

9. How to Write a Useful Bug Report with Bugzilla
Useful bug reports are ones that get bugs fixed. A useful bug report normally has two qualities:
Reproducible. If an engineer can't see it or conclusively prove that it exists, the engineer will probably stamp it WORKSFORME or INVALID, and move on to the next bug. Every relevant detail you can provide helps.
Specific. The quicker the engineer can isolate the issue to a specific problem, the more likely it'll be expediently fixed. If you're crashing on a site, please take the time to isolate what on the page is triggering the crash, and include it as an HTML snippet in the bug report if possible. (Specific bugs have the added bonus of remaining relevant when an engineer actually gets to them; in a rapidly changing web, a bug report of "foo.com crashes my browser" becomes meaningless after the site experiences a half-dozen redesigns and hundreds of content changes.)

1. Go back to http://landfill.tequilarista.org/bugzilla-tip/ in your browser.
2. Select the Enter a new bug report link.
3. Select a product.
4. Now you should be at the "Enter Bug" form. The "reporter" should have been automatically filled out for you (or else Bugzilla prompted you to Log In again -- you did keep the email with your username and password, didn't you?).
5. Select a Component in the scrollbox.
6. Bugzilla should have made reasonable guesses, based upon your browser, for the "Platform" and "OS" drop-down boxes. If those are wrong, change them -- if you're on an SGI box running IRIX, we want to know!
7. Fill in the "Assigned To" box with the email address you provided earlier. This way you don't end up sending copies of your bug to lots of other people, since it's just a test bug.
8. Leave the "CC" text box blank. Fill in the "URL" box with "http://www.mozilla.org".
9. Enter "The Bugzilla Guide" in the Summary text box, and place any comments you have on this tutorial, or the Guide in general, into the Description box.

Voila! Select "Commit" and send in your bug report! Next we'll look at resolving bugs.

10. How to Enter your Useful Bug Report into Bugzilla
From the Bugzilla main page (http://bugzilla.mozilla.org), choose "Enter a new bug".
Select the product that you've found a bug in.
Now, fill out the form. Here's what it all means:
Where did you find the bug? --- which product,which product version,which component, which hardware platform ,which Operating System

How important is the bug? -- Severity

Who will be following up on the bug? -- Which engineer should be responsible for fixing this bug? Who else should receive e-mail updates on changes to this bug?

What else can you tell the engineer about the bug? -- On what URL did you discover this bug? How would you describe the bug, in approximately 60 or fewer characters?

11. How to manage a Bug Reports with Bugzilla
You should have a link to the bug you just created near the top of your page. It should say "Bug XXXX posted", with a link to the right saying "Back to BUG# XXXX". Select this link.
1.Scroll down a bit on the subsequent page, until you see the "Resolve bug, changing resolution to (dropdown box). Normally, you would "Accept bug (change status to ASSIGNED)", fix it, and then resolve. But in this case, we're going to short-circuit the process because this wasn't a real bug. Change the dropdown next to "Resolve Bug" to "INVALID", make sure the radio button is marked next to "Resolve Bug", then click "Commit".
2. Hey! It said it couldn't take the change in a big red box! That's right, you must specify a Comment in order to make this change. Select the "Back" button in your browser, add a Comment, then try Resolving the bug with INVALID status again. This time it should work.

12. Where can I find my user preferences?
Customized User Preferences offer tremendous versatility to your individual Bugzilla experience. Let's plunge into what you can do! The first step is to click the "Edit prefs" link at the footer of each page once you have logged in to Landfill.

13. What about Account Settings page?
On this page, you can change your basic Account Settings, including your password and full name. For security reasons,

14. What about Email Settings page?
Here you can reduce or increase the amount of email sent you from Bugzilla.

15. What about "Watching" Users functionality?
By entering user email names into the "Users to watch" text entry box, delineated by commas, you can watch bugs of other users. This powerful functionality enables seamless transitions as developers change projects, managers wish to get in touch with the issues faced by their direct reports, or users go on vacation.

16. What about Page Footer ?
By default, this page is quite barren. However, go explore the Query Page some more; you will find that you can store numerous queries on the server, so if you regularly run a particular query it is just a drop-down menu away. On this page of Preferences, if you have many stored queries you can elect to have them always one-click away!

17. How does Bugzilla stack up against other bug-tracking databases?
Still can't find any head-to-head comparisons of Bugzilla against other defect-tracking software.

18. Is Bugzilla web-based or do you have to have specific software or specific operating system on your machine?
It is web and e-mail based. You can edit bugs by sending specially formatted email to a properly configured Bugzilla, or control via the web.

19. Does Bugzilla allow the user to track multiple projects?
Absolutely! You can track up to a "soft-limit" of around 64 individual "Products", that can each be composed of as many "Components" as you want. Check the Administration section of the Bugzilla Guide for more information regarding setting up Products and Components.

20. If I am on many projects, and search for all bugs assigned to me, will Bugzilla list them for me and allow me to sort by project, severity etc?
Yes.

21. Does Bugzilla allow attachments (text, screenshots, urls etc)? If yes, are there any that are NOT allowed?
Yes. There are many specific MIME-types that are pre-defined by Bugzilla, but you may specify any arbitrary MIME-type you need when you upload the file. Since all attachments are stored in the database, however, I recommend storing large binary attachments elsewhere in the web server's file system and providing a hyperlink as a comment, or in the provided "URL" field in the bug report.

22. Does Bugzilla allow us to define our own priorities and levels? Do we have complete freedom to change the labels of fields and format of them, and the choice of acceptable values?
Yes. However, modifying some fields, notably those related to bug progression states, also require adjusting the program logic to compensate for the change. There is no GUI for adding fields to Bugzilla at this time.

23. Does Bugzilla provide any reporting features, metrics, graphs, etc?
Yes. Look at http://link.fyicenter.com/view.php?ID=919 for basic reporting facilities.
For more advanced reporting, I recommend hooking up a professional reporting package, such as Crystal Reports, and use ODBC to access the MySQL database. You can do a lot through the Query page of Bugzilla as well, but right now Advanced Reporting is much better accomplished through third-party utilities that can interface with the database directly.
Advanced Reporting is a Bugzilla 3.X proposed feature.

24. The index.html page doesn't show the footer. It's really annoying to have to go to the querypage just to check my "my bugs" link. How do I get a footer on static HTML pages?
It's possible to get the footer on the static index page using Server Side Includes (SSI). The trick to doing this is making sure that your web server is set up to allow SSI and specifically, the #exec directive. You should also rename index.html to index.shtml.
After you've done all that, you can add the following line to index.shtml:
< !--#exec cmd="/usr/bin/perl -e "require 'CGI.pl'; PutFooter();"" -->
This line will be replaced with the actual HTML for the footer when the page is requested, so you should put this line where you want the footer to appear.
Because this method depends on being able to use a #exec directive, and most ISP's will not allow that, there is an alternative method. You could have a small script (such as api.cgi) that basically looks like:
#!/usr/bonsaitools/bin/perl -w
require 'globals.pl';
if ($::FORM{sub} eq 'PutFooter') {
PutFooter();
} else {
die 'api.cgi was incorrectly called';
}
and then put this line in index.shtml.


25. Is there email notification and if so, what do you see when you get an email? Do you see bug number and title or is it only the number?
Email notification is user-configurable. The bug id and Topic of the bug report accompany each email notification, along with a list of the changes made.

26. Can email notification be set up to send to multiple people, some on the To List, CC List, BCC List etc?
Yes.

27. Can email notification be set up to send to multiple people, some on the To List, CC List, BCC List etc?
Yes.

28. If there is email notification, do users have to have any particular type of email application?
Bugzilla email is sent in plain text, the most compatible mail format on the planet.

29. If I just wanted to track certain bugs, as they go through life, can I set it up to alert me via email whenever that bug changes, whether it be owner, status or description etc.?
Yes. Place yourself in the "cc" field of the bug you wish to monitor. Then change your "Notify me of changes to" field in the Email Settings tab of the User Preferences screen in Bugzilla to the "Only those bugs which I am listed on the CC line" option.

30. Does Bugzilla allow data to be imported and exported? If I had outsiders write up a bug report using a MS Word bug template, could that template be imported into "matching" fields? If I wanted to take the results of a query and export that data to MS Excel, could I do that?
Mozilla allows data export through a custom DTD in XML format. It does not, however, export to specific formats other than the XML Mozilla DTD. Importing the data into Excel or any other application is left as an exercise for the reader.
If you create import filters to other applications from Mozilla's XML, please submit your modifications for inclusion in future Bugzilla distributions.
As for data import, any application can send data to Bugzilla through the HTTP protocol, or through Mozilla's XML API. However, it seems kind of silly to put another front-end in front of Bugzilla; it makes more sense to create a simplified bug submission form in HTML.

31. Has anyone converted Bugzilla to another language to be used in other countries? Is it localizable?
Currently, no.

32. Can a user create and save reports? Can they do this in Word format? Excel format?
Can a user create and save reports? Yes. Can they do this in Word format? No. Excel format? No.

33. Can a user re-run a report with a new project, same query?
Yes.

34. Can a user modify an existing report and then save it into another name?
You can save an unlimited number of queries in Bugzilla. You are free to modify them and rename them to your heart's desire.

35. Does Bugzilla have the ability to search by word, phrase, compound search?
You have no idea. Bugzilla's query interface, particularly with the advanced Boolean operators, is incredibly versatile.

36. Can the admin person establish separate group and individual user privileges?
Yes.

37. Does Bugzilla provide record locking when there is simultaneous access to the same bug? Does the second person get a notice that the bug is in use or how are they notified?
Bugzilla does not lock records. It provides mid-air collision detection, and offers the offending user a choice of options to deal with the conflict.

38. Are there any backup features provided?
MySQL, the database back-end for Bugzilla, allows hot-backup of data.

39. Can users be on the system while a backup is in progress?
Yes. However, commits to the database must wait until the tables are unlocked. Bugzilla databases are typically very small, and backups routinely take less than a minute.

40. Are there any security problems with Bugzilla?
The Bugzilla code has not undergone a complete security audit. It is recommended that you closely examine permissions on your Bugzilla installation, and follow the recommended security guidelines.

41. I don't like/want to use Procmail to hand mail off to bug_email.pl. What alternatives do I have?
You can call bug_email.pl directly from your aliases file, with an entry like this: bugzilla-daemon: "|/usr/local/bin/bugzilla/contrib/bug_email.pl"

42. How do I set up the email interface to submit/change bugs via email?
You can find an updated README.mailif file in the contrib/ directory of your Bugzilla distribution that walks you through the setup.

43. Bugzilla can be used with Oracle?
The current version does not have this capability.

44. Bugs are missing from queries, but exist in the database (and I can pull them up by specifying the bug ID). What's wrong?
You've almost certainly enabled the "shadow database", but for some reason it hasn't been updated for all your bugs. This is the database against which queries are run, so that really complex or slow queries won't lock up portions of the database for other users. You can turn off the shadow database in editparams.cgi. If you wish to continue using the shadow database, then as your "bugs" user run "./syncshadowdb -syncall" from the command line in the bugzilla installation directory to recreate your shadow database. After it finishes, be sure to check the params and make sure that "queryagainstshadowdb" is still turned on. The syncshadowdb program turns it off if it was on, and is supposed to turn it back on when completed; that way, if it crashes in the middle of recreating the database, it will stay off forever until someone turns it back on by hand. Apparently, it doesn't always do that yet.

45. I think my database might be corrupted, or contain invalid entries. What do I do?
Run the "sanity check" utility (./sanitycheck.cgi in the Bugzilla_home directory) from your web browser to see! If it finishes without errors, you're probably OK. If it doesn't come back OK (i.e. any red letters), there are certain things Bugzilla can recover from and certain things it can't. If it can't auto-recover, I hope you're familiar with mysqladmin commands or have installed another way to manage your database. Sanity Check, although it is a good basic check on your database integrity, by no means is a substitute for competent database administration and avoiding deletion of data. It is not exhaustive, and was created to do a basic check for the most common problems in Bugzilla databases.

46. I want to manually edit some entries in my database. How?
There is no facility in Bugzilla itself to do this. It's also generally not a smart thing to do if you don't know exactly what you're doing. However, if you understand SQL you can use the mysqladmin utility to manually insert, delete, and modify table information. Personally, I use "phpMyAdmin". You have to compile a PHP module with MySQL support to make it work, but it's very clean and easy to use.

47. I try to add myself as a user, but Bugzilla always tells me my password is wrong.
Certain version of MySQL (notably, 3.23.29 and 3.23.30) accidentally disabled the "crypt()" function. This prevented MySQL from storing encrypted passwords. Upgrade to the "3.23 stable" version of MySQL and you should be good to go.

48. I think I've set up MySQL permissions correctly, but bugzilla still can't connect.
Try running MySQL from its binary: "mysqld --skip-grant-tables". This will allow you to completely rule out grant tables as the cause of your frustration. However, I do not recommend you run it this way on a regular basis, unless you really want your web site defaced and your machine cracked.

49. How do I synchronize bug information among multiple different Bugzilla databases?
Well, you can synchronize or you can move bugs. Synchronization will only work one way -- you can create a read-only copy of the database at one site, and have it regularly updated at intervals from the main database.
MySQL has some synchronization features builtin to the latest releases. It would be great if someone looked into the possibilities there and provided a report to the newsgroup on how to effectively synchronize two Bugzilla installations.
If you simply need to transfer bugs from one Bugzilla to another, checkout the "move.pl" script in the Bugzilla distribution.

50. Why do I get bizarre errors when trying to submit data, particularly problems with "groupset"?
If you're sure your MySQL parameters are correct, you might want turn "strictvaluechecks" OFF in editparams.cgi. If you have "usebugsentry" set "On", you also cannot submit a bug as readable by more than one group with "strictvaluechecks" ON.

51. How come even after I delete bugs, the long descriptions show up?
This should only happen with Bugzilla 2.14 if you are using the "shadow database" feature, and your shadow database is out of sync. Try running syncshadowdb -syncall to make sure your shadow database is in synch with your primary database.

52. I can't upload anything into the database via the "Create Attachment" link. What am I doing wrong?
The most likely cause is a very old browser or a browser that is incompatible with file upload via POST. Download the latest Netscape, Microsoft, or Mozilla browser to handle uploads correctly.

53. How do I change a keyword in Bugzilla, once some bugs are using it?
In the Bugzilla administrator UI, edit the keyword and it will let you replace the old keyword name with a new one. This will cause a problem with the keyword cache. Run sanitycheck.cgi to fix it.

54. Bugzilla Database Basics
1. To connect to your database: bash#mysql-u root
2. To see all the "spreadsheets" (tables): mysql>show tables from bugs;
3. To see columns from table: mysql> show columns from table;
4. To see all the data in a table: mysql> select * from table;
5. others:
mysqlgt; select * from table where (column = "some info");
mysqlgt; select * from table where (column != "some info");
mysqlgt; show columns from bugs
(exceedingly long output truncated here)
| bug_status| enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED','VERIFIED'
mysqlgt; ALTER table bugs CHANGE bug_status bug_status

55. Step-by-step Install Bugzilla
Installation of bugzilla is pretty straightforward, particularly if your machine already has MySQL and the MySQL-related perl packages installed.

The software packages necessary for the proper running of bugzilla are:
1. MySQL database server and the mysql client (3.22.5 or greater)
2. Perl (5.004 or greater, 5.6.1 is recommended if you wish to use Bundle::Bugzilla)
3. DBI Perl module
4. Data::Dumper Perl module
5. Bundle::Mysql Perl module collection
6. TimeDate Perl module collection
7. GD perl module (1.8.3) (optional, for bug charting)
8. Chart::Base Perl module (0.99c) (optional, for bug charting)
9. DB_File Perl module (optional, for bug charting) 9. 10.The web server of your choice. Apache is recommended.
11.MIME::Parser Perl module (optional, for contrib/bug_email.pl interface)

You should untar the Bugzilla files into a directory that you're willing to make writable by the default web server user (probably "nobody"). You may decide to put the files off of the main web space for your web server or perhaps off of /usr/local with a symbolic link in the web space that points to the Bugzilla directory. At any rate, just dump all the files in the same place, and make sure you can access the files in that directory through your web server.

Once all the files are in a web accessible directory, make that directory writable by your webserver's user. This is a temporary step until you run the post-install checksetup.pl script, which locks down your installation.
Lastly, you'll need to set up a symbolic link to /usr/bonsaitools/bin/perl for the correct location of your perl executable (probably /usr/bin/perl). Otherwise you must hack all the .cgi files to change where they look for perl, or use The setperl.csh Utility, found in Useful Patches and Utilities for Bugzilla. I suggest using the symlink approach for future release compatability.
After you've gotten all the software installed and working you're ready to start preparing the database for its life as a the back end to a high quality bug tracker.
First, you'll want to fix MySQL permissions to allow access from Bugzilla. For the purpose of this Installation section, the Bugzilla username will be "bugs", and will have minimal permissions.
Next, we create the "bugs" user, and grant sufficient permissions for checksetup.pl, which we'll use later, to work its magic. This also restricts the "bugs" user to operations within a database called "bugs", and only allows the account to connect from "localhost". Modify it to reflect your setup if you will be connecting from another machine or as a different user.
Remember to set bugs_password to some unique password.

mysql > GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,
ALTER,CREATE,DROP,REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY
'bugs_password';
mysql> FLUSH PRIVILEGES;

Next, run the magic checksetup.pl script.
It will make sure Bugzilla files and directories have reasonable permissions, set up the data directory, and create all the MySQL tables.
bash# ./checksetup.pl
The first time you run it, it will create a file called localconfig.

What's localconfig for ?
This file contains a variety of settings you may need to tweak including how Bugzilla should connect to the MySQL database.

The connection settings include:
1. server's host: just use "localhost" if the MySQL server is local
2. database name: "bugs" if you're following these directions
3. MySQL username: "bugs" if you're following these directions
4. Password for the "bugs" MySQL account above

You should also install .htaccess files that the Apache webserver will use to restrict access to Bugzilla data files. Once you are happy with the settings, re-run checksetup.pl. On this second run, it will create the database and an administrator account for which you will be prompted to provide information. When logged into an administrator account once Bugzilla is running, if you go to the query page (off of the Bugzilla main menu), you'll find an "edit parameters" option that is filled with editable treats. Should everything work, you will have a nearly empty Bugzilla database and a newly-created localconfig file in your Bugzilla root directory.

The second time you run checksetup.pl, you should become the user your web server runs as, and that you ensure that you set the "webservergroup" parameter in localconfig to match the web server's group name, if any. I believe, for the next release of Bugzilla, this will be fixed so that Bugzilla supports a "webserveruser" parameter in localconfig as well.
Red Hat Bugzilla FAQ

1. What is it?
Bugzilla is a bug tracking system developed at mozilla.org. It was originally used to track the bugs in the Mozilla web browser. Red Hat has customized it to track bugs in our Linux products.

2. How do I enter a bug?
To enter a bug, select Enter a new bug from the main bugzilla page. This will take you to a product selection screen.
From this screen you select the product that you wish to enter a bug for, by selecting the hightlighted product name. This will take you to a bug entry screen.
Example: Red Hat Linux
From the bug entry screen, you need to select the version of the product that you are entering a bug on, along with which component of the product that is having a problem. Components are based on the source rpm that the offending binary rpm is derived from. To find the proper component do you can use one of two common methods:
$ rpm -qip 'binary rpm name'
This should work fine if you already know which rpm the failing binary belongs to.
$ rpm -qif /failing/binary
This will tell you which rpm the binary belongs to and also the source rpm.
After using one of the above methods look for a line that says Source RPM: This is the name of the component you should choose from the list of components in Bugzilla. If still unsure of which component to choose or you are filing a bug to request a new component be added to Bugzilla itself, then choose distribution.
Example: 5.2 and acm
Next, select the Severity of your bug.
Example: Normal.
Then you will select which Architecture your bug occurs on.
Example: If you are using an Intel x86 platform, you will choose i386.
The Cc: field can be used to add someone to the carbon-copy list for all email related to this bug. As the reporter of the bug, you will automatically be copied on any mail, so you do not need to add yourself to this.
Enter a one line description of the bug into the Summary field, and the full description of the bug into the Description field.

3. What happens once I enter a bug?
After you enter a bug, mail is sent both to you and the QA department of Red Hat. A member of the QA department will verify that they can reproduce your bug, and may contact you to get additional information.
After the bug has been verified, it will be assigned to a developer to look into a resolution for the bug.
Once a resolution has been found, the bug will be marked CLOSED with a resolution status.
At each step of the process, you will get an email message that will tell you what has been updated on your bug report.

4. How do I search for a bug?
To search for a bug, select Go to the query page from the main bugzilla page.
The bugzilla search uses an "OR" within each field, with an "AND" between fields. So, if you were to select NEW and VERIFIED from the Status field and normal from the Priority field, you would be asking for all normal priority bugs that are new or verified.

5. How do I submit a patch?
The new Bugzilla system supports the attachment of patches, test cases, and various other forms of file types directly from the bug report screen. Just click on "Create an attachment". You will then be asked for the file name, a one line description, and the file type. After that it will be uploaded to server so that it can be displayed later from the same bug report.

6. Are cookies required?
Yes. If you do not have cookies enabled or are using a browser that does not support cookies, you will be prompted to re-login for each screen. It also allows for special features like stored queries and keeping track of your last query result list.

Bugzilla FAQ - Camino Project <1>

Q. What to do with a bug or feature request?
If you want your bug or feature request to be considered, it’s important to follow the right process. Doing so ensures that it will be seen and considered by the Camino developers.

Q. I found a bug. What should I do?
A. Bugs for Camino are managed through a system called Bugzilla. To report a bug, just go to the bug reporting helper and follow the instructions. Be sure to take the time to search for duplicates in step 1, since repeated reports of the same issue waste both your and developers’ time.
If you’ve never used the system before, you’ll need to create an account first. Creating an account is extremely quick and easy.

Q. Camino crashed! What do I do now?
A. If you can reproduce the crash, file a bug. When reporting a crashing bug, be sure to set the severity to “critical”, add “crash” in the keyword field, and have the following things handy: the URL on which the crash occurred (if the crash was browsing-related), detailed steps to reproduce the crash (if some action was required), and a crash log.
Mac OS X ships with a very helpful tool called Crash Reporter. When Camino crashes and you see a dialog stating “The application Camino has unexpectedly quit”, click the “Submit Report…” button. Copy the entire contents of the “Crash Report:” text field into a new plain-text document (in TextEdit, create a new document and choose Make Plain Text from the Format menu). Once you have saved the text file, you can dismiss the Crash Report dialog. Note: The wording of the dialogs varies slightly between major Mac OS X versions.
If the “The application Camino has unexpectedly quit” dialog fails to appear, you have most likely disabled Crash Reporter and you will have to extract the crash log from the system’s crash logs manually.
After you have filed your initial bug report, attach the file containing the crash log to the bug using the “Create a New Attachment” link. Please do not paste crash reports into the “Comments” field of the bug report.
In addition to taking these steps to obtain the crash report, you should let the Talkback application run and file a report with mozilla.org; this report is used to aggregate crash data and often helps identify causes of crashes that are otherwise not reproducible.

Q. Camino keeps displaying the “spinning beachball” and does not respond.
A. Camino has entered a “hung” state; the only way to end this state is to “force quit” Camino. If you can reproduce the situation, file a bug. Be sure to set the severity to “critical”, add “hang” in the keyword field, and have the following things handy: the URL on which the hang occurred (if the hang was browsing-related), detailed steps to reproduce the hang (if some action was required), and a sample of Camino while it is in the hung state.
Before you force quit Camino, open the Activity Monitor application located in the Utilities subfolder of the Applications folder. On launch, the application should display a window listing various “processes” that are running on your Mac. Select Camino from the list and then click the “Inspect” button. In the window that opens, click the “Sample” button; this will generate a log that will help the developers determine why Camino entered the hung state. When the sample is complete, save the file; you may now close the sample window and force quit Camino.
After you have filed your initial bug report, attach the sample file to the bug using the “Create a New Attachment” link. Please do not paste samples into the “Comments” field of the bug report.

Bugzilla FAQ - Camino Project <2>

Q. There’s a problem with a page that requires a login.
A. In most cases the Camino developers and bug triage team members won’t have access to the site in question. However, there are still ways to generate a bug report that will allow the Camino team to assess the problem and hopefully fix it. When you are on the problematic page, take a screenshot (be sure to obscure any personal or confidential information before attaching the screenshot to your bug); a screenshot is most useful for situations where the page does not display properly.
After taking a screenshot, choose Save As… from the File menu and then select HTML Complete from the Format: drop-down menu at the bottom of the Save dialog. This will save a copy of the page and a folder containing all of the files referenced by that page (if the page is saved as my_page.html, the folder will be called my_page Files). If the page displayed any personal or confidential information (like a password or an account number), drag the saved .html file onto TextEdit and replace that information with a string of X or other characters. Be careful not to edit any of the HTML. It’s probably a good idea to check all of the associated files in the folder to make sure none of them contain personal information, either.
When you’re sure there’s no personal information remaining, select both the folder and the .html file in the Finder, ctrl-click, and choose Create Archive of 2 items from the Finder’s context menu. After you file your bug report, attach this archive and the screenshot (if needed) to the bug using the “Create a New Attachment” link. Make sure to include the URL to the page (again, removing any personal information that might be contained in the URL) in your bug report for reference.

Q. I want a new feature. What should I do?
A. Follow the instructions above for reporting a bug, but pick “Enhancement” as the severity at the last step.

Q. Can’t I just post a message about the bug/feature in the forum instead?
A. You could, but it’s extremely unlikely to be fixed if you don’t file a bug. Developers use Bugzilla to track everything that needs to be done, and anything that isn’t in that system can easily be forgotten. There’s no guarantee a forum post will even be seen by a developer.

Q. Why hasn’t my bug been fixed yet?
A. Camino is developed entirely by a small group of volunteers, working in their free time. Limited developer time means that some bugs and feature requests can wait for months, or even years, until someone has time to address them. The order bugs are fixed in depends on overall project priorities, as well as the difficulty of bugs and the skills and interests of individual developers. Do not complain in a bug or ask why it hasn’t been fixed yet—see the Bugzilla etiquette. The only way to get bugs fixed faster is to contribute in some way (such as fixing them yourself, helping to recruit new developers, or helping out in some other way that frees up developers to spend more time on coding).
Demanding that a bug be fixed, whining, threatening to switch browsers, etc., is always counter-productive. Fixing bugs is simply a question of manpower and complaining in a bug wastes the time of everyone reading bug reports or following the progress of a bug via email.

Q. Why was my bug marked WONTFIX?
A. Camino’s goal is to be lightweight and easy to use. That means that it can’t include every feature that is ever requested. Invariably, some people will be unhappy with the decisions that are made regarding which features aren’t included, but strong leadership is necessary to keep Camino true to its vision. WONTFIX decisions are made by the Camino lead, are made for good reason (even if not explained in the bug), and as such are final. Do not complain or argue in a bug that has been marked WONTFIX. Unless you have new, compelling information to add, do not comment in the bug. Please remember that “x people I talked to said this is really important” is not compelling information. Unless you have have done a statistically valid sample of Camino’s entire target user base (and neither Bugzilla nor online forums are representative samples), you aren’t going to convince anyone.

Q. If only some people want a feature, couldn’t it just be a preference?
A. In general, no. First, every piece of code needs to be written and maintained, both of which take developer time away from bugs and other features. Second, each added preference makes all other preferences slightly less accessible. Camino’s goal is to be lightweight, which means keeping the number of preferences down as well.