<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5212346224822930560</id><updated>2011-11-27T16:06:25.412-08:00</updated><category term='UNIX'/><category term='table'/><category term='answers'/><category term='median'/><category term='capacity'/><category term='C language'/><category term='JAVA'/><category term='LoadBalancer'/><category term='SLAs'/><category term='client'/><category term='Interview questions'/><category term='web'/><category term='C'/><category term='parameters'/><category term='Mediation'/><category term='Protocols'/><category term='monitoring'/><category term='BIlling'/><category term='Skills'/><category term='HTTP'/><category term='rstatd'/><category term='NPA'/><category term='Functional'/><category term='CDR'/><category term='planning'/><category term='websphere'/><category term='coding'/><category term='server'/><category term='NPX'/><category term='performance'/><category term='Telecom'/><category term='percentile'/><category term='LoadRunner'/><category term='LoadRunner interview questions'/><category term='90%'/><category term='WAS'/><title type='text'>Software Testing &amp; QA</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Remote Testers</name><uri>http://www.blogger.com/profile/11484409361852824985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>71</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-5815310913536083382</id><published>2009-11-03T19:09:00.000-08:00</published><updated>2009-11-03T19:10:20.724-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Interview questions'/><category scheme='http://www.blogger.com/atom/ns#' term='C language'/><title type='text'>C Langugage interview Qestions and Answers</title><content type='html'>1) Name the four basic data types in “C” language?&lt;br /&gt;The four basic data types in “c” language are as follows&lt;br /&gt;(i) Char&lt;br /&gt;(ii) Int&lt;br /&gt;(iii) Float&lt;br /&gt;(iv) Double&lt;br /&gt;&lt;br /&gt;2) Describe at least five different format specifiers?&lt;br /&gt;%d: -An integer whole number&lt;br /&gt;%f: -a floating point number&lt;br /&gt;%c: -a single character&lt;br /&gt;%p: -a machine memory address&lt;br /&gt;&lt;br /&gt;3) Define and explain scanf () function?&lt;br /&gt;The Scanf () function can be used to get input into a program and it requires two arguments. First a format specifier defines the type of data to be entered, then the name of the variable in which the input will be stored. This scanf () function is responsible for giving input into the program.&lt;br /&gt;&lt;br /&gt;4) What are the maximum and minimum possible ranges of values for long and short type?&lt;br /&gt;If the int variable is created by default as a ‘long’ type it typically will have a possible range of values from a maximum of +214748347 and a minimum of -2147483648. For ‘short’ type these are the maximum and minimum values +327676 and minimum -32768.&lt;br /&gt;(While answering this question you can specify the approximate value raised to power).&lt;br /&gt;&lt;br /&gt;5) What exactly is a ‘variable scope’, ‘local variables’ and ‘global variables’?&lt;br /&gt;The extent to which a variable is accessible in a program is called the ‘variable scope’.&lt;br /&gt;Variables declared internally inside a function are known as ‘local’ variables.&lt;br /&gt;Variables declared externally outside a function are known as ‘global’ variables.&lt;br /&gt;&lt;br /&gt;6) What are signed values?&lt;br /&gt;When an int variable is declared it can by default contain either positive of negative integer values. These are known as ‘signed’ values. The range of positive values is determined by your system.&lt;br /&gt;&lt;br /&gt;7) Explain about register variables relative to compiler?&lt;br /&gt;A register variable declaration informs the compiler that the specified variable will be heavily used by the program. The intention is for the compiler to place register variables in the machine register of the computer to speed access times. Local internal variables can only be declared as register variables.&lt;br /&gt;&lt;br /&gt;8) State some significant uses of arrays in C programming?&lt;br /&gt;One of the most significant uses of arrays in c programming concerns with their ability to store strings of text. Each element in an array of the char data type can store a single character. Adding the special null character escape sequence in the arrays final element promotes the array to string. It can be referenced using the array name and can be displayed using the %s format specifier.&lt;br /&gt;&lt;br /&gt;9) What is enum used for and state its format?&lt;br /&gt;The enum keyword provides a handy way to create a sequence of integer constants in a concise manner. Optionally the declaration can include a name for the sequence after the enum keyword. The constant names follow with a comma and placed within braces. The name assigned can be used to call the function again at later stage. The constants can be assigned any individual value but the following constant will always increment it by one.&lt;br /&gt;&lt;br /&gt;10)  Explain about the constants which help in debugging?&lt;br /&gt;A #if directive test can be offered with #else and #else if directives. This allows conditional branching of the program to run sections of the code according to the result. Constants defined with a #define directive can be undefined with the #undef directive. The #ifdef directive has a companion directive #ifndef. These commands can be useful when debugging problem code to hide and unhide sections of the program.&lt;br /&gt;&lt;br /&gt;11)  Define and explain about! Operator?&lt;br /&gt;The logical operator! NOT is a unary operator that is used before a single operand. It returns the inverse value of the given operand so if the variable “c” had a value of true then! C would return value of false. The not operator is very much useful in C programs because it can change the value of variables with successful iterations. This ensures that on each pass the value is changed.&lt;br /&gt;&lt;br /&gt;12)  What is operator precedence?&lt;br /&gt;Operator precedence defines the order in which C evaluates expressions.&lt;br /&gt;e.g. in the expression a=6+b*3, the order of precedence determines whether the addition or the multiplication is completed first. Operators on the same row have equal precedence.&lt;br /&gt;&lt;br /&gt;13)  Explain about the functions strcat() and strcmp()?&lt;br /&gt;This function concatenates the source string at the end of the target string. Strcmp() function compares two strings to find out whether they are the same or different. The two strings are compared character by character until there is a mismatch or end of one of the strings is reached, whichever occurs first. If in case two strings are identical, a value of zero is returned. If there is no matches between two strings then a difference of the two non matching values are returned according to ASCII values.&lt;br /&gt;&lt;br /&gt;14)  Why do we use structures?&lt;br /&gt;We use structures for different purposes which are&lt;br /&gt;1) Construct individual arrays&lt;br /&gt;E.g. 1) one array for storing names, another array for storing prices, and another for storing number of pages.&lt;br /&gt;2) Use a structure variable.&lt;br /&gt;A structure contains a number of data types grouped together. These data types may or may not be of the same type.&lt;br /&gt;&lt;br /&gt;15)  State the difference between sprint () and sscanf() Functions?&lt;br /&gt;The sprint() function works similar to the printf() function except for one small difference, instead of sending the output to the screen as printf() does, this function writes the output to an array of characters. Once str has been built, its contents can be displayed on the screen.&lt;br /&gt;&lt;br /&gt;16)  How do you write data to low level disk I/O?&lt;br /&gt;In low level disk I/O, data cannot be written as individual characters, or as strings or as formatted data. There is only one way data can be written to read in low level disk I/O functions as buffer full of bytes. Writing a buffer full of data resembles the fwrite() function.&lt;br /&gt;&lt;br /&gt;17)  Define these functions fopen(), fread(), fwrite() and fseek()?&lt;br /&gt;Fopen(): - On opening a file, a pointer is set up which points to the first record in the file.&lt;br /&gt;Fread(): - The pointer moves to the next record while reading a file. It always reads the file where the pointer is pointed.&lt;br /&gt;Fwrite(): -The pointer moves to the beginning of the next record on closing the file the pointer is deactivated. This pointer writes the record where the pointer is currently places.&lt;br /&gt;Fseek(): - Function lets us move the pointer from one record to another.&lt;br /&gt;&lt;br /&gt;18)  State the difference between Unions and structures?&lt;br /&gt;Both structures and unions are used to group a number of different variables together. But while a structure enables us treat a number of different variables stored at different places in memory, a union enables us to treat the same space in memory as a number of different variables.&lt;br /&gt;&lt;br /&gt;19)  What are the different styles present in WS_OVERLAPPEDWINDOW?&lt;br /&gt;The different styles present in windows are WS_OVERLAPPED, WS_CAPTION, WS_THICKFRAME, WS_MINIMIZEBOX, and WS_MAXIMIZEBOX.&lt;br /&gt;All these macros are #defined in the ‘windows.h’ header file.&lt;br /&gt;&lt;br /&gt;20)  What are the rules for constructing real constants?&lt;br /&gt;Real constants are often called Floating point constants. The real constants could be written in two forms fractional form and exponential form.&lt;br /&gt;These are the following rules while constructing real constants&lt;br /&gt;1) A real constant must have at least one digit&lt;br /&gt;2) It must have a decimal point&lt;br /&gt;3) It could be wither positive or negative&lt;br /&gt;4) Default sign is positive&lt;br /&gt;5) No commas or blanks are allowed within a real constant.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-5815310913536083382?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/5815310913536083382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/11/c-langugage-interview-qestions-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/5815310913536083382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/5815310913536083382'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/11/c-langugage-interview-qestions-and.html' title='C Langugage interview Qestions and Answers'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-8939817791437715133</id><published>2009-10-29T20:39:00.000-07:00</published><updated>2009-10-29T20:40:27.227-07:00</updated><title type='text'>Oracle Database Interview Questions - 2</title><content type='html'>1. Explain the difference between a hot backup and a cold backup and the benefits associated with each.&lt;br /&gt;&lt;br /&gt;A hot backup is basically taking a backup of the database while it is still up and running and it must be in archive log mode. A cold backup is taking a backup of the database while it is shut down and does not require being in archive log mode. The benefit of taking a hot backup is that the database is still available for use while the backup is occurring and you can recover the database to any point in time. The benefit of taking a cold backup is that it is typically easier to administer the backup and recovery process. In addition, since you are taking cold backups the database does not require being in archive log mode and thus there will be a slight performance gain as the database is not cutting archive logs to disk.&lt;br /&gt;&lt;br /&gt;2. You have just had to restore from backup and do not have any control files. How would you go about bringing up this database?&lt;br /&gt;&lt;br /&gt;I would create a text based backup control file, stipulating where on disk all the data files where and then issue the recover command with the using backup control file clause.&lt;br /&gt;&lt;br /&gt;3. How do you switch from an init.ora file to a spfile?&lt;br /&gt;&lt;br /&gt;Issue the create spfile from pfile command.&lt;br /&gt;&lt;br /&gt;4. Explain the difference between a data block, an extent and a segment.&lt;br /&gt;&lt;br /&gt;A data block is the smallest unit of logical storage for a database object. As objects grow they take chunks of additional storage that are composed of contiguous data blocks. These groupings of contiguous data blocks are called extents. All the extents that an object takes when grouped together are considered the segment of the database object.&lt;br /&gt;&lt;br /&gt;5. Give two examples of how you might determine the structure of the table DEPT.&lt;br /&gt;&lt;br /&gt;Use the describe command or use the dbms_metadata.get_ddl package.&lt;br /&gt;&lt;br /&gt;6. Where would you look for errors from the database engine?&lt;br /&gt;&lt;br /&gt;In the alert log.&lt;br /&gt;&lt;br /&gt;7. Compare and contrast TRUNCATE and DELETE for a table.&lt;br /&gt;&lt;br /&gt;Both the truncate and delete command have the desired outcome of getting rid of all the rows in a table. The difference between the two is that the truncate command is a DDL operation and just moves the high water mark and produces a now rollback. The delete command, on the other hand, is a DML operation, which will produce a rollback and thus take longer to complete.&lt;br /&gt;&lt;br /&gt;8. Give the reasoning behind using an index.&lt;br /&gt;&lt;br /&gt;Faster access to data blocks in a table.&lt;br /&gt;&lt;br /&gt;9. Give the two types of tables involved in producing a star schema and the type of data they hold.&lt;br /&gt;&lt;br /&gt;Fact tables and dimension tables. A fact table contains measurements while dimension tables will contain data that will help describe the fact tables.&lt;br /&gt;&lt;br /&gt;10. . What type of index should you use on a fact table?&lt;br /&gt;&lt;br /&gt;A Bitmap index.&lt;br /&gt;&lt;br /&gt;11. Give two examples of referential integrity constraints.&lt;br /&gt;&lt;br /&gt;A primary key and a foreign key.&lt;br /&gt;&lt;br /&gt;12. A table is classified as a parent table and you want to drop and re-create it. How would you do this without affecting the children tables?&lt;br /&gt;&lt;br /&gt;Disable the foreign key constraint to the parent, drop the table, re-create the table, enable the foreign key constraint.&lt;br /&gt;&lt;br /&gt;13. Explain the difference between ARCHIVELOG mode and NOARCHIVELOG mode and the benefits and disadvantages to each.&lt;br /&gt;&lt;br /&gt;ARCHIVELOG mode is a mode that you can put the database in for creating a backup of all transactions that have occurred in the database so that you can recover to any point in time. NOARCHIVELOG mode is basically the absence of ARCHIVELOG mode and has the disadvantage of not being able to recover to any point in time. NOARCHIVELOG mode does have the advantage of not having to write transactions to an archive log and thus increases the performance of the database slightly.&lt;br /&gt;&lt;br /&gt;14. What command would you use to create a backup control file?&lt;br /&gt;&lt;br /&gt;Alter database backup control file to trace.&lt;br /&gt;&lt;br /&gt;15. Give the stages of instance startup to a usable state where normal users may access it.&lt;br /&gt;&lt;br /&gt;STARTUP NOMOUNT - Instance startup&lt;br /&gt;&lt;br /&gt;STARTUP MOUNT - The database is mounted&lt;br /&gt;&lt;br /&gt;STARTUP OPEN - The database is opened&lt;br /&gt;&lt;br /&gt;16. What column differentiates the V$ views to the GV$ views and how?&lt;br /&gt;&lt;br /&gt;The INST_ID column which indicates the instance in a RAC environment the information came from.&lt;br /&gt;&lt;br /&gt;17. How would you go about generating an EXPLAIN plan?&lt;br /&gt;&lt;br /&gt;Create a plan table with utlxplan.sql.&lt;br /&gt;&lt;br /&gt;Use the explain plan set statement_id = 'tst1' into plan_table for a SQL statement&lt;br /&gt;&lt;br /&gt;Look at the explain plan with utlxplp.sql or utlxpls.sql&lt;br /&gt;&lt;br /&gt;18. How would you go about increasing the buffer cache hit ratio?&lt;br /&gt;&lt;br /&gt;Use the buffer cache advisory over a given workload and then query the v$db_cache_advice table. If a change was necessary then I would use the alter system set db_cache_size command.&lt;br /&gt;&lt;br /&gt;19. Explain an ORA-01555&lt;br /&gt;&lt;br /&gt;You get this error when you get a snapshot too old within rollback. It can usually be solved by increasing the undo retention or increasing the size of rollbacks. You should also look at the logic involved in the application getting the error message.&lt;br /&gt;&lt;br /&gt;20. Explain the difference between $ORACLE_HOME and $ORACLE_BASE.&lt;br /&gt;&lt;br /&gt;ORACLE_BASE is the root directory for oracle. ORACLE_HOME located beneath ORACLE_BASE is where the oracle products reside.&lt;br /&gt;&lt;br /&gt;Well, we have gone through the first 25 questions as I would answer them during an interview. Please feel free to add your personal experiences to the answers as it will always improve the process and add your particular touch. As always remember these are "core" DBA questions and not necessarily related to the Oracle options that you may encounter in some interviews. Take a close look at the requirements for any job and try to come up with questions that the interviewer may ask. Next time we will tackle the rest of the questions. Until then, good luck with the process.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-8939817791437715133?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/8939817791437715133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/10/oracle-database-interview-questions-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/8939817791437715133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/8939817791437715133'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/10/oracle-database-interview-questions-2.html' title='Oracle Database Interview Questions - 2'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-7673606270353388279</id><published>2009-10-29T20:37:00.001-07:00</published><updated>2009-10-29T20:37:21.318-07:00</updated><title type='text'>Oracle Database Interview Questions - 1</title><content type='html'>Differentiate between TRUNCATE and DELETE&lt;br /&gt;What is the maximum buffer size that can be specified using the DBMS_OUTPUT.ENABLE function?&lt;br /&gt;Can you use a commit statement within a database trigger?&lt;br /&gt;What is an UTL_FILE.What are different procedures and functions associated with it?&lt;br /&gt;&lt;br /&gt;Difference between database triggers and form triggers?&lt;br /&gt;What is OCI. What are its uses?&lt;br /&gt;What are ORACLE PRECOMPILERS?&lt;br /&gt;What is syntax for dropping a procedure and a function? Are these operations possible?&lt;br /&gt;Can a function take OUT parameters. If not why?&lt;br /&gt;Can the default values be assigned to actual parameters?&lt;br /&gt;What is difference between a formal and an actual parameter?&lt;br /&gt;What are different modes of parameters used in functions and procedures?&lt;br /&gt;Difference between procedure and function.&lt;br /&gt;Can cursor variables be stored in PL/SQL tables.If yes how. If not why?&lt;br /&gt;How do you pass cursor variables in PL/SQL?&lt;br /&gt;How do you open and close a cursor variable.Why it is required?&lt;br /&gt;What should be the return type for a cursor variable.Can we use a scalar data type as return type?&lt;br /&gt;What is use of a cursor variable? How it is defined?&lt;br /&gt;What WHERE CURRENT OF clause does in a cursor?&lt;br /&gt;Difference between NO DATA FOUND and %NOTFOUND&lt;br /&gt;What is a cursor for loop?&lt;br /&gt;What are cursor attributes?&lt;br /&gt;Difference between an implicit &amp; an explicit cursor.&lt;br /&gt;What is a cursor?&lt;br /&gt;What is the purpose of a cluster?&lt;br /&gt;How do you find the numbert of rows in a Table ?&lt;br /&gt;Display the number value in Words?&lt;br /&gt;What is a pseudo column. Give some examples?&lt;br /&gt;How you will avoid your query from using indexes?&lt;br /&gt;What is a OUTER JOIN?&lt;br /&gt;Which is more faster - IN or EXISTS?&lt;br /&gt;When do you use WHERE clause and when do you use HAVING clause?&lt;br /&gt;There is a % sign in one field of a column. What will be the query to find it?&lt;br /&gt;What is difference between SUBSTR and INSTR?&lt;br /&gt;Which datatype is used for storing graphics and images?&lt;br /&gt;What is difference between SQL and SQL*PLUS?&lt;br /&gt;What is difference between UNIQUE and PRIMARY KEY constraints?&lt;br /&gt;What is difference between Rename and Alias?&lt;br /&gt;What are various joins used while writing SUBQUERIES?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-7673606270353388279?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/7673606270353388279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/10/oracle-database-interview-questions-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/7673606270353388279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/7673606270353388279'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/10/oracle-database-interview-questions-1.html' title='Oracle Database Interview Questions - 1'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-789239510328468589</id><published>2009-10-29T09:41:00.000-07:00</published><updated>2009-10-29T09:44:15.360-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mediation'/><category scheme='http://www.blogger.com/atom/ns#' term='NPA'/><category scheme='http://www.blogger.com/atom/ns#' term='NPX'/><category scheme='http://www.blogger.com/atom/ns#' term='Telecom'/><category scheme='http://www.blogger.com/atom/ns#' term='BIlling'/><category scheme='http://www.blogger.com/atom/ns#' term='CDR'/><title type='text'>Mediation Process in Telecom</title><content type='html'>A billing mediation platform is a system used to convert datatypes of a certain type to other datatypes, usually for billing purposes. They are used mostly by telephone companies, who typically need to process UDRs (Usage Detail Records). In call scenarios it is known as CDR (Call Detail Record), and among broadband carriers it's referred to as IPDR.&lt;br /&gt;&lt;br /&gt;This CDR/UDR data formats will consist of data like NPX,NPA,Call Duration,peak time flag,call length and all this data may be represented in binary formats.Mediation Manager will read this data and converts into common normalized format.&lt;br /&gt;&lt;br /&gt;Billing Systems and all other Downstreams systems will convert again this data to component[its own] understandable format.&lt;br /&gt;&lt;br /&gt;Billing mediation platforms get their name from their behavior; they "mediate" between a variety of other systems. In the typical telephone company scenario, the upstream systems (those providing data to the mediation platform) are network elements, such as telephone switches, and the downstream systems (those receiving data from the mediation platform) perform accounting, auditing, archiving, or bill-generation functions. The mediation system collects, collates and prepares data for consumption by the downstream systems, which often accept data only in a limited set of formats.&lt;br /&gt;&lt;br /&gt;Typically a mediation platform is used for the following tasks:&lt;br /&gt;&lt;br /&gt;   1. Collection and validation of CDRs&lt;br /&gt;   2. Filtering out of non billing-relevant CDRs&lt;br /&gt;   3. Collating&lt;br /&gt;   4. Correlation of different input sources CDRs&lt;br /&gt;   5. Aggregation of partial CDRs related to the same call&lt;br /&gt;   6. Format change and CDRs normalization&lt;br /&gt;   7. Business transformation of data&lt;br /&gt;&lt;br /&gt;In a telecom billing scenario, mediation is the first step after receiving a CDR. The mediated CDR is forwarded to a rating engine, which calculates the charge associated with the CDRs.In today's world Rating Engines are more becoming necessary for the telecom billing system to meet the growing variant customer needs for different services.[citation needed]&lt;br /&gt;&lt;br /&gt;Despite the name, not all of the data transferred via billing mediation platforms is actually used for billing purposes. For instance, the mediation software might generate traffic volume statistics based on the number and origin of the records passing through it. Those statistics could then be used for capacity planning, as part of a network monitoring procedure, or for any other business intelligence applications.&lt;br /&gt;&lt;br /&gt;Sophisticated Billing Mediation software from various providers serves end to end functionality for Telecom Operators. Mediation Software Performs various operation from Collection to Downstream Distribution to Modules like Retail Billing, Interconnect Settlement, Business intelligence, Fraud Detection, Revenue Assurance, Test Call Generation. Following list of activities provides an insight on Mediation software activities&lt;br /&gt;&lt;br /&gt;   1. Collection and Archive&lt;br /&gt;   2. Decoding/Encoding&lt;br /&gt;   3. CDR Normalization (Common Format)&lt;br /&gt;   4. Filtering&lt;br /&gt;   5. Conversion&lt;br /&gt;   6. Validation&lt;br /&gt;   7. Record Enrichment (Using Complex Reference Data)&lt;br /&gt;   8. Duplicate Record Detection&lt;br /&gt;   9. Aggregation or Correlation&lt;br /&gt;  10. Buffering&lt;br /&gt;  11. Cloning&lt;br /&gt;  12. Sorting&lt;br /&gt;  13. Downstream Format Mapping&lt;br /&gt;  14. Header and Trailer generation&lt;br /&gt;  15. Downstream Distribution&lt;br /&gt;  16. Error Messaging and Alarms&lt;br /&gt;  17. Auditing and Reports&lt;br /&gt;  18. Reconciliation&lt;br /&gt;  19. Reference Data Configuration&lt;br /&gt;  20. Provisioning services for the subscription.&lt;br /&gt;&lt;br /&gt;Complementary to Billing Mediation functions, comprehensive mediation platforms also provide functionality dedicated to Service Provisioning (the two areas frequently intermix as services configured and used by the end customer result in usage data records generation in the network).&lt;br /&gt;&lt;br /&gt;Mediating between the systems is not the only job that Mediation Platform can do. Actually this can be used as a provisioning agent. The basic provisioning commands can be configured within the mediation system and whenever we get a request for the system which does the provisioning, the request can be converted into a file , in which mediation can append the service provisioning commands and send it to HLR for activating any request. This of course , load dependent but can come very handy when there is a crisis in the other system.&lt;br /&gt;&lt;br /&gt;At core Mediation involves data transfer between various systems with or without modification of data starting Network elements to OSS/BSS systems.Mediation platform for Telecom Practice supports various systems&lt;br /&gt;&lt;br /&gt;    * Retail Billing&lt;br /&gt;    * Wholesale Billing - National and International&lt;br /&gt;    * Network Traffic Management&lt;br /&gt;    * Data Warehousing&lt;br /&gt;    * Reconciliation system&lt;br /&gt;    * Fraud Management&lt;br /&gt;    * Provisioning Feed to Sub-systems&lt;br /&gt;&lt;br /&gt;Telecom operators offer Voice,video,data,fax and internet services to subscribers and partners on various product lines.Mediation products are tuned to provide solutions for complex business challenges.&lt;br /&gt;&lt;br /&gt;Some of the main suppliers of Billing Mediation solutions are the following:&lt;br /&gt;&lt;br /&gt;Ericsson (Multi Mediation). InTec (Inter-mediatE). Comverse (ComverseONE). Ventraq (EventDynamics).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-789239510328468589?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/789239510328468589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/10/mediation-process-in-telecom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/789239510328468589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/789239510328468589'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/10/mediation-process-in-telecom.html' title='Mediation Process in Telecom'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-7855894631716391070</id><published>2009-10-27T10:19:00.001-07:00</published><updated>2009-10-27T20:45:57.166-07:00</updated><title type='text'>LoadRunner Interview questions and Answers -2</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Q42:What is the difference between HTML mode and URL mode?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;HTML based mode, records script for every user action that is performed during recording (hmmm…sounds like QTP) while URL based mode records each and every browser request to the server and resources received from the server. Confused? ok, HTML based mode does recording as you perform clicks and doesn’t give you inside information like what is happening behind the recording while URL based mode records each and every step and emulate Javascript code.&lt;br /&gt;&lt;br /&gt;From the point1) above you can guess, HTML mode would have less correlation to do while URL mode has much more complex correlation requirements.&lt;br /&gt;HTML mode is smaller and is more intuitive to read as the statements are inside the functions corresponding to the user action performed. In the case of URL based, all statements gets recorded into web_url()&lt;br /&gt;HTML mode is recommended for browser applications while URL mode is recommended for non-browser applications.&lt;br /&gt;Lastly, don’t get the impression that I am advocating for HTML mode  . URL mode can be of real help when you want to have control over the resources that need to be or need not to be downloaded, since you have each and every statement in-front of you (point 1)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q43:What is the difference between  concurrent users and simultaneous users?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;All the vusers in a particular scenario are called Concurrent vusers. They may or may not perform the same tasks. On the other hand simultaneous vusers is more to do with rendezvous points. When we set rendezvous points we instruct the system to wait till a certain no of vusers arrive so that they all can do a particular task simultaneously. These vusers performing the same task at the same time are called Simultaneous vusers.&lt;br /&gt;For example in a Yahoo Mail application: Suppose a scenario consists of 100 vusers with 3 tasks – 1) Login, 2) Check no of unread mails 3) Logout. Vusers at 1) + 2) + 3) will be called as concurrent vusers as they are part of same scenario performing some task but if have set a rendezvous point so that say 25 vuser perform the 2) task at the same time these 25 vusers would be termed as simultaneous vusers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q44:What is the difference between process and thread?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Process is defined as the virtual address space and the control information necessary for the execution of a program while Threads are a way for a program to split itself into two or more simultaneously running tasks. In general, a thread is contained inside a process and different threads in the same process share some resources while different processes do not.&lt;br /&gt;Source&lt;br /&gt;In terms of Loadrunner, when we run Vuser as a process, LoadRunner creates 1 process called mmdrv.exe per Vuser. So if we have 10 Vusers, we will have 10 mmdrv.exe processes on our machines.&lt;br /&gt;while when we run Vuser as a thread, LoadRunner creates 1 thread per Vuser. So if we have 10 Vusers, then we will have 1 process with 10 threads running inside it if the limit is 10 threads per process.&lt;br /&gt;Running Vuser as a thread is more memory efficient that running Vuser as a process for obvious reasons that less memory resources are utilized when we run them as thread. I read somewhere that running as a process has an advantage that system becomes more stable. Now how is that         stability achieved? I am not sure…Can someone clarify this point to me?&lt;br /&gt;Note that while running Java Virtual User, JVM’s are loaded per process and will follow the same principle above.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q45:What are the new features in LoadRunner 9.5?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ans: &lt;br /&gt;&lt;br /&gt;--&gt;LoadRunner noobs always struggle finding out the protocol behind a given application. It seems HP has noted the fact and have come out with a cool new feature called Protocol  Advisor. It sits inside VUGen. Protocol Advisor helps you to determine an appropriate protocol for recording a Vuser script. The Protocol Advisor scans your application for elements of different protocols and displays a list of the detected protocols. These protocols can provide a starting point for finding the optimal protocol for your application.&lt;br /&gt;--&gt;Now you have the facility to export the Test Result from VUGen scripts to HTML and open Quality Center defects directly from the report.&lt;br /&gt;--&gt;HP Service Test is now fully integrated with LoadRunner. You simply need to buy a license for service test to use its capabilities. [for the uninitiated, HP Service Test automates the testing process for services (SOA). Read more about it in this document.&lt;br /&gt;--&gt;LoadRunner 9.5 supports Windows Vista SP1. (LoadRunner 9.1 only supported generators while LR9.5 provides support for both generator as well as controller). To use LR9.5 on Vista, make sure that User Account Control (UAC) is enabled for users with User privileges.&lt;br /&gt;--&gt;LoadRunner 9.5 provides support upto .NET Framework 3.5 version and supports .NET and Web Services protocols.&lt;br /&gt;--&gt;LoadRunner is now integrated with a 3rd party software Shunra, to provide you access to WAN emulation. Read the complete list of features here.&lt;br /&gt;Now you can define a Post Collate Command inside the Controller that it will run directly after it collates the results of a scenario run.&lt;br /&gt;--&gt;LR controller has a new utility called Host Security Manager utility that will allow you to create secure communication channels between the LoadRunner Controller and load generators.&lt;br /&gt;--&gt;There is a new Analysis API that will allow you to create an analysis session from test results, analyze raw results of an Analysis session, and extract key session measurements for external use.&lt;br /&gt;--&gt;LR analysis now supports SQL Server 2005.&lt;br /&gt;--&gt;LoadRunner 9.5 no longer supports Windows 2000.&lt;br /&gt;--&gt;LR 9.5 is compatible with Quality Center(QC) 9.2, 10.0 and QTP 9.5 and 10.0 versions.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q46: What is the purpose of using HP - LoadRunner?&lt;/span&gt;&lt;br /&gt;In real world scenario, it is not possible to create situation involving say one thousand users using a system simultaneously so as to test the behavior of the system under such stressful conditions. LoadRunner can create such a situation. &lt;br /&gt;LoadRunner artificially simulates several thousand users - which are called Virtual Users. These artificial / digitally created users are simultaneously forced to operate on the same task, thereby loading the system in a way it is expected to be loaded by real human users in actual practice.&lt;br /&gt;With LoadRunner we can simulate situation with hundreds or thousands of artificial users &amp; we can impose definite, consistent and repeatable loads on the system thereby stressing it from end-to-end. This way we can emulate several business processes &amp; production conditions, which a deployed application is going to encounter.&lt;br /&gt;LoadRunner accurately measures, monitors, and analyzes a system’s performance and functionality.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q.47: What are the essential capabilities we look in a typical application performance-testing Tool?&lt;/span&gt;&lt;br /&gt;Essential capabilities of an application performance testing tool are that: &lt;br /&gt;1) It must be able to test a system which combines many software applications and hardware platforms.&lt;br /&gt;2) It must be able to determine the suitability of a server for any given application.&lt;br /&gt;3) It must be able to test the server before the necessary client software has been developed.&lt;br /&gt;4) It must be able to emulate an environment where multiple clients interact with a single server application.&lt;br /&gt;5) It must be able to test an application under the load of tens, hundreds, or even thousands of potential users.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-7855894631716391070?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/7855894631716391070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/10/loadrunner-interview-questions-and_27.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/7855894631716391070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/7855894631716391070'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/10/loadrunner-interview-questions-and_27.html' title='LoadRunner Interview questions and Answers -2'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-5622748881303199048</id><published>2009-10-27T08:28:00.000-07:00</published><updated>2009-10-27T10:54:57.923-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Interview questions'/><category scheme='http://www.blogger.com/atom/ns#' term='answers'/><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner interview questions'/><title type='text'>LoadRunner interview questions and Answers -1</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Q1.How to get current system time?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A. &lt;span style="font-weight:bold;"&gt;Method#1&lt;/span&gt;: This function is developed to usein Mercury Load Runner peformance tool.&lt;br /&gt;&lt;br /&gt;This main use of this functions to return the current system time at any given&lt;br /&gt;&lt;br /&gt;point of time while load runner script is running.This functiona can be used to&lt;br /&gt;&lt;br /&gt;report transaction times , script starti time and end time.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;long get_secs_since_midnight(void)&lt;br /&gt;{ &lt;br /&gt; char  * curr_hr;         /* pointer to a parameter with current clock hr   */        &lt;br /&gt; char  * curr_min;       /* pointer to a parameter with current clock min*/&lt;br /&gt; char  * curr_sec;       /* pointer to a parameter with current clock sec */&lt;br /&gt; long  current_time,     /* current number of seconds since midnight     */ &lt;br /&gt;       hr_secs,              /* current hour converted to secs                     */&lt;br /&gt;       min_secs,            /* current minutes converted to secs                */&lt;br /&gt;       secs_secs;           /* current number of seconds                          */&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    curr_hr   = lr_eval_string("{current_hr}&gt;");&lt;br /&gt;    curr_min  = lr_eval_string("{current_min}");&lt;br /&gt;    curr_sec  = lr_eval_string("{current_sec}");&lt;br /&gt;&lt;br /&gt; hr_secs   = (atoi(curr_hr)) * 60 * 60;&lt;br /&gt;    min_secs  = (atoi(curr_min)) * 60; &lt;br /&gt;    secs_secs = atoi(curr_sec);&lt;br /&gt;    &lt;br /&gt; current_time = hr_secs + min_secs + secs_secs;&lt;br /&gt;&lt;br /&gt; return(current_time);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Method#2&lt;/span&gt;:&lt;br /&gt;lr_save_datetime( Today is H M S DATE_NOW curr_time ); &lt;br /&gt;lr_output_message(lr_eval_string( {curr_time} ));&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Method#3&lt;/span&gt;:&lt;br /&gt;ou can utilise the parameter value for "Date/Time" where Vugen can extract the date for you depending on the format you want. This is much simpler in writing codes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Method#4&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;typedef long time_t;&lt;br /&gt;&lt;br /&gt;Action()&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;time_t t; &lt;br /&gt;&lt;br /&gt;lr_message("Time in seconds since 1/1/70: ldn" time(&amp;t));&lt;br /&gt;&lt;br /&gt;lr_message("Formatted time and date: s" ctime(&amp;t));&lt;br /&gt;&lt;br /&gt;return 0;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q2:why we insert the rendezvous point while running the scenario.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ans#1 : It is an interrupt point to stop current VUser script execution untill remaining VUsers scripts also executed upto that point.It maintains ' Load Balancing ' while running VUsers script.&lt;br /&gt;&lt;br /&gt;Ans#2:Rendezvous word is come from Greek. Renduvous means Meeting Point .&lt;br /&gt;&lt;br /&gt;consider one scenario that contain 4 Actions.&lt;br /&gt;&lt;br /&gt;1. Download the site&lt;br /&gt;&lt;br /&gt;2. Login&lt;br /&gt;&lt;br /&gt;3. Cash withdraw&lt;br /&gt;&lt;br /&gt;4. Logout.&lt;br /&gt;&lt;br /&gt;100 Vusers perfrom the actions one by one. but we wants emulate the heavy load at Case withdraw action. So we will insert rendezvous point at Cash withdraw action. Vusers will wait at cash withdraw action once all the users will arive at cash withdraw then controller release all users simultaneously.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q3:How do you identify the scenarios to be tested in performance testing for web application?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ans:soon it will be answer(this a frequent question from many companies)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q4:What is load testing?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; - 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q5:What is Performance testing?&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;- 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q6:Did u use LoadRunner? What version?&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;- Yes. Version 8.xx or  9.xx(now a days,use it as 9.xx)&lt;br /&gt;Explain the Load testing process? -&lt;br /&gt;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.&lt;br /&gt;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.&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q7:When do you do load and performance Testing? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q8:What are the components of LoadRunner?&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;- The components of LoadRunner are The Virtual User Generator, Controller, and the Agent process, LoadRunner Analysis and Monitoring, LoadRunner Books Online.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q9:What Component of LoadRunner would you use to record a Script?&lt;/span&gt; - 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q10:What Component of LoadRunner would you use to play Back the script in multi user mode?&lt;/span&gt;&lt;br /&gt; - 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q11:What is a rendezvous point? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q12:What is a scenario?&lt;/span&gt; - 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q13:Explain the recording mode for web Vuser script&lt;/span&gt;? - 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q14:Why do you create parameters? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- 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.&lt;br /&gt;&lt;br /&gt;Q15:What is correlation? Explain the difference between automatic correlation and manual correlation?&lt;br /&gt;&lt;br /&gt; - 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q16:How do you find out where correlation is required? Give few examples from your projects?&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;- 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.  In my project, there was a unique id developed for each customer, it was nothing but Insurance Number, it was generated automatically and it was sequential and this value was unique. I had to correlate this value, in order to avoid errors while running my script. I did using scan for correlation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q17:Where do you set automatic correlation options?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; - 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q18:What is a function to capture dynamic values in the web Vuser script?&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;- Web_reg_save_param function saves dynamic data information to a parameter.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q19:When do you disable log in Virtual User Generator, When do you choose standard and extended logs?&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;- 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&lt;br /&gt;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&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q20: How do you debug a LoadRunner script?&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;- 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.&lt;br /&gt;&lt;br /&gt;Q21 : How do you write user defined functions in LR? Give me few functions you wrote in your previous project? &lt;br /&gt;&lt;br /&gt;- Before we create the User Defined functions we need to create the external&lt;br /&gt;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* &lt;function name&gt;(char*, char*)Examples of user defined functions are as follows:GetVersion, GetCurrentTime, GetPltform are some of the user defined functions used in my earlier project.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q22:What are the changes you can make in run-time settings&lt;/span&gt;? - The Run Time Settings that we make are: a) Pacing - It has iteration count. b) Log - Under this we have Disable Logging Standard Log and c) Extended Think Time - In think time we have two options like Ignore think time and Replay think time. d) General - Under general tab we can set the vusers as process or as multithreading and whether each step as a transaction.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q23:Where do you set Iteration for Vuser testing&lt;/span&gt;? &lt;br /&gt;&lt;br /&gt;- 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.&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q24:What is Ramp up? How do you set this?&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;- 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&lt;br /&gt;specified. To set Ramp Up, go to ‘Scenario Scheduling Options’&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q25:What is the advantage of running the Vuser as thread?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; - VuGen provides the facility to use multithreading. This enables more Vusers to be run per&lt;br /&gt;generator. 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&lt;br /&gt;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&lt;br /&gt;Vusers (say 100). Each thread shares the memory of the parent driver program, thus enabling more Vusers to be run per generator.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q26 : If you want to stop the execution of your script on error, how do you do that?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; - 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 option “Continue on error in Run-Time Settings.&lt;br /&gt;  &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q27: What is the relation between Response Time and Throughput?&lt;/span&gt; &lt;br /&gt;- 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q28:Explain the Configuration of your systems?&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;- 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q29 : How do you identify the performance bottlenecks?&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;- 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.&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q30:How did you find web server related issues?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; - 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&lt;br /&gt;occurred during scenario, the number of http responses per second, the number of downloaded pages per second.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q31 : How did you find database related issues?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; - 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&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q32:Explain all the web recording options?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q33:What is the difference between Overlay graph and Correlate graph?&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;- 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 &amp; 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q34:How did you plan the Load? What are the Criteria?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; - 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q35:What does vuser_init action contain? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- Vuser_init action contains procedures to login to a server.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q36:What does vuser_end action contain?&lt;/span&gt;&lt;br /&gt; - Vuser_end section contains log off procedures.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q37:What is think time? How do you change the threshold?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; -   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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q38:What is the difference between standard log and extended log?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; - 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q39:Explain the following functions:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; - lr_debug_message - The lr_debug_message function sends a debug message to the output log when the specified message class is set. lr_output_message - The lr_output_message function sends notifications to the Controller Output window and the Vuser log file. lr_error_message - The lr_error_message function sends an error message to the LoadRunner Output window. 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. lrd_fetch - The lrd_fetch function fetches the next row from the result set.&lt;br /&gt;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&lt;br /&gt;be reasonable to conclude that the bandwidth is constraining the volume of&lt;br /&gt;data delivered. &lt;br /&gt;Types of Goals in Goal-Oriented Scenario -  Load Runner provides you with five different types of goals in a goal oriented scenario:&lt;br /&gt;The number of concurrent Vusers&lt;br /&gt;The number of hits per second&lt;br /&gt;The number of transactions per second&lt;br /&gt;The number of pages per minute&lt;br /&gt;The transaction response time that you want your scenario&lt;br /&gt;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&lt;br /&gt;increases. At 56 Vusers, there is a sudden, sharp increase in the average response&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q40:What is correlation? Explain the difference between automatic correlation and manual correlation?&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;- 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q41:Where do you set automatic correlation options?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; - 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q42:What is a function to capture dynamic values in the web vuser script?&lt;/span&gt;&lt;br /&gt; - Web_reg_save_param function saves dynamic data information to a parameter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-5622748881303199048?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/5622748881303199048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/10/loadrunner-interview-questions-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/5622748881303199048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/5622748881303199048'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/10/loadrunner-interview-questions-and.html' title='LoadRunner interview questions and Answers -1'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-7219268677695317389</id><published>2009-09-30T09:51:00.000-07:00</published><updated>2009-10-21T22:48:45.673-07:00</updated><title type='text'>What is the difference between two formulae mentioned?</title><content type='html'>Where the different processes go is dependent upon the rquirements.&lt;br /&gt;(Logon+do_something +logoff)* 20 is different to&lt;br /&gt;logon+(do_something )*20+logoff. It all depends upon whether people logon to&lt;br /&gt;do a specific process and leave or whether they repeat it. Only your SME can&lt;br /&gt;tell you the characteristics needed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-7219268677695317389?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/7219268677695317389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/09/what-is-difference-between-two-formulae.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/7219268677695317389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/7219268677695317389'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/09/what-is-difference-between-two-formulae.html' title='What is the difference between two formulae mentioned?'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-811644623936712189</id><published>2009-09-22T04:31:00.000-07:00</published><updated>2009-10-21T22:48:45.850-07:00</updated><title type='text'></title><content type='html'>&lt;img style="visibility:hidden;width:0px;height:0px;" border=0 width=0 height=0 src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bHQ9MTI1MzYxOTAzNDQwNiZwdD*xMjUzNjE5MDY3MTA5JnA9Mzg2MzYxJmQ9Jm49YmxvZ2dlciZnPTEmbz*4OWE3ZDVlZWU5OTY*ZWQ1YThlNDY5MjhmYmViZDM1NSZvZj*w.gif" /&gt;&lt;a href="http://s290.photobucket.com/albums/ll264/sparimi256/?action=view&amp;current=onsoftlogo-laest-1.jpg" target="_blank"&gt;&lt;img src="http://i290.photobucket.com/albums/ll264/sparimi256/onsoftlogo-laest-1.jpg" border="0" alt="Photobucket"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-811644623936712189?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/811644623936712189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/09/photobucket.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/811644623936712189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/811644623936712189'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/09/photobucket.html' title=''/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-8285562265007696968</id><published>2009-09-15T05:30:00.000-07:00</published><updated>2009-10-21T22:48:46.353-07:00</updated><title type='text'>QA documentation</title><content type='html'>TABLES&lt;br /&gt;&lt;br /&gt;Table 3-1. Comparison of Requirements&lt;br /&gt;1. OVERVIEW&lt;br /&gt;&lt;br /&gt;This study was funded by the United States Nuclear Regulatory Commission (NRC) under interagency agreement RES-91-003 between the NRC and the National Institute of Standards and Technology (NIST). As requested by NRC, this report presents a review of Part 2.7, "Quality Assurance Requirements of Computer Software for Nuclear Facility Applications," ASME NQA- 2a-1990 [ASMENQA2], and a review plan for the analysis of software documentation. The results of this study are presented to NRC for consideration and are not endorsed by NRC.&lt;br /&gt;&lt;br /&gt;While this study was conducted relative to the assurance of software for safety systems in nuclear power plants, the results and recommendations contained in this report are applicable to other critical software safety systems. This analysis of documentation and review processes resulted in identifying the issues and tasks involved in software quality assurance (SQA). It also revealed that because most standards are generic (i.e., do not address the needs of a specific industry), tailoring of standards to specific domains must be done to ensure a complete safety evaluation.&lt;br /&gt;&lt;br /&gt;This review is intended to provide NRC reviewers with guidelines for evaluating software used in nuclear power plant safety systems. These evaluations are based on software documentation. Utilities submit vendor products to NRC for approval at the end of product development, and sometimes during development. NRC may conduct audits during the development process. NRC reviewers evaluate these products based on the documentation, reviews, and reports supplied by the vendor. They check for compliance with product plans, safety requirements, and with recommended standards and guidelines for software development and assurance. NRC may be asked to review other types of software products, which may be only one component of a system, or NRC may examine an entire system, consisting of software and other components. The recommendations in this report apply only to the software documentation aspects of the safety evaluation.&lt;br /&gt;&lt;br /&gt;The purpose of this report is to aid the NRC reviewers during safety evaluations. However, this report also includes an appendix which discusses formal reviews conducted at milestones (e.g., at completion of a software lifecycle phase or when necessary to discuss a serious concern). The formal review is conducted by the purchaser and developers of software; this type of review is also appropriate within a utility when it develops the software. Other types of reviews can also be conducted by individuals who prepare reports on products for discussion at the formal review meetings or who, as in the case of NRC reviewers during a safety evaluation, examine the product, its technical documentation and project documentation.&lt;br /&gt;&lt;br /&gt;Although the frame of reference for this study includes only safety systems in nuclear power plants, this report includes recommendations for documentation and reviews in a broader context to ensure completeness. While some software safety systems may be small, other computer systems in the nuclear industry may be larger, may have more complexity and interfaces, and may access or generate large databases. NRC reviewers should have a comprehensive understanding of a complete quality program, regardless of the size and characteristics of the product under review. Depending on the particular software product, NRC reviewers may decide that not all the recommendations in this report are appropriate or may add additional safety- related review items to improve the coverage of safety issues.&lt;br /&gt;&lt;br /&gt;Section 2 of this report includes background information on the uses of [ASMENQA2], documentation, and reviews. Section 3 details the contents of [ASMENQA2] and cites its omissions. Section 4 identifies the necessary types of documents, and provides suggestions for their content. Section 5 provides recommendations for NRC reviewers conducting safety evaluations. Appendix A contains definitions of quality attributes. Finally, Appendix B provides information on the formal review process (which may assist NRC during safety evaluations).&lt;br /&gt;&lt;br /&gt;1.1. Acronyms&lt;br /&gt;&lt;br /&gt;Acronyms used in this report (other than those used to refer to documents) are listed below.&lt;br /&gt;&lt;br /&gt;     O&amp;M       Operation and Maintenance&lt;br /&gt;     PMP       Project Management Plan&lt;br /&gt;     SCM       Software Configuration Management&lt;br /&gt;     SCMP      Software Configuration Management Plan&lt;br /&gt;     SDD       Software Design Description&lt;br /&gt;     SQA       Software Quality Assurance&lt;br /&gt;     SQAP      Software Quality Assurance Plan&lt;br /&gt;     SRS       Software Requirements Specification&lt;br /&gt;     SV&amp;V      Software Verification and Validation&lt;br /&gt;     SVVP      Software Verification and Validation Plan&lt;br /&gt;     SVVR      Software Verification and Validation Report&lt;br /&gt;2. BACKGROUND INFORMATION&lt;br /&gt;&lt;br /&gt;[ASMENQA2] may be used by the vendor to ensure quality in the product, or by the NRC reviewer in safety evaluations. When [ASMENQA2] is the designated governing document, the vendor is not obligated to perform any SQA activity not specifically identified, even if recognized in other standards or documented practices.&lt;br /&gt;&lt;br /&gt;The vendor reviews documentation from a proactive perspective and must adjust processes and software products based on review findings. For the vendor, an SQA plan (SQAP) must provide significant detail, or reference detailed requirements. For consistency within the nuclear industry, the SQAP should be based on a rigorous standard. If NRC is monitoring development of a product, then NRC roles are also proactive.&lt;br /&gt;&lt;br /&gt;When NRC reviewers evaluate a completed product for approval for use within a nuclear power plant, the NRC reviewer is reactive. The reviewer must understand the development and assurance processes that were applied to the product. To do this, the reviewer examines documentation of the processes to seek evidence that the vendor has fulfilled all the applicable requirements for software in safety systems for nuclear power plants. The reviewer will make this determination based in part on standards and practices adopted or recommended for use by the nuclear industry.&lt;br /&gt;&lt;br /&gt;[ASMENQA2] addresses requirements for lifecycle activities, documentation, reviews, and several SQA activities such as records management and procurement procedures. Vendors may use [ASMENQA2] to plan the software quality program. For this reason, this report identifies additional practices, documentation and reviews that may be applicable.&lt;br /&gt;&lt;br /&gt;NRC reviewers should be aware of the total spectrum of issues for software quality. Thus, this report provides general recommendations for documentation and review. In some instances, these recommendations may not be applicable to software safety systems in nuclear power plants. NRC should recommend that vendors justify why a particular document, specific contents of a document, or an activity, are omitted. The justification may be a simple statement (e.g., database documentation is not provided because there is no database).&lt;br /&gt;&lt;br /&gt;Documentation serves as a communication medium informing all involved persons of their responsibilities and the technical specifications related to the product. Documentation also serves as a communication medium for those who build the product, monitor the project, and review the products and processes of the project. Reviewers during development will examine product documentation to learn how the product is being built, while the reviewer at final product evaluation examines how the product was built. The reviewer during development examines plans and interim products to determine whether or not the planned assurance and development activities are sufficient and the evolving product is meeting its assurance criteria. The reviewer at final product evaluation will attempt to verify that appropriate engineering practices were used, assurance activities were properly applied, problems found during development and validation have been corrected, and the resulting product meets its specifications.&lt;br /&gt;&lt;br /&gt;This report provides recommendations for reviews by NRC and provides discussion on reviews by the vendor. In vendor reviews, the primary purpose is to make immediate decisions based on the results of the review. NRC is not present for these reviews. However, in response to a utility's request, NRC may attend reviews or examine project documentation at some point during development; in this case NRC's role is proactive. Descriptions of these reviews are included in this report to aid NRC reviewers' understanding of procedures that should have been performed during development. For the safety review by NRC, the procedures and types of questions are different than those of the formal reviews conducted by the vendors. However, understanding and the results of the development (formal) reviews may be important aids to NRC reviewers.&lt;br /&gt;&lt;br /&gt;[ASMENQA2], its analysis, and all recommendations in this report are based on the waterfall lifecycle model. Readers should be aware that the recommendations in this report may not be totally applicable when other lifecycle models, CASE tools, modern development methodologies, and state-of-the-art concepts for documentation (e.g., hypertext) are used.&lt;br /&gt;&lt;br /&gt;3. CONTENTS OF ASME'S QUALITY ASSURANCE STANDARD&lt;br /&gt;&lt;br /&gt;[ASMENQA2] has been tailored from [IEEE1012] and [IEEE7300], standards on software verification and validation plans (SVVPs) and SQAPs, respectively. [ASMENQA2]'s title indicates that it has been written specifically to provide SQA requirements for developers in the nuclear industry. However, only one section addresses issues specific to nuclear facilities (SV&amp;V section mentions (un)intended functions). Table 3-1 contains recommended SQA activities and documentation and a comparison of [ASMENQA2] and [IEEE7301] relative to these recommendations. [IEEE7301], the most current version of the IEEE SQAP standard, is used because it is more complete than previous versions. While Table 3-1 indicates that both standards address most topics, it does not show the extent of the requirements for each topic. This section provides an overview of [ASMENQA2]'s general contents.&lt;br /&gt;&lt;br /&gt;[ASMENQA2] states that while any software lifecycle model may be used, the model must encompass the activities associated with the model of [IEEE1012] for requirements, design, implementation, test, installation and checkout, and operation and maintenance (O&amp;M). [ASMENQA2] addresses other lifecycle processes, which are referred to as assurance activities in [NIST204, NUREG5930]. One feature of [ASMENQA2] that may be confusing is the fact that it runs through the lifecycle three times. First, it describes the activities of each lifecycle phase. It then lists the documentation for each phase. Finally, it addresses the reviews of each lifecycle phase.&lt;br /&gt;&lt;br /&gt;[ASMENQA2] identifies lifecycle activities and some assurance activities but does not necessarily require documentation of these activities. [IEEE7301] identifies basic SQA documentation requirements without requiring lifecycle activities. However, since [IEEE7301] is a standard describing the content of SQAPs, it is acceptable that it does not explicitly describe SQA activities. [ASMENQA2] cites some documentation requirements from [IEEE7301], identifies lifecycle activities, and specifies reviews on some development products. It does not specify reviews of all lifecycle activities.&lt;br /&gt;&lt;br /&gt;If a standard requires an activity, the standard should contain requirements for the documentation, review, and monitoring of the activity. The inclusion of statements such as the following would be useful: each lifecycle activity shall be documented; reports shall be prepared on each activity's implementation; an SQA review shall verify that the lifecycle activity plan is acceptable and was accomplished (or if not, why not); tracking mechanisms shall provide information to project management and reviewers.&lt;br /&gt;&lt;br /&gt;[ASMENQA2] and the IEEE standards are intended for specific projects, and therefore do not address a vendor's quality management program. A plan based on [ASMENQA2] may reference the vendor's general quality management program (e.g., one based on [ISO9000]).&lt;br /&gt;&lt;br /&gt;Requirements [ASMENQA2] [IEEE7301]&lt;br /&gt;Assurance Activities&lt;br /&gt;SCM&lt;br /&gt;SV&amp;V&lt;br /&gt;&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;&lt;br /&gt;N/A&lt;br /&gt;N/A&lt;br /&gt;SQA Plan Elements&lt;br /&gt;organization for quality responsibilities&lt;br /&gt;identification of applicable software products&lt;br /&gt;standards, practices, conventions&lt;br /&gt;metrics&lt;br /&gt;reviews&lt;br /&gt;audits&lt;br /&gt;documentation&lt;br /&gt;error reporting and corrective action&lt;br /&gt;access control&lt;br /&gt;procurement/supplier&lt;br /&gt;records management&lt;br /&gt;training&lt;br /&gt;tools, techniques, methodologies&lt;br /&gt;risk management&lt;br /&gt;&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;no&lt;br /&gt;yes&lt;br /&gt;no&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;no&lt;br /&gt;yes&lt;br /&gt;no &lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;no&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;Required Documentation&lt;br /&gt;Project Management Plan&lt;br /&gt;SQA Plan&lt;br /&gt;SCM Plan&lt;br /&gt;Configuration Identification Documents&lt;br /&gt;Configuration Change Control Documents&lt;br /&gt;Configuration Status Accounting Documents&lt;br /&gt;SCM Audits and Reviews Documents&lt;br /&gt;SV&amp;V Plan&lt;br /&gt;SV&amp;V Reports (includes Test Reports)&lt;br /&gt;Software Requirements Specification&lt;br /&gt;User's Manual&lt;br /&gt;Software Design Description&lt;br /&gt;Source Code Documents&lt;br /&gt;Installation and Checkout Document&lt;br /&gt;O&amp;M Manual&lt;br /&gt;Maintenance Documents&lt;br /&gt;&lt;br /&gt;no&lt;br /&gt;yes&lt;br /&gt;no&lt;br /&gt;no&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;no&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;no&lt;br /&gt;no&lt;br /&gt;no&lt;br /&gt;yes &lt;br /&gt;no&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;no&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;Stds &amp; Procedures Manual&lt;br /&gt;no&lt;br /&gt;no&lt;br /&gt;no&lt;br /&gt;Required Reviews&lt;br /&gt;Management Reviews&lt;br /&gt;Software Requirements Review&lt;br /&gt;Software Design Review&lt;br /&gt;Source Code Review&lt;br /&gt;Test Report Review&lt;br /&gt;Development Documentation Review&lt;br /&gt;Installation &amp; Checkout Review&lt;br /&gt;&lt;br /&gt;none&lt;br /&gt;yes&lt;br /&gt;yes&lt;br /&gt;no&lt;br /&gt;no&lt;br /&gt;yes&lt;br /&gt;no &lt;br /&gt;SVVP, SCMP&lt;br /&gt;yes&lt;br /&gt;yes, 2 reviews&lt;br /&gt;no&lt;br /&gt;no&lt;br /&gt;no&lt;br /&gt;no&lt;br /&gt;Table 3-1. Comparison of RequirementsProject Management&lt;br /&gt;&lt;br /&gt;Project Management&lt;br /&gt;&lt;br /&gt;Project management is clearly indicated as a basis for software development maturity [SEI91], but neither [ASMENQA2] nor [IEEE7301] require a project management plan (PMP). The argument for its omission may have been that the PMP specifies SQA activities; thus an SQAP would not include requirements for a PMP. However, an SQA standard, especially one that has already been tailored for a particular use, should be complete in identifying all the documentation and activities that comprise a quality project. When NRC reviews the products during development, the NRC reviewers should review the PMP to assess potential capability of the vendor to satisfy the requirements, and ensure that the plans for development were reasonable to begin with. NRC reviewers at final product evaluation should also examine the project management documentation to ensure that the project has been well-managed and that all essential elements of the project have been addressed.&lt;br /&gt;&lt;br /&gt;Software Quality Assurance&lt;br /&gt;&lt;br /&gt;[ASMENQA2] does not address measurement, the use of metrics for measuring quality. Measurement of the software development process and product is valuable to the developing organization. NRC reviewers should be interested in the vendor's reasons for changing processes and technical specifications. The SQAP should identify what measurements are to be taken, when they are to be examined, by whom, their purpose (e.g., to determine if there is a problem, to evaluate effect of change in development process, to examine effectiveness of testing, inspection or other analysis techniques) and who has authority to make changes in any of the processes.&lt;br /&gt;&lt;br /&gt;Information on measurement in the SQAP is helpful to NRC reviewers. For example, periodic checks of test results (e.g., number of errors found) may reveal an error rate outside the control limits. A reviewer may discover that this is due to the fact that inspections were eliminated when the project fell behind schedule. When NRC is involved during development, actions can be recommended to correct the situation. At final product review, if the NRC reviewers have access to problem report data, they can question the reason for the higher error rate and may use this information to make judgments about the fitness of the final product.&lt;br /&gt;&lt;br /&gt;[ASMENQA2] does not address risk management. Since the nuclear community in general must perform system hazard analysis this may be acceptable. However, a citation for risk management in a "software" standard may assure that software risks, or potential hazards, are to be identified from the system hazard analysis reports, and that these risk areas receive extra attention from the SQA activities.&lt;br /&gt;&lt;br /&gt;[ASMENQA2] does not specify required audits. The audits identified in [IEEE7301] are conducted during development, in a contractual environment. NRC has the option to conduct audits during the development process, and at final safety evaluation. At the audits, many of the typical audit questions will be asked at this time, but from a reactive perspective.&lt;br /&gt;&lt;br /&gt;[ASMENQA2] does not address training staff to conduct SQA activities. Again, [ASMENQA2] is intended to be a plan for a specific project; training may be covered in the vendor organization's general quality management program. For completeness, however, the SQAP may cite any special training for the project. With this knowledge from the plan, NRC reviewers can form expectations regarding the product quality.&lt;br /&gt;&lt;br /&gt;Software Configuration Management&lt;br /&gt;&lt;br /&gt;[ASMENQA2] identifies several major software configuration management (SCM) activities and requires documentation of some of these activities. For configuration change control, [ASMENQA2] states that "changes to software shall be formally documented," and for configuration status accounting, "the information that is needed to manage a configuration shall be documented." However, there is no requirement for an SCM plan (SCMP) or other SCM documents (e.g., documentation of SCM audits and reviews). For any project involving more than one person, an SCMP is needed to communicate how SCM will be implemented. The absence of SCM documentation can become significant when a reviewer at final product evaluation tries to identify whether the software products under evaluation are actually those products which were verified and validated.&lt;br /&gt;&lt;br /&gt;Software Verification and Validation&lt;br /&gt;&lt;br /&gt;[ASMENQA2]'s documentation requirements for SV&amp;V include most of the requirements from [IEEE1012], but does not describe them in detail. SV&amp;V documents such as the SVVP and SV&amp;V reports are not specifically mentioned, although some contents of these documents are identified (e.g., description of SV&amp;V tasks, criteria for accomplishing these tasks, results of execution of SV&amp;V activities, test results). Requirements for the content of SV&amp;V documentation should be more detailed in order to ensure that the intent of the requirements are fulfilled. SV&amp;V must be planned, managed, and documented even for small projects.&lt;br /&gt;&lt;br /&gt;Software Test&lt;br /&gt;&lt;br /&gt;Testing is part of the SV&amp;V process. Preparation and planning for the execution of testing occurs throughout the lifecycle, while the execution itself occurs more or less in a phase. Although [IEEE1012] provides detailed requirements for each major category of software testing (component, integration, system, acceptance), [ASMENQA2] treats all testing generically. This can be a problem because each of the major test types has different objectives. Reviewers during development need to verify that the objectives are appropriate and sufficient for product assurance, and reviewers at final product evaluation need to verify that those objectives have been met.&lt;br /&gt;&lt;br /&gt;Acceptance test, which is the final set of validation activities for a product, is not addressed by [ASMENQA2]. In some environments, acceptance tests are planned and performed by the customer. In other environments, the vendor, with customer approval, plans and conducts acceptance tests. NRC should recommend to the nuclear industry that documentation for acceptance test (e.g., plans, procedures, results) should be submitted in the package for NRC review of safety features.&lt;br /&gt;&lt;br /&gt;Software Requirements&lt;br /&gt;&lt;br /&gt;[ASMENQA2] has tailored [IEEE1012] for a specific use. A major weakness of [IEEE1012] and [IEEE7301] is their lack of emphasis on the relationship of software to the system in which it resides and to software safety and computer security requirements. This report attempts to address these concerns.&lt;br /&gt;&lt;br /&gt;[ASMENQA2] is directed at the software only. Software safety systems may be embedded in hardware, and the typical software requirement specification (SRS) may not define how the software fits into the total system. This information should be provided in the SRS. While it is acceptable that the concept phase of [IEEE1012] is not addressed in [ASMENQA2], some information may need to be provided that usually is discussed before deciding to build a product (in the concept phase). For example, some functions of a software safety system may have previously been performed by non-software components. The rationale for making the transition from hardware to software could be important in helping NRC reviewers assess the completeness of the software requirements and whether they have addressed all potential hazards impacting software.&lt;br /&gt;&lt;br /&gt;[ASMENQA2] identifies the minimum content of the SRS which includes a description of functionality, performance, external interfaces, design constraints, and quality attributes. Requirements for safety, computer security, and user documentation are missing. Requirements specific to software safety need to be identified (e.g., trace to test cases, trace through the system documentation) to assure adequate attention to these requirements throughout assurance activities.&lt;br /&gt;&lt;br /&gt;Software Design and Implementation&lt;br /&gt;&lt;br /&gt;[ASMENQA2] specifies general design requirements; however, no consideration is given to security or safety. [ASMENQA2] does not address source code documentation.&lt;br /&gt;&lt;br /&gt;Installation and Checkout&lt;br /&gt;&lt;br /&gt;[ASMENQA2] requires documentation of the approval of the software for operational use.&lt;br /&gt;&lt;br /&gt;Operation and Maintenance&lt;br /&gt;&lt;br /&gt;[ASMENQA2] requires that all modifications made to the software during the O&amp;M phase should be documented.&lt;br /&gt;&lt;br /&gt;Development Documentation Review&lt;br /&gt;&lt;br /&gt;[ASMENQA2] requires review of development documentation, but does not define what development documentation includes. A vendor can easily claim compliance to this requirement by reviewing almost any documentation, but the intent of the requirement may not be fulfilled. Section 4 discusses development documentation.&lt;br /&gt;&lt;br /&gt;4. DOCUMENTATION RECOMMENDATIONS&lt;br /&gt;&lt;br /&gt;Project documentation may include many kinds of documents (e.g., plans, task reports, development products, problem reports, phase summary reports). Project size, criticality (i.e., the severity of the consequence of failure of the system), and complexity are some features that may affect the amount of documentation a project should need. For example, the design documentation may consist of a single document describing both the system architecture and the detailed modules or it may consist of separate documents for the architecture and subsystems. The purpose of this section is not to specify how many documents should be required. Rather, this section identifies the information content needed for any project and the timeliness of requirements so that the information can be used by the vendor, the utility, and the NRC reviewers. Because the NRC reviewers cannot determine the characteristics of the software product without substantial technical specifications, project plans, and reports, NRC should specify the technical products of the vendor that the utility must provide NRC.&lt;br /&gt;&lt;br /&gt;This report expands upon the documentation requirements in [ASMENQA2]. While minimum content requirements are provided for several documents (which include the [ASMENQA2] requirements), some documents may be presented together as a single document. Each of the planning documents may be kept simple and short, but the basic information identified in the recommendations should be addressed. Issues not addressed include the mechanics of document preparation, the medium of the documents (e.g., paper, disk), and requirements for modifying or updating documents. The impact of modern methodologies (e.g., information engineering) on documentation is also not addressed.&lt;br /&gt;&lt;br /&gt;4.1. Project Management Documentation&lt;br /&gt;&lt;br /&gt;PMP's should include project organization, methods, tools, reporting, assurance activities, cost and scheduling estimates. Some of this information may be included in the SQAP. The vendor may have a generic PMP but every project will have some specific information which must be provided. The following recommendations for a PMP are based on [IEEE1058]. PROJECT MANAGEMENT PLAN&lt;br /&gt;&lt;br /&gt;Introduction.&lt;br /&gt;Project Overview. Summary of the project and its goals, the product, major work activities, major work products, major milestones, required resources, and master schedule and budget. Statement of requirements for assurance (e.g., SQAP, SCMP, SVVP).&lt;br /&gt;Project Deliverables. Description of all items used by the developer and items delivered ultimately to the customer.&lt;br /&gt;Evolution. Procedures for reviewing and producing updates to the PMP.&lt;br /&gt;References, Definitions, and Acronyms.&lt;br /&gt;Project Organization.&lt;br /&gt;Process Model. Relationships between project activities. Specification of timing of major milestones, baselines, reviews, work products, project deliverables, and sign-offs. Definition of project initiation and termination activities.&lt;br /&gt;Organization Structure. Description of the internal management structure including authority, responsibility, and communication.&lt;br /&gt;Organizational Boundaries and Interfaces. Project boundaries with other entities (customer, subcontractors, other system components). Interfaces of SCM, SQA and SV&amp;V.&lt;br /&gt;Project Responsibilities. Description of major project activities and who has responsibility for each activity.&lt;br /&gt;Managerial Process.&lt;br /&gt;Management Objectives and Priorities. The philosophy, goals, and priorities for management activities such as reporting mechanisms; priorities among requirements, schedule, and budget; risk management procedures; and, procedures relating to existing software.&lt;br /&gt;Assumptions, Dependencies, and Constraints. Assumptions the project is based upon, events on which the project is dependent, and constraints the project is to be conducted under.&lt;br /&gt;Risk Management. Project risk factors including contractual, technological (e.g., ability of technology to support the safety requirements), size/ complexity/criticality, personnel acquisition and retention, and customer acceptance risks. Mechanisms for tracking the risk factors and implementing contingency plans.&lt;br /&gt;Monitoring and Controlling Mechanisms. Tools and techniques used in monitoring and controlling adherence to the PMP including reporting mechanisms, report format, information flows, and review and audit mechanisms.&lt;br /&gt;Staffing Plan. Types and numbers of personnel assigned, required skill levels, and training necessary.&lt;br /&gt;Technical Process.&lt;br /&gt;Methods, Tools and Techniques. Methods, tools, and techniques used to conduct project activities. References to standards, policies and procedures used.&lt;br /&gt;Software Documentation (may be included here or in SQAP). The documentation requirements, milestones, baselines, reviews, and sign-offs.&lt;br /&gt;Project Support Functions. Reference to (or include here) the SCMP, SQAP, and SVVP. Responsibilities, resource requirements, schedules, and budget for the SCM, SQA, and software verification and validation (SV&amp;V).&lt;br /&gt;Work Packages, Schedule and Budget.&lt;br /&gt;Work Packages. Description of the work packages (i.e., task grouping) for the project activities.&lt;br /&gt;Dependencies. Interdependencies among work packages and dependencies on external events.&lt;br /&gt;Resource Requirements. Estimates of project resources including numbers and types of personnel, computer time, support software, computer hardware, office and laboratory facilities, travel and maintenance requirements.&lt;br /&gt;Budget and Resource Allocation.&lt;br /&gt;Schedule.&lt;br /&gt;Additional Components.&lt;br /&gt;Reference to additional items such as subcontractor management, security for the project, independent V&amp;V, training, facilities, installation, or product maintenance plans.&lt;br /&gt;4.2. Software Quality Assurance Documentation&lt;br /&gt;&lt;br /&gt;The recommendations for the SQAP are listed in Table 3-1 and are discussed in section 3.&lt;br /&gt;&lt;br /&gt;4.3. Software Configuration Management Documentation&lt;br /&gt;&lt;br /&gt;There are several SCM documents that should be produced. The SCMP should describe how the SCM activities (configuration identification, configuration control, status accounting) will be conducted and documented. The other documents report on the SCM activities. The SCMP may exist as a generic plan which can be referenced by any project. Even on a small project it is easy to lose track of the relationship between tested software modules and modules in which software units have been changed. The following recommendations for an SCMP are based on [IEEE828]. [IEEE828] is used not only because of its merits but also because it is serving as the base document for an international standard in ISO/IEC JTC1 SC7 on Software Engineering.&lt;br /&gt;&lt;br /&gt;SOFTWARE CONFIGURATION MANAGEMENT PLAN&lt;br /&gt;&lt;br /&gt;Introduction. Overview of the SCM process, the purpose and scope of the SCMP.&lt;br /&gt;Management. Procedures for establishing SCM organization, and for assigning tasks/responsibilities to all units in the organization.&lt;br /&gt;SCM Activities. Includes configuration identification, configuration control, configuration status accounting and report, and audits/reviews. Include in the description how these activities are to be implemented, which units are responsible for which activities, etc.&lt;br /&gt;Tools, Techniques, and Methodologies. Tools and methodologies to be used for implementing SCM activities.&lt;br /&gt;Records Collection and Retention. Procedures for identifying, assembling, filing, storing, maintaining, and disposing of SCM documentation.&lt;br /&gt;SCMP Maintenance. How the SCMP will be reviewed, updated, or revised while in use.&lt;br /&gt;The following recommendations for the other SCM documents are based on [IEEE828].&lt;br /&gt;&lt;br /&gt;CONFIGURATION IDENTIFICATION DOCUMENTS. Items that comprise a baseline and the procedures for identification of configuration items.&lt;br /&gt;&lt;br /&gt;CONFIGURATION CHANGE CONTROL DOCUMENTS. Changes to the software. A description of the change, the rationale for the change, and the identification of affected baselines.&lt;br /&gt;&lt;br /&gt;CONFIGURATION STATUS ACCOUNTING DOCUMENTS. Information that is needed to manage a configuration item including the following information: status of specifications; status of proposed changes; status of product versions or revisions; reports of approved changes; and, reports of the implementation of installed updates or releases.&lt;br /&gt;&lt;br /&gt;SOFTWARE CONFIGURATION MANAGEMENT AUDITS AND REVIEWS DOCUMENTS.&lt;br /&gt;&lt;br /&gt;4.4. Software Verification and Validation Documentation&lt;br /&gt;&lt;br /&gt;For large or long term projects, the SVVP and the detailed test documentation should be separate documents. For small projects, while the initial planning and SVVP should be completed during the requirements phase, additional information regarding the SV&amp;V tasks, test designs, case, and procedures may be added to the SVVP later. There are several types of SV&amp;V documents that should be produced. The following recommendations for an SVVP are based on [IEEE1012].&lt;br /&gt;&lt;br /&gt;SOFTWARE VERIFICATION AND VALIDATION PLAN&lt;br /&gt;&lt;br /&gt;Objectives. The objectives of performing SV&amp;V should be stated. Sometimes thorough SV&amp;V on every software requirement, design feature, and line of code may not be possible and specific objectives must be selected (e.g., to show that critical performance objectives have been met; to examine software interfaces to the system, especially during failures external to the software).&lt;br /&gt;Management Activities. Review of V&amp;V Plan, review of SV&amp;V results, monitoring of SV&amp;V activities, policies for iteration of tasks, etc.&lt;br /&gt;Schedule of SV&amp;V Tasks. Includes milestones and completion dates.&lt;br /&gt;Organizations. Organizations involved in the SV&amp;V activities and specific responsibilities.&lt;br /&gt;Communication. Communication procedures between design team members, code team members, SV&amp;V team members, and others involved in the project.&lt;br /&gt;Summary of Resources. Staffing, tools, facilities, and finances needed to perform SV&amp;V tasks, etc.&lt;br /&gt;Facilities. Planning of facilities, especially tools for test activities (e.g., simulation, test case generation) that require acquisition, staff training, and test. Planning and providing for test facilities may take as long as software development itself, so adequate time should be allotted. Delayed facility planning may result in inadequate test strategies and execution.&lt;br /&gt;Testing. Distinction among the different types of tests, their objectives, and documentation.&lt;br /&gt;Lifecycle SV&amp;V. Detailed descriptions of SV&amp;V tasks throughout lifecycle. Identifies the following:&lt;br /&gt;SV&amp;V tasks and objectives for each lifecycle phase (e.g., the specific safety objectives as a focus of each task).&lt;br /&gt;Methods and criteria used in performing the SV&amp;V tasks.&lt;br /&gt;Inputs and outputs required for each task.&lt;br /&gt;Schedule for SV&amp;V tasks.&lt;br /&gt;Resources for performing SV&amp;V tasks.&lt;br /&gt;Assumptions concerning schedule, resources, or approach.&lt;br /&gt;Responsibilities for performing the tasks.&lt;br /&gt;SV&amp;V Reporting. Description of how results of implementing the SVVP will be documented.&lt;br /&gt;Anomaly Reporting and Resolution. Description of method for reporting and resolving anomalies, and tracking anomaly resolution.&lt;br /&gt;Policy for Reiterating a SV&amp;V Task. Description of criteria used to determine the extent to which a SV&amp;V task should be reperformed when input is changed.&lt;br /&gt;Policy for Deviating from the Approved Plan. A good reviewer during final product evaluation may pick up some differences between planned and actual activities and ask many questions about the deviation. If procedures were in place and were followed, vendor may be able to demonstrate that the deviation did not detract from quality of the software, or its SV&amp;V.&lt;br /&gt;Configuration Control Procedures. Configuration management procedures on the documentation examined by SV&amp;V tasks; if this information is included only in a SCMP, then reference to the SCMP should appear in the SVVP.&lt;br /&gt;The following recommendations for other SV&amp;V documents are based on [IEEE1012].&lt;br /&gt;&lt;br /&gt;TASK REPORTS. Report on the status, interim results, or final results of a single well-defined task performed during a lifecycle phase. May include information about the relative efficiencies and difficulties of certain tasks, which may lead to adjustments in the development process, such as choice of methodologies or tools, reallocation of SV&amp;V resources, alteration of schedules, etc.&lt;br /&gt;&lt;br /&gt;SOFTWARE VERIFICATION AND VALIDATION PHASE SUMMARY REPORTS. Summary of interim or final results of all SV&amp;V tasks performed during a lifecycle phase. Should be issued for each lifecycle phase. If SV&amp;V tasks are performed by different organizations, the phase summary report will help to consolidate the evaluations of the different organizations.&lt;br /&gt;&lt;br /&gt;ANOMALY REPORTS. The location, impact, cause, criticality, and possible recommendations for each anomaly. Should be generated throughout the lifecycle. Procedures for reporting anomalies might include using key words to characterize each anomaly, severity scales to assess its significance, and procedures for reviewing, approving, and dispatching of the reports.&lt;br /&gt;&lt;br /&gt;SOFTWARE VERIFICATION AND VALIDATION FINAL REPORT. A summary of all SV&amp;V tasks, summary of task results, summary of anomalies and resolution, assessment of overall software quality, and recommendations. This summary may be issued at the end of Installation and Checkout Phase or at conclusion of SV&amp;V effort. It can be used as the baseline for maintenance, to help improve the development process for the next project, and to call attention to outstanding unresolved anomalies.&lt;br /&gt;&lt;br /&gt;4.4.1.Test Documentation&lt;br /&gt;&lt;br /&gt;Although test plans for component, integration, and system testing are usually separate documents, for small projects they may be presented together in one document. In these cases, the document should contain separate, complete sections for each type of testing, since the objectives and test strategies for each type of testing will still differ. If more than one organization is responsible for testing (e.g., developer performs component and integration tests, but an independent agent performs system tests), then separate documentation should be maintained. Such an arrangement should be specified in the SVVP. The following recommendations for test documentation are based on [NASA2100], [DOD2167A], and [FUJII].&lt;br /&gt;&lt;br /&gt;TEST PLANS. Includes: objectives and requirements; basic strategy (e.g., how each type of testing will satisfy specific objectives; an example may be to state what design modules will undergo control flow analysis or data flow analysis); location and schedule of briefings, formal testing, and debriefings; facilities/tools; staff/resources; tentative schedule; review of test cases and procedures; configuration management, procedures for releasing test results; data reduction and analysis; and, review of test results.&lt;br /&gt;&lt;br /&gt;TEST DESIGNS/CASES. Includes: objectives of classes of tests (e.g., logic tests, coverage, boundary tests); traceability to requirements; constraints; initialization; termination; inputs; expected outputs; criteria for evaluating results; and, interfaces exercised.&lt;br /&gt;&lt;br /&gt;TEST PROCEDURES. Description of all test execution procedures including: equipment preparation; support software preparation; and, detailed test procedures (test scenario description; step by step instructions to perform test; actions required by equipment; action to perform in case of error; data reduction/analysis procedures).&lt;br /&gt;&lt;br /&gt;TEST REPORT. Summarizes test execution and results. Includes: test records (date, time, location of test; test team members, witnesses; problems encountered, recovery procedures attempted, outcome of attempt); test results; and, evaluation and recommendations.&lt;br /&gt;&lt;br /&gt;4.5. Requirements Documentation&lt;br /&gt;&lt;br /&gt;4.5.1.Software Requirements Documentation&lt;br /&gt;&lt;br /&gt;There may be functionality in the system whose sole purpose is to prevent a safety hazard from occurring. Such functions need special attention throughout the software development, especially in its documentation. The same holds for computer security requirements; if computer security is not an issue for a product, the SRS should include a statement to that effect. In an SRS that requires a quality attribute, a quantified description of that attribute should be included in the SRS; for characteristics of quality attributes see [SOFTENG]. The following recommendations for an SRS are based on [NASA2100], [ASMENQA2], NIST180, [IEEEP1059], [IEC880], and [IEEE830].&lt;br /&gt;&lt;br /&gt;SOFTWARE REQUIREMENTS SPECIFICATION&lt;br /&gt;&lt;br /&gt;The purpose of the SRS is to provide a description of the software. However, the SRS should also describe the relationship of the software component with the rest of the system. The description may include a graphical representation and an overview description of the services the software provides for the system. However, this information is not sufficient for any reviewer to judge the capability of the software to fulfill the overall system requirements.&lt;br /&gt;&lt;br /&gt;Functionality. Functions the software is to perform, and how inputs are transformed into outputs.&lt;br /&gt;Functions. Description of all operations, equations, mathematical algorithms, logical operations, etc. Safety and security functions should be flagged.&lt;br /&gt;Inputs. Definition of inputs: specify sources of inputs, types, formats, units of measure, timing, and ranges of valid inputs, including accuracies and tolerances, disposition of illegal values, error messages.&lt;br /&gt;Outputs. Definition of outputs: specify destinations of outputs, units of measure, timing, range of valid outputs, including accuracies and tolerances, disposition of illegal values, error messages.&lt;br /&gt;Data Handling. Requirements for database or dictionary.&lt;br /&gt;Performance. Specification of each performance requirement in testable and quantitative terms. The following should be addressed:&lt;br /&gt;Timing and sizing requirements.&lt;br /&gt;Sequence and timing of events, including user interaction tolerances.&lt;br /&gt;Throughput and capacity requirements.&lt;br /&gt;Error detection, isolation, and recovery requirements for data and processes.&lt;br /&gt;Fail-safe requirements.&lt;br /&gt;Quality Attributes. Non-time-related requirements that software must meet such as usability, efficiency, reliability, maintainability, and portability.&lt;br /&gt;Design/Implementation Constraints. Constraints imposed externally (e.g., technical standards, marketing department), hardware limitations (e.g., use of a specific compiler, limits on memory), and by project requirements (e.g., safety features).&lt;br /&gt;External Requirements.&lt;br /&gt;Interfaces (to other systems within or outside nuclear power plant). User, hardware, software, and communications interfaces. The purpose, requirements (e.g., performance, safety, security), and implementation constraints for each interface. For example, requirements for user interface may include screen descriptions and report descriptions.&lt;br /&gt;Environment. Operating conditions (e.g., plant commissioning, refueling).&lt;br /&gt;Safety Requirements.&lt;br /&gt;Identification of the stable modes and error conditions of the software.&lt;br /&gt;Software requirements identified from hazard analysis.&lt;br /&gt;User Interactions (e.g., requirements for signals that indicate safety problems and for information that notifies user of the status of other safety functions).&lt;br /&gt;Security Requirements. Includes access limitations to the system (e.g., log-on procedures and passwords), data protection and recovery methods. These requirements should be prioritized. Security issues may also be identified by hazard analyses.&lt;br /&gt;User Documentation. Description of requirements for content of user documentation.&lt;br /&gt;Man-Machine Specifications. Description of requirements for appropriate and timely signals between system and operator, automatic system actions to prevent danger or damage, etc.&lt;br /&gt;4.5.2.User Documentation&lt;br /&gt;&lt;br /&gt;[ASMENQA2] identifies the minimum content for user documentation including a description of the following: user interaction with the software, training, input and output specifications and format, system limitations, anticipated errors and user response, and user and maintenance support. However, requirements concerning security and safety (e.g., threats, how to override problems, how to respond to warning signals) are not specifically addressed. The following recommendations for user documentation are based on [NASA2100], [ASMENQA2], and [DOD2167A].&lt;br /&gt;&lt;br /&gt;USER'S MANUAL&lt;br /&gt;&lt;br /&gt;Overview of Purpose and Functions. The purpose and main capabilities of the software, and its overall operation in terms of functions, options, and restrictions and limitations.&lt;br /&gt;Installation and Initialization. The procedures for installing, tailoring, and initiating the software including the following:&lt;br /&gt;Equipment setup.&lt;br /&gt;Power-on and power-off.&lt;br /&gt;Bootstrap and load.&lt;br /&gt;Initiation commands.&lt;br /&gt;Initialization of files, variables, or other data.&lt;br /&gt;Tailoring, reconfiguration, adaptation.&lt;br /&gt;Restart. Procedures for restarting software after initialization failures, abnormal termination.&lt;br /&gt;Termination. Procedures for terminating operation, and determining whether normal termination has occurred.&lt;br /&gt;Recovery Steps. Recovery procedures in terms of: check points; collection of failure data; restoring files; and, restoring devices to operational mode.&lt;br /&gt;Inputs.&lt;br /&gt;System inputs. Description of system inputs to the software that may occur while the software is in use and may affect the software's interface with the user (e.g., inputs from a remote sensor). Include applicable attributes of the input such as format, frequency, effect on the software state or mode, allowable range, and units of measure.&lt;br /&gt;User inputs. Description of user inputs including commands, data, and option selection.&lt;br /&gt;Outputs. Description of expected outputs of the software including results of functions, and error messages.&lt;br /&gt;Potential Hazards. Description of user response to unexpected events or problems that could cause serious hazards if user does not respond; description of activities that could cause the need for user response or override.&lt;br /&gt;Functions and their Operations. Description of each function in terms of: purpose of function; step-by-step procedures for execution; and, related functions.&lt;br /&gt;Error Messages. Error messages output by the software, the meaning of each error message, and the corresponding corrective actions to be taken.&lt;br /&gt;4.6. Design and Implementation Documentation&lt;br /&gt;&lt;br /&gt;In general, design rules will also be implemented by the source code (e.g., the modularity features and complexity of the design should transfer to the source code). It is important to ensure that the vendor's plans for modularity and complexity are stated in the design documentation and the modularity and complexity of the design are not lost during implementation. This report addresses design and implementation/source code in two separate documents.&lt;br /&gt;&lt;br /&gt;4.6.1.Design Documentation&lt;br /&gt;&lt;br /&gt;The following recommendations for a design document are based on [NASA2100], [DOD2167A], [APPGUIDE], P1059, and [ASMENQA2].&lt;br /&gt;&lt;br /&gt;SOFTWARE DESIGN DESCRIPTION&lt;br /&gt;&lt;br /&gt;Architectural Design.&lt;br /&gt;The role of the software within the system and the relationships between this software and other software components.&lt;br /&gt;Assumptions about the environment including operating system, user interface, program, data management, data interchange, graphics, and network services, especially assumptions on which safety functions and computer security needs may be based.&lt;br /&gt;Architectural Design Description. The design of the software including:&lt;br /&gt;Logical or functional decomposition.&lt;br /&gt;Description of the modules including mention of the safety and computer security functions.&lt;br /&gt;Design of the modules in terms of execution control and data flow including flagging safety and security functions.&lt;br /&gt;Design requirements/constraints on the modules.&lt;br /&gt;Relationships and interactions between the modules.&lt;br /&gt;A schema for the allocation of functions to modules.&lt;br /&gt;Logical data design - conceptual schema.&lt;br /&gt;Entity/data identification and relationships.&lt;br /&gt;Timing and sequencing.&lt;br /&gt;Implementation constraints.&lt;br /&gt;Each state and mode the software operates in and the modules that execute in each state and mode.&lt;br /&gt;Execution control and data flow between modules in the different states and modes.&lt;br /&gt;Memory and processing time allocation to the modules.&lt;br /&gt;External Interface Design. Allocation of the software's external interface requirements to modules. The design of each interface in terms of:&lt;br /&gt;Information description.&lt;br /&gt;Initiation criteria.&lt;br /&gt;Expected response.&lt;br /&gt;Protocol and conventions.&lt;br /&gt;Error identification, handling and recovery.&lt;br /&gt;Queuing.&lt;br /&gt;Implementation constraints.&lt;br /&gt;Requirements relative to safety and computer security.&lt;br /&gt;Software requirements allocation to modules.&lt;br /&gt;Database description. Reference should be made to the document describing the database, its platform, dependencies, etc., or described it here.&lt;br /&gt;Human interaction. Screens, types of alert mechanisms.&lt;br /&gt;Tracking to any other systems in the plant that have safety functions.&lt;br /&gt;Detailed Design.&lt;br /&gt;Modules Design and Traceability to Architectural Design. The design of the software into its modules and traceability between the architectural design modules and software modules. The traceability with flags on safety features and computer security requirements. Descriptions of the modules should include:&lt;br /&gt;Inputs and outputs.&lt;br /&gt;Functions.&lt;br /&gt;Data descriptions and relationships.&lt;br /&gt;Diagrams.&lt;br /&gt;Control and signal flow.&lt;br /&gt;Error handling/messages.&lt;br /&gt;Interfaces between modules.&lt;br /&gt;Packaging details (placement of modules).&lt;br /&gt;Flags on safety, computer security functions.&lt;br /&gt;Detailed Design of Modules. Design information necessary to code the modules. The information should include:&lt;br /&gt;Detailed design to the lowest level.&lt;br /&gt;Functions or operations.&lt;br /&gt;Algorithms.&lt;br /&gt;Specific data definitions including data conversions.&lt;br /&gt;Local and global data.&lt;br /&gt;Parameters for initiation and adaptation.&lt;br /&gt;Logic flow (control flow; timing variations; priority assignments; interrupt priorities and handling).&lt;br /&gt;Error detection and handling.&lt;br /&gt;Physical data design (internal schema; query language; access method; key, record, and data element definition and structure).&lt;br /&gt;Device interface.&lt;br /&gt;Interrupts and signals.&lt;br /&gt;Limitations that restrict performance of modules.&lt;br /&gt;External Interface Detailed Design. The traceability of the external interface design of the software into its modules. A description of each external interface including:&lt;br /&gt;Type and purpose.&lt;br /&gt;Description of the data transmitted across the interface including purpose, source and destination, data type, data representation, size, units of measure, limit/range, accuracy, precision/resolution.&lt;br /&gt;Messages transmitted and the assignment of data elements to each message.&lt;br /&gt;Priority of interfaces and messages transmitted across them..&lt;br /&gt;Protocol (fragmentation and reassembly of messages; error control and recovery procedures; synchronization; flow control; data transfer rate and minimum transfer rate; routing, addressing and naming conventions; transmission services; status, identification, notification and other reporting features; security).&lt;br /&gt;Description of user responses to system/software safety/security violations.&lt;br /&gt;Coding and Implementation Notes. Information such as stubs for incremental development and use of compiler options.&lt;br /&gt;Information On Planning, Designing, Executing Tests.&lt;br /&gt;4.6.2.Source Code Documentation&lt;br /&gt;&lt;br /&gt;A source code manual should be developed for a project, unless it already exists within the vendor organization, in which case it should be referenced by the SQAP. The source code manual, which may be very general, is used by the programming staff, and possibly also by reviewers when evaluating a product.&lt;br /&gt;&lt;br /&gt;SOURCE CODE MANUAL. Description of the standards and practices for coding, including rules on issues such as the format of the code, maintaining the modularity, complexity, data flow of the design, and commenting the code (e.g., explanations of inputs and outputs). Deviations from the rules stated in the manual should be justified in the source code where deviation occurs and in the accompanying documentation.&lt;br /&gt;&lt;br /&gt;The purpose of supporting documentation for source code is to describe the source code and enable traceability to requirements, design, and test cases. This documentation is especially useful to the development staff, to new staff members, and to the maintenance staff. Examples of information that might be included in this documentation are the following:&lt;br /&gt;&lt;br /&gt;SUPPORTING DOCUMENTATION FOR SOURCE CODE&lt;br /&gt;&lt;br /&gt;Explanation of deviations from the design.&lt;br /&gt;Explanation of deviations from the source code manual.&lt;br /&gt;Explanation of deviations from the programming language standard (e.g., the use of a dialect of the language).&lt;br /&gt;Charts showing the relationship of code modules to design components, or a listing of subroutines that support one design module. This is helpful if the design is at a higher level than the code.&lt;br /&gt;Interface information, if the design is at higher level than code.&lt;br /&gt;Identification of the most critical modules for safety and security.&lt;br /&gt;Comments within modules.&lt;br /&gt;Description of how "controlled practices" are used (e.g., use of techniques to offset risks of using pointers) [NIST190].&lt;br /&gt;4.7. Test Documentation&lt;br /&gt;&lt;br /&gt;Test documentation is a subsection of section 4.4. Software Verification and Validation.&lt;br /&gt;&lt;br /&gt;4.8. Installation and Checkout Documentation&lt;br /&gt;&lt;br /&gt;During installation and checkout the software system is installed and tested to ensure that it performs as required in its operational environment. Documentation for this phase should include the approval of the software for operational use and may include the user's manual, if installation and checkout is to performed by the end-user, rather than the vendor. See section 4.5.2 for content of the user's manual. The following is a minimum content for an installation and checkout document based on [IEEEP1059].&lt;br /&gt;&lt;br /&gt;INSTALLATION AND CHECKOUT DOCUMENT&lt;br /&gt;&lt;br /&gt;Instructions for installation at each site, which accurately and completely represent the actual configuration and are appropriate for the expertise level of the expected installer.&lt;br /&gt;SV&amp;V activities during installation and checkout (see also section 4.4. V&amp;V).&lt;br /&gt;Schedule for installation, if software is to be installed at a large number of sites.&lt;br /&gt;Procedural flowchart or checklist.&lt;br /&gt;4.9. Operation and Maintenance Documentation&lt;br /&gt;&lt;br /&gt;O&amp;M documentation should describe procedures (e.g., preparation, monitoring, fault recovery) executed to operate the software, as well as all modifications made to the software during this phase. The following recommendations for the operational procedures manual is based on [NASA2100] and [DOD2167A].&lt;br /&gt;&lt;br /&gt;OPERATIONAL PROCEDURES MANUAL&lt;br /&gt;&lt;br /&gt;System Preparation and Set-up Procedures.&lt;br /&gt;Power on and off.&lt;br /&gt;Initiation. Description of the following:&lt;br /&gt;Equipment setup and the procedures required for pre-operation.&lt;br /&gt;Procedures necessary to bootstrap the system.&lt;br /&gt;Procedures for loading software and data.&lt;br /&gt;Procedures for initializing files, variables, or other parameters.&lt;br /&gt;Commands typically used during initiation.&lt;br /&gt;Standard Operating Procedures. Detailed description of standard operating procedures including:&lt;br /&gt;Input and output procedures. Description of the following:&lt;br /&gt;Input and output media (e.g., magnetic tape, disk, or cartridge). Explain procedures for reading and writing on these media.&lt;br /&gt;Operating system control language.&lt;br /&gt;Operator procedures for interactive messages and replies (e.g., which terminal to use, passwords, log on/off).&lt;br /&gt;Monitoring procedures. Description of procedures for monitoring software during operation, including:&lt;br /&gt;Applicable trouble and malfunction indications.&lt;br /&gt;Evaluation techniques for fault isolation.&lt;br /&gt;Conditions requiring computer system shutdown.&lt;br /&gt;On-line intervention, abort, and user communications.&lt;br /&gt;Off-line Routine Procedures.&lt;br /&gt;Daily operating procedures (e.g., system back-ups, and logs for maintenance).&lt;br /&gt;Standard safety and security procedures.&lt;br /&gt;On-demand procedures (e.g., in response to user requests).&lt;br /&gt;Fault and Recovery Procedures. Description of automatic and manual procedures to be followed in case of a fault or abnormal condition in the software. Describe the immediate actions and subsequent recovery procedures for every anticipated trouble condition.&lt;br /&gt;Emergency Procedures. Description of procedures to be conducted in emergencies, including:&lt;br /&gt;Procedures for critical system failures.&lt;br /&gt;Environmental emergency procedures (e.g., fires, hurricanes, or thunderstorms).&lt;br /&gt;Safety or security emergency procedures.&lt;br /&gt;Diagnostic Features.&lt;br /&gt;Diagnostic Procedures. Identification of each procedure and its purpose. Also description of the following:&lt;br /&gt;Hardware, software, or firmware necessary to execute the procedures.&lt;br /&gt;Step-by-step instructions for executing the procedure.&lt;br /&gt;Diagnostic messages and the corresponding required action.&lt;br /&gt;Diagnostic Tools. Description of each tool and its application.&lt;br /&gt;The following recommendations for maintenance documents is based on [EWICS2] and [IEEEP1219].&lt;br /&gt;&lt;br /&gt;MAINTENANCE DOCUMENTS. Description of changes made to the software as a result of corrective, adaptive, or perfective maintenance. The modifications should be documented as appropriate in new documents or in addenda to development documents (e.g., SRS, SDD). Various documents are needed to record, track, and implement maintenance. The following are examples of documents that may be used to perform maintenance.&lt;br /&gt;&lt;br /&gt;Anomaly Report. Issued by the operations staff to initiate corrective maintenance.&lt;br /&gt;Modification Feasibility Request. Request issued by the user management to carry out a feasibility study on a proposed modification. Initiates perfective or adaptive maintenance.&lt;br /&gt;Feasibility Report. Issued to user management to report on results of the feasibility study.&lt;br /&gt;Validated Modification Request. Issued by user management either to reject the proposed modification or to proceed.&lt;br /&gt;Maintenance Action Report. Issued to the user management after completion of the required preventive maintenance detailing the work done.&lt;br /&gt;Revalidation Request. Request to retest the system after completion of the required preventive maintenance, or implementation of a modification.&lt;br /&gt;Revalidation and Configuration Management Report. Issued to user management after the necessary revalidation is performed, so user can decide if system should be returned to service.&lt;br /&gt;4.10.Reporting&lt;br /&gt;&lt;br /&gt;The purpose of reporting is to communicate to others information on specific deficiencies in the software or to summarize specific tasks or groups of tasks performed during development (e.g., SQA activities and SV&amp;V activities). These reports should be used during formal reviews that assess the current product and development activities, as well as to improve the development process for future projects. Reports should be generated as necessary (e.g., for each anomaly or at the completion of each major task). There is no set number of required reports; however, the vendor should avoid producing an overabundance of unnecessary reports. Examples of necessary reports for an activity during a particular lifecycle phase include task reports and anomaly reports. Examples of similar reports can be found in section 4.4.&lt;br /&gt;&lt;br /&gt;5. RECOMMENDATIONS FOR REVIEW AT SAFETY EVALUATION&lt;br /&gt;&lt;br /&gt;This section of the report provides recommendations for the NRC review of the safety features of the product. In order to evaluate the product, the reviewers examine all documentation associated with the product and may test the product. Test activities are outside the scope of this study, and are not discussed in this report. Instead, this report focuses on how to evaluate the product based on its documentation. This discussion deals strictly with the evaluation of the software component of the safety system, and not the whole system, although NRC reviewers may examine all components during the safety evaluation. However, the principles identified in this section can be adapted for system reviews, with the addition of system-oriented details.&lt;br /&gt;&lt;br /&gt;At the safety evaluation, reviewers are responsible for assessing that the software meets its software quality objectives (e.g., safety, functionality, reliability, maintainability, reviewability) [SOFTENG]. To perform this evaluation, the reviewers need sufficient information about the product requirements, its development, and its overall quality. At a minimum, the reviewers should have available the following: system requirements/description, system hazard analysis report, project planning documentation (e.g., SQAP, SCMP, SVVP, PMP), development documentation (e.g., SRS, SDD, source code), reports of assurance activities, project reports, and formal review reports.&lt;br /&gt;&lt;br /&gt;The reviewers will also need to evaluate the installation package, which consists of installation procedures, installation medium (e.g., magnetic tape), test case data used to verify installation, and expected output from the test cases. In some instances, the product may already be installed in the utility. NRC should request documentation on the results of installation and acceptance testing.&lt;br /&gt;&lt;br /&gt;O&amp;M documentation should be provided, even though it does not relate directly to the development of the product. The reviewer should check that the operational procedures manual is adequate to ensure that the user will be able to operate the software product safely and correctly. In some instances, the reviewer may be re-evaluating a previously-approved product, which has undergone extensive maintenance. For these reviews, the vendor should provide the maintenance documentation, which describes all modifications made to the original product during the O&amp;M phase.&lt;br /&gt;&lt;br /&gt;An assumption about the NRC review process is that the reviewers may examine some documentation prior to the site visit, where the bulk of the review occurs. The site may be either that of a vendor or utility, depending on the project. If the review occurs at the vendor's site, the reviewer may request interviews with vendor personnel as needed. The review process involves primarily the review of documentation, but not at the same level of detail as the formal reviews conducted during the development process. NRC reviewers focus on how the product was built, on the results of assurance activities, and the tracking of a selected set of inputs through the system (a string check), rather than a detailed examination of the product. NRC reviewers, while interested in the answers to the checklist questions used in formal reviews, are more concerned with how the vendor responded to the findings of the formal reviews. NRC should request results of all vendor/utility assurance activities, and responses to problems. The NRC reviewers may use sections 4 and Appendix B of this report as baselines for examining the documentation. While the reviewers may perform some dynamic or static analyses on the code, discussion of these activities is outside the scope of this task.&lt;br /&gt;&lt;br /&gt;The overall purpose of the safety evaluation review (from the software perspective) is to assess how well the product meets its software quality objectives. Some general types of questions regarding the product, such as the following, guide the reviewers:&lt;br /&gt;&lt;br /&gt;How thoroughly has the vendor analyzed the safety of critical functions of the software?&lt;br /&gt;How well has the vendor established the appropriateness of the functions, algorithms, and knowledge on which the software is based?&lt;br /&gt;How carefully has the vendor implemented the safety and performance requirements of the software?&lt;br /&gt;If any function of the safety system was performed by previous systems (either hardware, firmware, or software), is the software substantially equivalent to the predicate device?&lt;br /&gt;The types of questions listed in the remainder of this section provide guidelines for the safety evaluation and are not a complete list. At any point, the reviewer may find it necessary to explore a topic in more detail, and may refer to the checklists in Appendix B. The checklists for this section are based on [HHSFDA], [IEC880], [EWICS2], [ANS104], and [PARNAS].&lt;br /&gt;&lt;br /&gt;Requirements and Design&lt;br /&gt;&lt;br /&gt;Does the SRS identify safe and unsafe operating states?&lt;br /&gt;Does the SRS identify potentially unsafe operational procedures?&lt;br /&gt;Does the SRS identify measures for monitoring potentially unsafe situations?&lt;br /&gt;What are the safety features and the rationale for them?&lt;br /&gt;Are the safety requirements consistent with the hazard analysis?&lt;br /&gt;Do the safety requirements address both environmental influences and random component failures?&lt;br /&gt;Have the different classes of users been considered?&lt;br /&gt;Are the enforced constraints (legal, company-related) included in the safety criteria?&lt;br /&gt;Does the SRS describe constraints between hardware and software?&lt;br /&gt;Were the functional requirements analyzed for intrinsic hazards?&lt;br /&gt;Are functional requirements classified according to safety criticality?&lt;br /&gt;Does the SRS identify requirements for redundant controls between electro-mechanical and software controls?&lt;br /&gt;Are there requirements for self supervision of the software? Do they meet safety requirements?&lt;br /&gt;Is there modularity in the design?&lt;br /&gt;Have critical components been isolated?&lt;br /&gt;Software Development Methodologies&lt;br /&gt;&lt;br /&gt;Were formal methods used? If so, how much experience does the vendor have with formal methods?&lt;br /&gt;Were design reviews performed and documented?&lt;br /&gt;How was failure analysis of the software conducted? What methods were used (e.g., FMECA)?&lt;br /&gt;If automated tools were used, were they thoroughly tested for adequacy before use?&lt;br /&gt;Was a high level language with a tested translator used? Installation Package&lt;br /&gt;Does the package contain sufficient materials to permit rebuilding and testing of the installed program?&lt;br /&gt;Are the installation procedures clearly understandable? Are the format and content of the tape properly identified?&lt;br /&gt;Can the program be rebuilt from the installation package?&lt;br /&gt;Do the test cases produce results identical with the expected outputs?&lt;br /&gt;Operational Procedures Manual&lt;br /&gt;&lt;br /&gt;Does the manual adequately describe standard operating procedures, as well as emergency procedures, and fault and recovery procedures?&lt;br /&gt;Does the manual adequately describe diagnostic procedures and tools?&lt;br /&gt;Maintenance&lt;br /&gt;&lt;br /&gt;Are all modifications made to the software during maintenance documented?&lt;br /&gt;Is there a formal procedure to start maintenance when problems are found?&lt;br /&gt;Is there a standard procedure to treat all modification requests?&lt;br /&gt;Is there a common modification request document for all disciplines?&lt;br /&gt;Is there a formal change control procedure?&lt;br /&gt;Are modification tools (e.g., diagnostic tools, configuration management tools) addressed, if any are used?&lt;br /&gt;Assurance Activities&lt;br /&gt;&lt;br /&gt;Project Management:&lt;br /&gt;&lt;br /&gt;Were reviews of project status and assurance task reports conducted?&lt;br /&gt;Based on metrics data, were any processes found to be outside statistical control limits? If so, what actions were taken?&lt;br /&gt;SV&amp;V:&lt;br /&gt;&lt;br /&gt;What analysis techniques were used (e.g., control flow analysis, inspection)?&lt;br /&gt;Were the test strategies consistent with the requirements and were they adequate to evaluate the design?&lt;br /&gt;Were the test strategies sufficient to determine whether the software is safe and effective?&lt;br /&gt;How were the safety features of the software tested and analyzed?&lt;br /&gt;Do the results of testing and analysis demonstrate conformance to requirements established at each level (i.e., module, integration, system)?&lt;br /&gt;Do test results show that safety related functions were tested adequately and that they perform reliably?&lt;br /&gt;SCM:&lt;br /&gt;&lt;br /&gt;What SCM facilities were used?&lt;br /&gt;At what point was the first SCM baseline established?&lt;br /&gt;What evidence is there that the software delivered is the software that has been verified and validated?&lt;br /&gt;SQA:&lt;br /&gt;&lt;br /&gt;What metrics were used, if any?&lt;br /&gt;What actions were taken in response to the metrics results?&lt;br /&gt;Do SQA reports indicate that standards were appropriately followed?&lt;br /&gt;What error analysis techniques were used? How did vendor respond to the findings?&lt;br /&gt;Were software design and code inspections performed? If so, were the identified problems corrected?&lt;br /&gt;Were technical reviews held, and problems identified in the reviews satisfactorily resolved in the product?&lt;br /&gt;6. SUMMARY&lt;br /&gt;&lt;br /&gt;[ASMENQA2] addresses activities for software lifecycle phases from software requirements to software maintenance, as well as some assurance activities, but does not necessarily require documentation or review of all these activities. Some SCM documentation is identified, but there is no requirement for an SCMP. Requirements for quality management, project management, and SQA elements including measurement, risk management, SQA audits and training are also not addressed. Although [ASMENQA2] does require documentation of many lifecycle and assurance activities (e.g., SVVP, SQAP, SCM documentation), the requirements are either very general or incomplete.&lt;br /&gt;&lt;br /&gt;Because [ASMENQA2] is based on IEEE's first SQA standard, IEEE Std 730-1984, which was written six years before [ASMENQA2] and has since been revised, it fails to address current issues, such as software safety and computer security. The omission of requirements for project management, an SCMP, and metrics, as stated above may also be attributed to this fact. Since [ASMENQA2] does not specify unique assurance requirements for safety and security, this report identifies documentation requirements that emphasize these issues, as well as other important issues that are not addressed by [ASMENQA2]. This report also identifies review issues concerning software properties that may affect the safety of the total system.&lt;br /&gt;&lt;br /&gt;One feature of [ASMENQA2] that may be confusing is its order of presentation. First, it describes the activities of each lifecycle phase. It then lists the documentation for each phase. Finally, the reviews of each lifecycle phase are addressed. Although no preference for any particular format is specified, one which may be more logical is to provide only one section for each lifecycle phase or assurance activity, and to specify the requirements for the activity, its documentation, and its review all in the same section.&lt;br /&gt;&lt;br /&gt;Another feature of [ASMENQA2] that may be of concern is its lack of requirements specific to nuclear applications. Although its title indicates that it is an SQA standard intended for nuclear facility applications, [ASMENQA2] does not seem to be tailored for this purpose. Rather, it resembles a general SQA standard that could be applied to any software system.&lt;br /&gt;&lt;br /&gt;For each software life cycle activity, this report provides recommended content for documentation of the activity. The activities include not only the development phases from software requirements to software maintenance but also project management, SCM, SV&amp;V (including testing), and SQA.&lt;br /&gt;&lt;br /&gt;While this report concentrates on activities for the software lifecycle, it also identifies some issues that are of special interest when the software lifecycle is embedded within the system lifecycle. One issue concerns information from the system requirements phase that are essential for the software development phases. Another issue concerns the scope and definition of software verification and validation within system verification and validation.&lt;br /&gt;&lt;br /&gt;This report distinguishes between the formal reviews conducted during development and those conducted by NRC. The generic procedures for formal development reviews are provided in Appendix B, with detailed lists of questions for specific reviews. For these reviews, it is assumed that their purpose is to enact changes to the development process and product under review. For reviews conducted by NRC, it is assumed that these concentrate more on how the product was built, on the results of assurance activities, and the tracking of a selected set of inputs through the system (a string check), rather than a detailed examination of the product. Hence, questions for NRC reviewers are at a much higher level of abstraction than for development reviews, but the NRC reviewers may request the results of the vendor's formal reviews and may also use the detailed checklists to support their reviews as appropriate.&lt;br /&gt;&lt;br /&gt;Although the required scope for this study includes only safety systems in nuclear power plants, the recommendations for documentation and reviews are presented in a broader context to ensure completeness. While the recommendations may be applied to systems of varying size, the purpose in expanding the scope is to provide NRC reviewers with a comprehensive understanding of what comprises a quality project. The important issue is not the exact number of documents, but rather the content of the different types of documentation. For small projects, the documents may be combined, but the necessary content should be retained. Thus, depending on the product under review, NRC may decide that not all the recommendations are appropriate and may add additional safety-related review items to improve the coverage of safety issues.&lt;br /&gt;&lt;br /&gt;7. REFERENCES&lt;br /&gt;&lt;br /&gt;[ANS104]&lt;br /&gt;ANSI/ANS-10.4-1987, "Guidelines for the Verification and Validation of Scientific and Engineering Computer Programs for the Nuclear Industry," American Nuclear Society, May 13, 1987.&lt;br /&gt;[APPGUIDE]&lt;br /&gt;Application Portability Profile (APP) The U.S. Government's open System Environment Profile OSE/1 Version 1.0, The National Institute of Standards and Technology, NIST SP 500-187, 1991.&lt;br /&gt;[ASMENQA2]&lt;br /&gt;ASME NQA-2a-1990 Part 2.7, "Quality Assurance Requirements for Nuclear Facility Applications," The American Society of Mechanical Engineers, November 1990.&lt;br /&gt;[BIRRELL]&lt;br /&gt;Birrell, N. and Ould, M., A Practical Handbook For Software Development, Cambridge University Press, 1985.&lt;br /&gt;[DOD2167A]&lt;br /&gt;DOD-STD-2167A, "Defense System Software Development," United States Department of Defense, 29 February 1988.&lt;br /&gt;[DUNN]&lt;br /&gt;Dunn, Robert, Software Quality: Concepts and Plans, Prentice Hall, 1990.&lt;br /&gt;[EWICS2]&lt;br /&gt;Redmill, F. J. (ed.), Dependability of Critical Computer Systems 2, The European Workshop on Industrial Computer Systems Technical Committee 7 (EWICS TC7), Elsevier Science Publishers LTD, 1989.&lt;br /&gt;[FUJII]&lt;br /&gt;Fujii, Roger U., Dolores R. Wallace, Taz Daughtrey, "Software Verification and Validation Seminar," IEEE Standards Seminar, 1990.&lt;br /&gt;[HHSFDA]&lt;br /&gt;"Reviewer Guidance for Computer Controlled Medical Devices Undergoing 510(k) Review," Office of Device Evaluation, Center for Devices and Radiological Health, Food and Drug Administration.&lt;br /&gt;[IEC880]&lt;br /&gt;IEC 880, "Software for Computers in the Safety Systems of Nuclear Power Stations," International Electrotechnical Commission, 1986.&lt;br /&gt;[IEEEP1059]&lt;br /&gt;IEEE Std P1059, "(DRAFT 6.3) IEEE Guide for Software Verification and Validation Plans," The Institute of Electrical and Electronics Engineers, Inc., December 26, 1991.&lt;br /&gt;[IEEEP1219]&lt;br /&gt;IEEE Std P1059, "Standard for Software Maintenance," The Institute of Electrical and Electronics Engineers, Inc., January 31, 1992.&lt;br /&gt;[IEEE610]&lt;br /&gt;ANSI/IEEE Std 610.12-1990, "Glossary of Software Engineering Terminology," The Institute of Electrical and Electronics Engineers, Inc., 1990.&lt;br /&gt;[IEEE828]&lt;br /&gt;ANSI/IEEE Std 828-1983, "IEEE Standard for Software Configuration Management Plans," The Institute of Electrical and Electronics Engineers, Inc., 1984.&lt;br /&gt;[IEEE830]&lt;br /&gt;ANSI/IEEE Std 830-1984, "IEEE Guide for Software Requirements Specifications," The Institute of Electrical and Electronics Engineers, Inc., 1984.&lt;br /&gt;[IEEE1012]&lt;br /&gt;ANSI/IEEE Std 1012-1986, "IEEE Standard for Software Verification and Validation Plans," The Institute of Electrical and Electronics Engineers, Inc., November 14, 1986.&lt;br /&gt;[IEEE1028]&lt;br /&gt;ANSI/IEEE Std 1028-1988, "IEEE Standard for Software Reviews and Audits," The Institute of Electrical and Electronics Engineers, Inc., 1989.&lt;br /&gt;[IEEE1058]&lt;br /&gt;ANSI/IEEE Std 1058.1-1987, "IEEE Standard for Software Project Management Plans," The Institute of Electrical and Electronics Engineers, Inc., 1988.&lt;br /&gt;[IEEE7300]&lt;br /&gt;ANSI/IEEE Std 730-1984, "IEEE Standard for Software Quality Assurance Plans," The Institute of Electrical and Electronics Engineers, Inc., 1984.&lt;br /&gt;[IEEE7301]&lt;br /&gt;ANSI/IEEE Std 730.1-1989, "IEEE Standard for Software Quality Assurance Plans," The Institute of Electrical and Electronics Engineers, Inc., October 10, 1989.&lt;br /&gt;[ISOSC7]&lt;br /&gt;ISO/IEC(JTC1)-SC7, "Information Technology Software Life-Cycle Process," August 30, 1991.]&lt;br /&gt;[ISO9000]&lt;br /&gt;ISO 9000, "International Standards for Quality Management," International Standards Organization, ISO Central Secretariat, Casepostale 56, CH-1211, Geneve 20, Switzerland, May 1990.&lt;br /&gt;[NASA2100]&lt;br /&gt;NASA-STD-2100-91, "NASA Software Documentation Standard - Software Engineering Program," National Aeronautics and Space Administration, July 29, 1991.&lt;br /&gt;[NIST190]&lt;br /&gt;NIST Special Publication 500-190, "Proceedings of the Workshop on High Integrity Software; Gaithersburg, MD; Jan. 22-23, 1991," U.S. Department of Commerce/National Institute of Standards and Technology, August 1991.&lt;br /&gt;[NIST204]&lt;br /&gt;NIST Special Publication 500-204, "High Integrity Software Standards and Guidelines," U.S. Department of Commerce/National Institute of Standards and Technology, September 1992.&lt;br /&gt;[NUREG5930]&lt;br /&gt;NUREG/CR-5930, "High Integrity Software Standards and Guidelines," U.S. Nuclear Regulatory Commission, September 1992.&lt;br /&gt;[PARNAS]&lt;br /&gt;Parnas, D., "Active Design Reviews: Principles and Practice," IEEE International Conference on Software Engineering, London, 1985, p. 132-136.&lt;br /&gt;[SEI91]&lt;br /&gt;Paulk, Mark C., Bill Curtis, and Mary Beth Chrissis, "Capability Maturity Model for Software," Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Pennsylvania, 15213, CMU/SEI-91-TR-24, ESD-TR-91-24, August, 1991.&lt;br /&gt;[SOFTENG]&lt;br /&gt;"Standard for Software Engineering of Safety Critical Software," Draft, Rev. 0, Ontario Hydro, December 1990.&lt;br /&gt;[STARTS]&lt;br /&gt;STARTS Purchasers Group, "The STARTS Purchasers' Handbook," NCC Publications, October 1987.&lt;br /&gt;APPENDIX A. DEFINITIONS OF QUALITY ATTRIBUTES&lt;br /&gt;&lt;br /&gt;The following definitions include direct quotes from [IEEE610] and [SOFTENG].&lt;br /&gt;&lt;br /&gt;compatibility&lt;br /&gt;(1) The ability of two or more systems or components to perform their required functions while sharing the same hardware or software environment. (2) The ability of two or more systems or components to exchange information.&lt;br /&gt;completeness&lt;br /&gt;The degree to which all of the software's required functions and design constraints are present and fully developed in the SRS, SDD, and code.&lt;br /&gt;consistency&lt;br /&gt;The degree of uniformity, standardization, and freedom from contradiction among the documents or parts of a system or component. See also TRACEABILITY.&lt;br /&gt;correctness&lt;br /&gt;(1) The degree to which a system or component is free from faults in its specification, design, and implementation. (2) The degree to which software, documentation, or other items meet specified requirements. (3) The degree to which software, documentation, or other items meet user needs and expectations, whether specified or not. (4) The ability of the SRS, SDD, and code to describe or produce the specified outputs when given the specified inputs, and the extent to which they match or satisfy the requirements.&lt;br /&gt;feasibility&lt;br /&gt;The degree to which the requirements, design, or plans for a system or component can be implemented under existing constraints. modifiability Quality attribute that refers to the characteristics of the SRS, SDD, and code which facilitate the incorporation of changes.&lt;br /&gt;modularity&lt;br /&gt;The degree to which a system or computer program is composed of discrete components such that a change to one component has minimal impact on other components.&lt;br /&gt;predictability&lt;br /&gt;The degree to which the functionality and performance of the software are deterministic for a specified set of inputs.&lt;br /&gt;robustness&lt;br /&gt;The degree to which a system or component can function correctly in the presence of invalid inputs or stressful environmental conditions.&lt;br /&gt;structuredness&lt;br /&gt;The degree to which the SDD and code possess a definite pattern in their interdependent parts. This implies that the design has proceeded in an orderly and systematic manner (e.g., top-down), has minimized coupling between modules, and that standards control structures have been followed during coding resulting in well structured software.&lt;br /&gt;testability&lt;br /&gt;(1) The degree to which a system or component facilitates the establishment of test criteria and the performance of tests to determine whether those criteria have been met. (2) The degree to which a requirement is stated in terms that permit establishment of test criteria and performance of tests to determine whether those criteria have been met.&lt;br /&gt;traceability&lt;br /&gt;(1) The degree to which a relationship can be established between two or more products of the development process. (2) The degree to which each element in a software development product establishes its reason for existing (e.g., the degree to which each element in a bubble chart references the requirement that it satisfies). (3) The ability to trace the design decision history and reasons for these changes. See also CONSISTENCY.&lt;br /&gt;understandability&lt;br /&gt;The degree to which the meaning of the SRS, SDD, and code are clear to the reader.&lt;br /&gt;verifiability&lt;br /&gt;The degree to which the SRS, SDD, and code have been written to facilitate verification using both static methods and testing.&lt;br /&gt;APPENDIX B. FORMAL REVIEWS OF THE DEVELOPER&lt;br /&gt;&lt;br /&gt;The purpose of these reviews is to enact changes to the development process and product under review. For reviews conducted by NRC, the purpose is to concentrate more on how the product was built, on the results of assurance activities, and on tracking of behavior of a selected string, or slice, through the product rather than a detailed examination of the product. Hence, questions for NRC reviewers are at a much higher level of abstraction than for development reviews, but the NRC reviewers may use the detailed checklists.&lt;br /&gt;&lt;br /&gt;Some standards that address SQA assume a contractual environment or an environment that can be treated contractually [IEEE7301, ISOSC7]. One of the requirements that generally appears in such standards is that both the developer and the customer must attend/conduct the formal reviews. An environment that is treated contractually is one in which the developer's organization may have several principal organizations within it (e.g., marketing, design, systems engineering, programming, SQA) and those persons developing the software may be responsible for formal reviews with other members of the organization. Typical formal reviews that are conducted between developer and customer or among organizations of the developer are discussed in this section of the report. NRC reviewers should be familiar with these formal review procedures, their results, and the follow-up results of specific product reviews. NRC should recommend that the utilities provide (or have available for) NRC the results of formal reviews and of follow-up activities. This is especially important because NRC reviewers at safety evaluation may want to check whether or not formal reviews were performed (see section 5), and may use review reports to examine how well the product was built.&lt;br /&gt;&lt;br /&gt;Formal reviews are conducted at the end of each lifecycle phase or at the end of the planning period on the results or products of the phase or period. They may also be conducted when a serious problem or concern arises. This appendix to the report summarizes the key factors of management and technical reviews (document evaluation), discusses the role assurance activities take in the formal review process, and provides sample checklists for the technical/development reviews. For completeness all the technical/development reviews listed in Table 3-1 are included, even though [ASMENQA2] does not address them all.&lt;br /&gt;&lt;br /&gt;B.1. The Review Process&lt;br /&gt;&lt;br /&gt;Management reviews formally evaluate a project plan or project status relative to that plan. Management reviews have two purposes. The first is to ensure the adequacy and completeness of each planning document (e.g., PMP, SQAP, SCMP, SVVP, and Test Plans) for meeting project requirements. The second is to ensure that project activities are progressing according to the planning documents, identify the need for corrective action to the plan or the project, and ensure proper allocation of resources. All problems are documented. The results of the management reviews are summarized in a management review report which are auditable and traceable to and from the appropriate planning documents.&lt;br /&gt;&lt;br /&gt;In contrast, the formal technical review examines the product, and the results of any assurance activities already conducted on the product. The purpose of technical reviews is to evaluate the software elements (e.g., SRS, software design description (SDD)) to ensure conformity to its specifications, compliance of the development of the software elements with its plans, and the integrity of changes to the software elements. The results of the technical reviews are summarized in technical review reports which are auditable and traceable to and from the appropriate planning documents. Success of a technical review requires that all participants carefully examine the inputs to the technical review prior to the review meeting. Section B.1.1 presents an outline of the management review process; section B.1.2 presents an outline of the technical review process. The descriptions of management and technical reviews are based on [IEEE1028].&lt;br /&gt;&lt;br /&gt;In both the management and technical reviews, experts on specific topics (e.g., design experts for design reviews) should be present to lend their expertise to the review.&lt;br /&gt;&lt;br /&gt;B.1.1.Management Reviews&lt;br /&gt;&lt;br /&gt;Responsibilities. The review leader performs the administrative functions of the review and issues the management review report. Review team members are expected to be prepared for the meeting and ensure that the review objectives are met.&lt;br /&gt;&lt;br /&gt;Inputs. Objectives of the review; list of issues to discuss; the specific planning document; current project schedule and cost data; reports from previously completed reviews; reports on project resources; and, data on complete or in progress software elements.&lt;br /&gt;&lt;br /&gt;Entry Criteria. The need for conducting management reviews is specified in the appropriate project planning documents. Other management reviews may also be conducted upon request. The management review is performed when the review leader establishes/confirms the review objectives and determines that all necessary documents are available.&lt;br /&gt;&lt;br /&gt;Procedures. The review leader and project manager plan for the review by identifying the review team, scheduling a time and place for the review, and distributing all inputs to the review team. An overview of the project is conducted for the review team by a qualified project member. Each review team member studies the inputs and prepares presentations for the review team. The management review consists of the review team:&lt;br /&gt;&lt;br /&gt;Assessing adequacy and completeness of the planning documents (initial review).&lt;br /&gt;Determining whether or not the project status corresponds to the planning document under review, and recording any deviations.&lt;br /&gt;Determining whether or not factors not originally considered are constraining the planning document under review.&lt;br /&gt;Listing issues and recommendations to be addressed by upper management and/or others who affect the project.&lt;br /&gt;Recommending actions to follow the review, and authorization for additional reviews and audits.&lt;br /&gt;Identifying other issues that need to be addressed.&lt;br /&gt;Exit Criteria. The management review is complete once the review objectives have been addressed and the management review report has been issued.&lt;br /&gt;&lt;br /&gt;Output. The management review report identifies: the project; the review team; review inputs; review objectives; action items; list of issues and recommendations; and, recommendations for additional reviews and information necessary to complete them. (The procedures for closing action items should be part of a plan.)&lt;br /&gt;&lt;br /&gt;B.1.2.Technical Reviews&lt;br /&gt;&lt;br /&gt;Responsibilities. The review leader performs the administrative functions of the review and issues the technical review report. The recorder documents the findings, decisions, and recommendations of the review team. Review team members are expected to be prepared for the meeting and ensure that the review objectives are met. Recommendations made by the review team should be such that management can act on them quickly. Management is responsible for responding to recommendations promptly.&lt;br /&gt;&lt;br /&gt;Inputs. Objectives of the review; software element being reviewed; the software element's specifications; results of any assurance activities; any other necessary documentation.&lt;br /&gt;&lt;br /&gt;Entry Criteria. The need for conducting technical reviews is specified in the project planning documents. Other technical reviews may also be conducted upon request. The technical review is performed when the review objectives are established, the individuals responsible at the review for the software element are prepared for the review, and the review leader determines the software element is sufficiently complete. Preparation may require considerable time spent in privately examining the inputs.&lt;br /&gt;&lt;br /&gt;Procedures. The review leader plans for the review by identifying the review team, schedules a time and place for the review, and distributes all inputs to the review team. An overview of the project is conducted for the review team by a qualified project member. Each review team member studies the software element and related materials. The technical review consists of the review team:&lt;br /&gt;&lt;br /&gt;Determining whether or not the software element corresponds to the specifications and standards to which it must adhere, and recording any deviations.&lt;br /&gt;Listing issues, recommendations, and responsible individuals for resolving the issues.&lt;br /&gt;Identifying other issues that need to be addressed.&lt;br /&gt;Documenting the meeting, deficiencies found it the software element, and recommendations for management (the review leader determines whether or not an additional review should be performed on reworked software elements).&lt;br /&gt;Exit Criteria. The technical review is complete once the review objectives have been addressed and the technical review report has been issued.&lt;br /&gt;&lt;br /&gt;Output. The technical review report identifies: the review team; the software element; review inputs; the software element's unresolved deficiencies; list of management issues; action items; and, recommendations for unresolved issues deficiencies.&lt;br /&gt;&lt;br /&gt;V&amp;V activities should be performed prior to the formal review of the product of each of the lifecycle phases. The reviewer during development checks that these activities have been performed, and uses the resulting reports to answer the questions in the checklists below.&lt;br /&gt;&lt;br /&gt;B.2. Checklists for Formal Reviews&lt;br /&gt;&lt;br /&gt;Formal reviews may include reviewing SQA, SV&amp;V, and SCM results in order to examine the product. This review may also help detect whether or not these activities were performed in accordance with their respective plans. The checklists below provide a guideline for reviewing both the product and plans for assurance activities. These checklists are not necessarily complete; at any time the reviewer during development may need to expand upon a given topic. In all checklists, negative answers require further examination by the reviewers.&lt;br /&gt;&lt;br /&gt;B.2.1.Software Requirements Review&lt;br /&gt;&lt;br /&gt;The following checklist contains questions a reviewer during development ask at the software requirements review based on [IEEE1028], [STARTS], [SOFTENG], [EWICS2], [IEEEP1059], [HHSFDA], [BIRRELL], and [ANS104].&lt;br /&gt;&lt;br /&gt;Compatibility&lt;br /&gt;&lt;br /&gt;Do the interface requirements enable compatibility of external interfaces (hardware and software)?&lt;br /&gt;Completeness&lt;br /&gt;&lt;br /&gt;Does the SRS contain everything listed in the corresponding documentation content? Does it include all requirements relating to functionality, performance, constraints, safety, etc.?&lt;br /&gt;Does SRS include all user requirements (as defined in the concept phase)?&lt;br /&gt;Do the functional requirements cover all abnormal situations?&lt;br /&gt;Have the temporal aspects of all functions been considered?&lt;br /&gt;Are the time-critical functions identified and the time criteria for them specified? Do these include the maximum and minimum times for their execution?&lt;br /&gt;Does SRS define those requirements for which future changes are anticipated?&lt;br /&gt;Are all normal environmental variables included?&lt;br /&gt;Are the environmental conditions specified for all operating modes (e.g., normal, abnormal, disturbed)?&lt;br /&gt;Consistency&lt;br /&gt;&lt;br /&gt;Is there internal consistency between the software requirements?&lt;br /&gt;Is the SRS free of contradictions?&lt;br /&gt;Are the specified models, algorithms, and numerical techniques compatible?&lt;br /&gt;Does SRS use standard terminology and definitions throughout?&lt;br /&gt;Is SRS compatible with the operational environment of the hardware and software?&lt;br /&gt;Has the impact of software on the system and environment been specified?&lt;br /&gt;Has the impact of the environment on the software been specified?&lt;br /&gt;Correctness&lt;br /&gt;&lt;br /&gt;Does the SRS conform to SRS standards?&lt;br /&gt;Are algorithms and regulations supported by scientific or other appropriate literature?&lt;br /&gt;What evidence is there that shows vendor has applied the regulations correctly?&lt;br /&gt;Does the SRS define the required responses to all expected types of errors and failure modes identified by the hazard analysis?&lt;br /&gt;Were the functional requirements analyzed to check if all abnormal situations are covered by system functions?&lt;br /&gt;Does SRS reference desired development standards?&lt;br /&gt;Does the SRS identify external interfaces in terms of input and output mathematical variables?&lt;br /&gt;Are the requirements for the man-machine interface adequate?&lt;br /&gt;What is the rationale for each requirement? Is it adequate?&lt;br /&gt;Is there justification for the design/implementation constraints?&lt;br /&gt;Feasibility&lt;br /&gt;&lt;br /&gt;Will the design, operation, and maintenance of software be feasible?&lt;br /&gt;Are the specified models, numerical techniques, and algorithms appropriate for the problem to be solved? Are they accepted practice for nuclear power plants? Can they be implemented within the imposed constraints?&lt;br /&gt;Are the quality attributes specified achievable individually and as a group?&lt;br /&gt;Modifiability&lt;br /&gt;&lt;br /&gt;Are requirements organized so as to allow for modifications (e.g., with adequate structure and cross referencing)?&lt;br /&gt;Is each unique requirement defined more than once? Are there any redundant statements?&lt;br /&gt;Is there a set of rules for maintaining the SRS for the rest of the software lifecycle?&lt;br /&gt;Robustness&lt;br /&gt;&lt;br /&gt;Are there requirements for fault tolerance and graceful degradation?&lt;br /&gt;Traceability&lt;br /&gt;&lt;br /&gt;Is there traceability from the next higher level spec (e.g., system concept/requirements and user needs as defined in concept phase, and system design)?&lt;br /&gt;Does the SRS show explicitly the mapping and complete coverage of all relevant requirements and design constraints defined in the concept phase, by such means as a coverage matrix or cross-reference?&lt;br /&gt;Is SRS traceable forward through successive development phases (e.g., into the design, code, and test documentation)?&lt;br /&gt;Are safety functions or computer security functions flagged?&lt;br /&gt;Understandability&lt;br /&gt;&lt;br /&gt;Does every requirement have only one interpretation?&lt;br /&gt;Are the functional requirements in modular form with each function explicitly identified?&lt;br /&gt;Is there a glossary of terms?&lt;br /&gt;Is formal or semiformal language used?&lt;br /&gt;Is the language ambiguous?&lt;br /&gt;Does the SRS contain only necessary implementation details and no unnecessary details? Is it over specified?&lt;br /&gt;Are the requirements clear and specific enough to be the basis for detailed design specs and functional test cases?&lt;br /&gt;Does the SRS differentiate between program requirements and other information provided?&lt;br /&gt;Verifiability/Testability&lt;br /&gt;&lt;br /&gt;Are the requirements verifiable (i.e., can the software be checked to see whether requirements have been fulfilled)?&lt;br /&gt;Are mathematical functions defined using notation with precisely defined syntax and semantics?&lt;br /&gt;Is there a verification procedure defined for each requirement in the SRS?&lt;br /&gt;B.2.2.Software Design Review&lt;br /&gt;&lt;br /&gt;Reviewers should be able to determine whether or not all design features are consistent with the requirements. Numerical techniques and algorithms should be appropriate for the problem to be solved. The program design needs to be partitioned in a manner consistent with the problem to be solved. And, the program should meet the requirements. The following checklist contains questions a reviewer during development may ask at the software design review based on [SOFTENG], [IEEE1028], [IEEEP1059], and [ANS104].&lt;br /&gt;&lt;br /&gt;Completeness&lt;br /&gt;&lt;br /&gt;Are all the items listed in section 4.6.1. addressed in the SDD?&lt;br /&gt;Are the SRS requirements fulfilled?&lt;br /&gt;Is there enough data (logic diagrams, algorithms, storage allocation charts, etc.) available to ensure design integrity?&lt;br /&gt;Are algorithms and equations adequate, accurate, and complete?&lt;br /&gt;Are requirements for the support and test software and hardware to be used in the development of the product included?&lt;br /&gt;Does the design implement required program behavior with respect to each program interface?&lt;br /&gt;Are all program inputs, outputs, and database elements identified and described to the extent needed to code the program?&lt;br /&gt;Does the SDD describe the operational environment into which the program must fit?&lt;br /&gt;Are all required processing steps included?&lt;br /&gt;Are all possible outcomes of each decision point designated?&lt;br /&gt;Does the design take into account all expected situations and conditions?&lt;br /&gt;Does the design specify appropriate behavior in the face of unexpected or improper inputs and other anomalous conditions?&lt;br /&gt;Does the SDD reference all desired programming standards?&lt;br /&gt;Consistency&lt;br /&gt;&lt;br /&gt;Are standard terminology and definitions used throughout the SDD? Are the style of presentation and the level of detail consistent throughout the document.&lt;br /&gt;Does the design configuration ensure integrity of changes?&lt;br /&gt;Is there compatibility of the interfaces?&lt;br /&gt;Is the test documentation compatible with the test requirements of the SRS?&lt;br /&gt;Is the SDD free of internal contradictions?&lt;br /&gt;Are the models, algorithms, and numerical techniques that are specified mathematically compatible?&lt;br /&gt;Are input and output formats consistent to the extent possible?&lt;br /&gt;Are the designs for similar or related functions consistent?&lt;br /&gt;Are the accuracies and units of inputs, database elements, and outputs that are used together in computations or logical decisions compatible?&lt;br /&gt;Correctness&lt;br /&gt;&lt;br /&gt;Does the SDD conform to design documentation standards?&lt;br /&gt;Does the design perform only that which is specified in the SRS unless additional functionality is justified?&lt;br /&gt;Is the test documentation current and technically accurate?&lt;br /&gt;Is the design logic sound -- will the program do what is intended?&lt;br /&gt;Is the design consistent with documented descriptions and know properties of the operational environment into which the program must fit?&lt;br /&gt;Do interface designs agree with documented descriptions and known properties of the interfacing elements?&lt;br /&gt;Does the design correctly accommodate all inputs, outputs, and database elements whose format, content, data rate, etc. are not at the discretion of the designer?&lt;br /&gt;Feasibility&lt;br /&gt;&lt;br /&gt;Are the specified models, algorithms, and numerical techniques accepted practices for use within nuclear power plants?&lt;br /&gt;Can they be implemented within the constraints imposed on the system and on the development effort?&lt;br /&gt;Are the functions as designed implementable within the available resources?&lt;br /&gt;Modifiability&lt;br /&gt;&lt;br /&gt;Does the design use information hiding as follows:&lt;br /&gt;The modules are organized such that changes in the requirements only require changes to a small number of modules.&lt;br /&gt;Functions and data structures likely to changes have interfaces insensitive to changes in individual functions.&lt;br /&gt;The design partitions data structure access, database access and I/O access from the application software by the use of access programs (globally accessible data is not used).&lt;br /&gt;Functionality is partitioned into programs to maximize the internal cohesion of programs and to minimize program coupling.&lt;br /&gt;Does each program have a single function?&lt;br /&gt;Modularity&lt;br /&gt;&lt;br /&gt;Is there a schema for modularity, e.g., model-based?&lt;br /&gt;Is the design structured so that it comprises relatively small, hierarchically related programs or sets of programs, each performing a particular, unique function?&lt;br /&gt;Does the design use specific criteria to limit program size?&lt;br /&gt;Predictability&lt;br /&gt;&lt;br /&gt;Does the design contain programs which provide the required response to identified error conditions?&lt;br /&gt;Does the design schedule computer resources in a manner that is primarily deterministic and predictable rather than dynamic?&lt;br /&gt;Does the design contain a minimum number of interrupts and event driven software? Is justification given for uses of these features?&lt;br /&gt;Is plausibility checking performed on the execution of programs to uncover errors associated with the frequency and/or order or program execution and the permissiveness of program execution?&lt;br /&gt;Robustness&lt;br /&gt;&lt;br /&gt;Are all SRS requirements related to fault tolerance and graceful degradation addressed in the design?&lt;br /&gt;Structuredness&lt;br /&gt;&lt;br /&gt;Does the design use a logical hierarchical control structure?&lt;br /&gt;Traceability&lt;br /&gt;&lt;br /&gt;Does the SDD show mapping and complete coverage of all requirements and design constraints in the SRS?&lt;br /&gt;Are all functions in the SDD outside the scope of the SRS identified?&lt;br /&gt;Are all functions identified so they can be uniquely reference by the code?&lt;br /&gt;Does the SDD contain or reference a revision history which identifies all modifications to the design and the rationale for these changes?&lt;br /&gt;Does the SDD reference the design notes which document design decisions relevant to the software design?&lt;br /&gt;Have safety and computer security functions been flagged?&lt;br /&gt;Understandability&lt;br /&gt;&lt;br /&gt;Does the SDD avoid unnecessarily complex designs and design representations.&lt;br /&gt;Is the SDD written to allow unambiguous interpretation?&lt;br /&gt;Verifiability/Testability&lt;br /&gt;&lt;br /&gt;Does the SDD describe each function using well-defined notation so that the SDD can be verified against the SRS and the code can be verified against the SDD?&lt;br /&gt;Are conditions, constraints identified quantitatively so that tests may be designed?&lt;br /&gt;B.2.3.Source Code Review&lt;br /&gt;&lt;br /&gt;The following checklist contains the kinds of questions a reviewer during development may ask at the source code review based on [SOFTENG], [ANS104], and [EWICS2].&lt;br /&gt;&lt;br /&gt;Completeness&lt;br /&gt;&lt;br /&gt;Is the code a complete and precise implementation of the design as documented in the SDD?&lt;br /&gt;Was the code integrated and debugged to satisfy the design specified in the SDD?&lt;br /&gt;Does the code create the required databases, including the appropriate initial data?&lt;br /&gt;Are there any unreferenced or undefined variables, constants, or data types?&lt;br /&gt;Consistency&lt;br /&gt;&lt;br /&gt;Is the code logically consistent with the SDD?&lt;br /&gt;Are the same format, invocation convention, and structure used throughout?&lt;br /&gt;Correctness&lt;br /&gt;&lt;br /&gt;Does the code conform to specified standards?&lt;br /&gt;Are all variables properly specified and used?&lt;br /&gt;Are all comments accurate?&lt;br /&gt;Are all programs invoked with the correct number of parameters?&lt;br /&gt;Modifiability&lt;br /&gt;&lt;br /&gt;Does the code refer to constants symbolically to facilitate change?&lt;br /&gt;Are cross-references or data dictionaries included to show variable and constant access by the program?&lt;br /&gt;Does code consist of programs with only one entry point and one exit point? (exception is with fatal error handling)&lt;br /&gt;Does code reference labels or other symbolic constants rather than addresses?&lt;br /&gt;Predictability&lt;br /&gt;&lt;br /&gt;Is the code written in a language with well-defined syntax and semantics:&lt;br /&gt;Was the use of self-modifying code avoided?&lt;br /&gt;Does the code avoid relying on defaults provided by the programming language?&lt;br /&gt;Is the code free of unintended infinite loops?&lt;br /&gt;Does the code avoid recursion?&lt;br /&gt;Robustness&lt;br /&gt;&lt;br /&gt;Does the code protect against detectable runtime errors (e.g., range array index values, division by zero, out of range variable values, and stack overflow)?&lt;br /&gt;Structuredness&lt;br /&gt;&lt;br /&gt;Is each function of the program recognizable as a block of code?&lt;br /&gt;Do loops only have one entrance?&lt;br /&gt;Traceability&lt;br /&gt;&lt;br /&gt;Does the code identify each program uniquely?&lt;br /&gt;Is there a cross-reference framework through which the code can be easily and directly traced to the SDD?&lt;br /&gt;Does the code contain or reference a revision history of all code modifications and the reason for them?&lt;br /&gt;Have all safety and computer security functions been flagged?&lt;br /&gt;Understandability&lt;br /&gt;&lt;br /&gt;Do the comment statements adequately describe each routine, using clear English language?&lt;br /&gt;Were ambiguous or unnecessarily complex coding used? If so, are they clearly commented?&lt;br /&gt;Were consistent formatting techniques (e.g., indentation, use of white space) used to enhance clarity?&lt;br /&gt;Was a mnemonic naming convention used? Does the naming reflect the type of variable?&lt;br /&gt;Is the valid range of each variable defined?&lt;br /&gt;Does the code use mathematical equations which correspond to the mathematical models described/derived in the SDD?&lt;br /&gt;Verifiability&lt;br /&gt;&lt;br /&gt;Are implementation practices and techniques that are difficult to test avoided?&lt;br /&gt;B.2.4.Test Readiness Review&lt;br /&gt;&lt;br /&gt;The test readiness review is usually conducted following completion of component testing or software integration testing. The purpose is to ensure readiness to begin formal integration testing or system testing without complications, and to ensure that test documentation is complete, that errors have been removed, and that use of the test facilities has been planned properly. The following are general questions that might be asked at these reviews:&lt;br /&gt;&lt;br /&gt;Have recommended changes been made to the code as result of source code review or, as appropriate, component test or integration test?&lt;br /&gt;Is the error rate sufficiently low to warrant beginning the next type of testing?&lt;br /&gt;Are all test cases/procedures complete?&lt;br /&gt;Is the test facility ready? Are schedules approved, personnel and physical requirements specified?&lt;br /&gt;Have all test tools been checked?&lt;br /&gt;Have all test procedures been checked?&lt;br /&gt;B.2.5.Test Report Review&lt;br /&gt;&lt;br /&gt;The purpose of this review is to assure the completeness of test activities. It is usually required at the end of development (i.e., following system testing). However, it may be conducted after completion of module, integration, or system testing.&lt;br /&gt;&lt;br /&gt;The reviewer should ask questions about whether the test objectives were met (e.g., whether all test cases were executed, whether test results matched the expected outputs, and whether the results were traceable to the test cases and software requirements). The reviewer should also inquire about the nature of major anomalies (e.g., whether there were similarities, what corrective actions were taken). The reviewer should check that the anomalies existed only in the product, and were not caused by the test cases and procedures.&lt;br /&gt;&lt;br /&gt;B.2.6.Development Documentation Review&lt;br /&gt;&lt;br /&gt;[ASMENQA2] states that a development documentation review should be conducted following completion of the testing phase, to "assure completion and acceptability of the development documentation." Although [ASMENQA2] does not define development documentation, it is assumed that this consists of all documentation produced during the development phases of the lifecycle (e.g., requirements, design, coding). The purpose of the development documentation review seems to be checking for consistency among the development documents and to ensure that all changes have been made consistently.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-8285562265007696968?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/8285562265007696968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/09/qa-documentation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/8285562265007696968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/8285562265007696968'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/09/qa-documentation.html' title='QA documentation'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-5002935038075421805</id><published>2009-09-15T04:58:00.000-07:00</published><updated>2009-10-21T22:48:46.379-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='websphere'/><category scheme='http://www.blogger.com/atom/ns#' term='HTTP'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='JAVA'/><category scheme='http://www.blogger.com/atom/ns#' term='Protocols'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>Difference between Client server and webserver applications</title><content type='html'>Taking a big step back, a Web server serves pages for viewing in a Web browser, while an application server provides methods that client applications can call. A little more precisely, you can say that:&lt;br /&gt;&lt;br /&gt;A Web server exclusively handles HTTP requests, whereas an application server serves business logic to application programs through any number of protocols.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Let's examine each in more detail.&lt;br /&gt;&lt;br /&gt;The Web server&lt;br /&gt;A Web server handles the HTTP protocol. When the Web server receives an HTTP request, it responds with an HTTP response, such as sending back an HTML page. To process a request, a Web server may respond with a static HTML page or image, send a redirect, or delegate the dynamic response generation to some other program such as CGI scripts, JSPs (JavaServer Pages), servlets, ASPs (Active Server Pages), server-side JavaScripts, or some other server-side technology. Whatever their purpose, such server-side programs generate a response, most often in HTML, for viewing in a Web browser.&lt;br /&gt;&lt;br /&gt;Understand that a Web server's delegation model is fairly simple. When a request comes into the Web server, the Web server simply passes the request to the program best able to handle it. The Web server doesn't provide any functionality beyond simply providing an environment in which the server-side program can execute and pass back the generated responses. The server-side program usually provides for itself such functions as transaction processing, database connectivity, and messaging.&lt;br /&gt;&lt;br /&gt;While a Web server may not itself support transactions or database connection pooling, it may employ various strategies for fault tolerance and scalability such as load balancing, caching, and clustering—features oftentimes erroneously assigned as features reserved only for application servers.&lt;br /&gt;&lt;br /&gt;The application server&lt;br /&gt;As for the application server, according to our definition, an application server exposes business logic to client applications through various protocols, possibly including HTTP. While a Web server mainly deals with sending HTML for display in a Web browser, an application server provides access to business logic for use by client application programs. The application program can use this logic just as it would call a method on an object (or a function in the procedural world).&lt;br /&gt;&lt;br /&gt;Such application server clients can include GUIs (graphical user interface) running on a PC, a Web server, or even other application servers. The information traveling back and forth between an application server and its client is not restricted to simple display markup. Instead, the information is program logic. Since the logic takes the form of data and method calls and not static HTML, the client can employ the exposed business logic however it wants.&lt;br /&gt;&lt;br /&gt;In most cases, the server exposes this business logic through a component API, such as the EJB (Enterprise JavaBean) component model found on J2EE (Java 2 Platform, Enterprise Edition) application servers. Moreover, the application server manages its own resources. Such gate-keeping duties include security, transaction processing, resource pooling, and messaging. Like a Web server, an application server may also employ various scalability and fault-tolerance techniques.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-5002935038075421805?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/5002935038075421805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/09/difference-between-client-server-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/5002935038075421805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/5002935038075421805'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/09/difference-between-client-server-and.html' title='Difference between Client server and webserver applications'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-1000486613640543982</id><published>2009-09-15T04:01:00.000-07:00</published><updated>2009-10-21T22:48:46.390-07:00</updated><title type='text'>QA Methodologies followed in any QA</title><content type='html'>QA Methodologies and Test Management Systems&lt;br /&gt;For the smooth progress of the software development process what is most important is the availability of advanced test management systems. If that is available then it can be said that half the job of the testers is done. But when selecting a test management system make sure that it fits well with the different QA methodologies. Now the most commonly used QA methodologies are Waterfall, Hybrid, V Model, and Agile. Now let’s look at the important aspects of the most common methodologies and how a good test management system should behave in the various methodologies. &lt;br /&gt;&lt;br /&gt;Waterfall model, being structured, well documented and a disciplined process is mainly used for stable projects. Since it is non-iterative it allows multiple projects to run at a time. A good test management system will allow multiple releases within each project so that the QA team can handle major, minor and patch releases without changing processes. &lt;br /&gt;&lt;br /&gt;V Model is a rigorous and measurable process and therefore is mostly used for complex projects. A suitable test management system helps in maintaining rigor in the testing process. It will also handle multiple testing cycles for System, Integration, and final Acceptance. &lt;br /&gt;&lt;br /&gt;Agile, as the name suggests, is a flexible and fast process and its most important aspect is that it minimizes risk by developing software in a short period of time. A good test management system not only organizes and tracks testing by iterations but also handles multiple iterations within each release. It also facilitates information sharing and instant communication among the onsite and offshore testers. &lt;br /&gt;&lt;br /&gt;Hybrid model is a combination of two or more QA methods. It makes transition from one model to another throughout the lifecycle of the project. A suitable test management system allows different models to co-exist peacefully by facilitating easy transition between various modes in the same system. It also allows reusability of test assets between different modes and lifecycles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-1000486613640543982?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/1000486613640543982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/09/qa-methodologies-followed-in-any-qa.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/1000486613640543982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/1000486613640543982'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/09/qa-methodologies-followed-in-any-qa.html' title='QA Methodologies followed in any QA'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-7639808391940658195</id><published>2009-05-18T23:36:00.001-07:00</published><updated>2009-10-21T22:48:46.460-07:00</updated><title type='text'>Assignment on Quality Metrics-1</title><content type='html'>EXERCISE A– Testing Project&lt;br /&gt;&lt;br /&gt;Post delivery defect leakage goal: This is the % of the testing defects identified in our organization(excludes client found defects)/total defects. It should be greater than 99%.&lt;br /&gt;&lt;br /&gt;Effort and Schedule goals &amp; formula:  &lt;br /&gt;&lt;br /&gt;                          &lt;br /&gt;Effort PCB  Schedule PCB &lt;br /&gt;Goal(Upper Limit) 15% Goal(Upper Limit) 5%&lt;br /&gt;Goal(Lower Limit) 0% Goal(Lower Limit) -5%&lt;br /&gt;&lt;br /&gt;   Effort : (Actual Hours-Estimated Hours)* 100 / (Estimated Hours)&lt;br /&gt;&lt;br /&gt;Schedule: ((Actual End Date-Actual Start Date)-(Estimated End Date- Estimated Start Date))*100 / (Estimated End Date-Estimated Start Date+1)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Phase Organization Goal Formula&lt;br /&gt;RDD Completion of test preparation &gt;=0.75 Review defects/Size&lt;br /&gt;TDD Completion of test execution &gt;= 1.25 Review defects/Size&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Defects distribution across different testing cycles:&lt;br /&gt;&lt;br /&gt;Usually 60% defects are found in the 1st test cycle, 90% of defects found by the 2nd  test cycle, remaining in the last test cycle.  &lt;br /&gt;&lt;br /&gt;Note:  Goals are usually tighter by 25% of the mean.  While totaling defects use the weighted defects i.e. Severity 1 = 10, Severity 2 = 5,  Severity 1 =1&lt;br /&gt;&lt;br /&gt;Case Study 1:&lt;br /&gt;&lt;br /&gt;Setting Goals&lt;br /&gt;&lt;br /&gt;You are an independent testing team and the scope of work is system testing.  There is another team Denver which has done similar projects within the same financial area.  Their data is as follows;&lt;br /&gt;&lt;br /&gt; Denver Data&lt;br /&gt;Post delivery defect leakage 95%&lt;br /&gt;Effort Variance UCL  50, LCL -40 &lt;br /&gt;Schedule Variance UCL 3, LCL 0&lt;br /&gt;             RDD .25&lt;br /&gt;TDD .50&lt;br /&gt;Size 600 Test Case Points&lt;br /&gt;&lt;br /&gt;However this project is more complex and has many more interfaces to test. This would be data driven test where many SQL queries would have to be written to extract and validate the data.  The size is 1000 Test Case points.  You have planned 3 test cycles.  Within each test cycle you have planned for 3 test rounds.&lt;br /&gt;&lt;br /&gt;Q.1.        Set the post delivery defect leakage, effort/schedule variance, RDD and TDD goals. How many defects would you expect at end of test preparation and test execution. &lt;br /&gt;How many defects you would expect at end of each test cycle?  Make your assumptions and identify the risks.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A.1. &lt;br /&gt; Project Data Goals&lt;br /&gt;Post delivery defect leakage 95% &lt;br /&gt;Effort Variance UCL  50, LCL -40  &lt;br /&gt;Schedule Variance UCL 3, LCL 0 &lt;br /&gt;RDD  .75, 750 defects&lt;br /&gt;TDD  1.25,1250 defects, 1st Cycle – 750, 2nd cycle -375  &lt;br /&gt;Size 600 Test Case Points 1000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;At end of test Planning&lt;br /&gt;&lt;br /&gt;At end of test preparation the effort, schedule data looks like this;&lt;br /&gt;&lt;br /&gt; Planned Actual&lt;br /&gt;Effort 1200 man hrs 1500 man hrs&lt;br /&gt;Schedule  10th June 2004 12th June 2004&lt;br /&gt;Schedule Variance UCL 3, LCL 0 &lt;br /&gt;Review defects  450 defects&lt;br /&gt;&lt;br /&gt;During your test planning phase some testers resigned and you had to quickly recruit new associates who joined towards the end of test planning phase. &lt;br /&gt;&lt;br /&gt;The main business functionalities are adjustments, auto login, customer service transactions, BT related functionality, credit card payment and maintaining batch items.  Many queries on the functionality were raised to the client.  Mean time to resolve 70% of the queries was 2 days.  30% of the queries took more than 6 days to resolve. &lt;br /&gt;&lt;br /&gt;The distribution of queries, test cases and reviews across functionality is;&lt;br /&gt;&lt;br /&gt;Function/Module No of Queries Review defects Test Cases&lt;br /&gt;Adjustments 18 65 245&lt;br /&gt;Maintaining Batch Transactions &amp; Create new batch 73 &lt;br /&gt;40 136&lt;br /&gt;BT adjustments 27 9 234&lt;br /&gt;Convenience Cheques 23 38 23&lt;br /&gt;Customer Service Transactions 6 13 129&lt;br /&gt;Letters &amp; Rates 40 24 68&lt;br /&gt;Auto Login 9 34 56&lt;br /&gt;Credit card payments 23 55 143&lt;br /&gt;Unpaid Tem Fee 45 19 111&lt;br /&gt;Fee Tallies 12 34 98&lt;br /&gt;Miscellaneous Adjustments 8 38 189&lt;br /&gt;Refund Credit Balance 10 34 245&lt;br /&gt;Other  47 136&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Distribution of defects category wise across testware is as follows;&lt;br /&gt;&lt;br /&gt;  Function/Logic (incorrect testware, not as per functional requirements) ;187 defects &lt;br /&gt;  Suggestions                                             ; 50&lt;br /&gt;  Test Coverage                                         ; 213 defects&lt;br /&gt;&lt;br /&gt;Q 2 What analysis would you do and what actions would you take? What goals would you re-visit? Make your assumptions and identify the risks.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;End of Test Execution&lt;br /&gt;&lt;br /&gt;At end of cycle 1 - The effort variance is 60%.  It took a long time for the client to decide whether the defect raised was really a defect. The client had included some new functionality to test.  During test execution the link to the client test environment was down.&lt;br /&gt; &lt;br /&gt;Defect Trend   Test Cases Defects – Severity&lt;br /&gt; Stages Planned Executed Severity 1 Severity 2 Severity 3 Suggestion Total&lt;br /&gt; Smoke Test 50 40 18 37 5 2 &lt;br /&gt; Cycle 2 1500 592 23 76 13 5 &lt;br /&gt; Cycle 3 1500 789 15 49 12 2 &lt;br /&gt; Cycle 4 1500 1979 25 38 11 4 &lt;br /&gt; Cycle 5 1979 1979 7 23 9 9 &lt;br /&gt; Cycle 6 1979 1979 2 7 0 0 &lt;br /&gt; Staging 2746 2768 39 99 31 5 &lt;br /&gt; Total     129 329 81 27 &lt;br /&gt; Rejected     34 22 35 5 &lt;br /&gt;        &lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Defect Reported Status   Open Fixed Closed Deferred Reject Later Duplicate Total&lt;br /&gt; Severity 1 2 9 34 32 34 2 16 &lt;br /&gt; Severity 2 20 20 170 52 22 11 34 &lt;br /&gt; Severity 3 3 6 13 4 35 8 12 &lt;br /&gt; Suggestion   5 5 10 5 2   &lt;br /&gt; Total        &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q3.  Plot the chart on test cases planned vs executed, % executed and defect trend for all severity levels? Plot the chart of the defect status, find out the % distribution of defect status? What analysis would you do? What actions you should take? What goals would you re-visit? &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                           Defect Trend   Test Cases Defects – Severity&lt;br /&gt; Stages Planned Executed Severity 1 Severity 2 Severity 3 Suggestion Total&lt;br /&gt; Smoke Test 50 40 18 37 5 2 370&lt;br /&gt; Cycle 2 1500 592 23 76 13 5 623&lt;br /&gt; Cycle 3 1500 789 15 49 12 2 407&lt;br /&gt; Cycle 4 1500 1979 25 38 11 4 451&lt;br /&gt; Cycle 5 1979 1979 7 23 9 9 194&lt;br /&gt; Cycle 6 1979 1979 2 7 0 0 55&lt;br /&gt; Staging 2746 2768 39 99 31 5 916&lt;br /&gt; Total     129 329 81 27 3016&lt;br /&gt; Rejected     34 22 35 5 485&lt;br /&gt; Rejected %     26% 7% 43% 19% 16%&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Defect Reported Status   Open Fixed Closed Deferred Reject Later Duplicate Total&lt;br /&gt; Severity 1 2 9 34 32 34 2 16 129&lt;br /&gt; Severity 2 20 20 170 52 22 11 34 329&lt;br /&gt; Severity 3 3 6 13 4 35 8 12 81&lt;br /&gt; Suggestion   5 5 10 5 2   27&lt;br /&gt; Total 25 40 222 98 96 23 62 665&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A3 Find out why the defects were rejected, plot defects across test cases and functionality &amp; re-estimate.  Find out how many defects did not have corresponding test cases.  Set up the defect resolution time with the client.  In fact this should have been done during the planning phase. Do a causal analysis to find out the reasons for the rejected defects. For the client added functionality, re-estimate the testing effort and also find out if the test cases have been added for the newly added functionality&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;EXERCISE B–Testing Project&lt;br /&gt;&lt;br /&gt;You are executing an independent system testing project. For system test you have planned 4 cycle of 2 weeks each:&lt;br /&gt;&lt;br /&gt;Week Week 1 Week 3 Week 5 Week 7&lt;br /&gt;Cycle Cycle 1 Cycle 2 Cycle 3 Cycle 4&lt;br /&gt;Build Build 1 Build 2 Build 3 Build 4&lt;br /&gt;Functionality being added 2 5 3 0&lt;br /&gt;&lt;br /&gt;Build_1 was delivered on time i.e. first day of week 1. This was tested till end of second week. Defects found in Cycle 1 were 50. But Build 2 was delivered in week 4 instead of week 3 and that too was a broken build. After discussing this problem with the client, they have decided to give a working build which will have the functionality of Build 2and 3 together in week 5.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q1. How will you plan testing of build which will have functionality of Build 2 and 3?&lt;br /&gt;A1. In this scenario you will have 3 Cycles instead of 4 and you will add another cycle in Week 9.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-7639808391940658195?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/7639808391940658195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/assignment-on-quality-metrics-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/7639808391940658195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/7639808391940658195'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/assignment-on-quality-metrics-1.html' title='Assignment on Quality Metrics-1'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-357219736769731839</id><published>2009-05-18T23:36:00.000-07:00</published><updated>2011-05-18T18:23:46.891-07:00</updated><title type='text'>Assignment on Quality Metrics-1</title><content type='html'>EXERCISE A– Testing Project&lt;br /&gt;&lt;br /&gt;Post delivery defect leakage goal: This is the % of the testing defects identified in our organization(excludes client found defects)/total defects. It should be greater than 99%.&lt;br /&gt;&lt;br /&gt;Effort and Schedule goals &amp;amp; formula: &lt;br /&gt;&lt;br /&gt;                        &lt;br /&gt;Effort PCB  Schedule PCB&lt;br /&gt;Goal(Upper Limit) 15% Goal(Upper Limit) 5%&lt;br /&gt;Goal(Lower Limit) 0% Goal(Lower Limit) -5%&lt;br /&gt;&lt;br /&gt;   Effort : (Actual Hours-Estimated Hours)* 100 / (Estimated Hours)&lt;br /&gt;&lt;br /&gt;Schedule: ((Actual End Date-Actual Start Date)-(Estimated End Date- Estimated Start Date))*100 / (Estimated End Date-Estimated Start Date+1)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Phase Organization Goal Formula&lt;br /&gt;RDD Completion of test preparation &amp;gt;=0.75 Review defects/Size&lt;br /&gt;TDD Completion of test execution &amp;gt;= 1.25 Review defects/Size&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Defects distribution across different testing cycles:&lt;br /&gt;&lt;br /&gt;Usually 60% defects are found in the 1st test cycle, 90% of defects found by the 2nd  test cycle, remaining in the last test cycle. &lt;br /&gt;&lt;br /&gt;Note:  Goals are usually tighter by 25% of the mean.  While totaling defects use the weighted defects i.e. Severity 1 = 10, Severity 2 = 5,  Severity 1 =1&lt;br /&gt;&lt;br /&gt;Case Study 1:&lt;br /&gt;&lt;br /&gt;Setting Goals&lt;br /&gt;&lt;br /&gt;You are an independent testing team and the scope of work is system testing.  There is another team Denver which has done similar projects within the same financial area.  Their data is as follows;&lt;br /&gt;&lt;br /&gt; Denver Data&lt;br /&gt;Post delivery defect leakage 95%&lt;br /&gt;Effort Variance UCL  50, LCL -40&lt;br /&gt;Schedule Variance UCL 3, LCL 0&lt;br /&gt;            RDD .25&lt;br /&gt;TDD .50&lt;br /&gt;Size 600 Test Case Points&lt;br /&gt;&lt;br /&gt;However this project is more complex and has many more interfaces to test. This would be data driven test where many SQL queries would have to be written to extract and validate the data.  The size is 1000 Test Case points.  You have planned 3 test cycles.  Within each test cycle you have planned for 3 test rounds.&lt;br /&gt;&lt;br /&gt;Q.1.        Set the post delivery defect leakage, effort/schedule variance, RDD and TDD goals. How many defects would you expect at end of test preparation and test execution.&lt;br /&gt;How many defects you would expect at end of each test cycle?  Make your assumptions and identify the risks.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A.1. &lt;br /&gt; Project Data Goals&lt;br /&gt;Post delivery defect leakage 95% &lt;br /&gt;Effort Variance UCL  50, LCL -40  &lt;br /&gt;Schedule Variance UCL 3, LCL 0 &lt;br /&gt;RDD  .75, 750 defects&lt;br /&gt;TDD  1.25,1250 defects, 1st Cycle – 750, 2nd cycle -375 &lt;br /&gt;Size 600 Test Case Points 1000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;At end of test Planning&lt;br /&gt;&lt;br /&gt;At end of test preparation the effort, schedule data looks like this;&lt;br /&gt;&lt;br /&gt; Planned Actual&lt;br /&gt;Effort 1200 man hrs 1500 man hrs&lt;br /&gt;Schedule  10th June 2004 12th June 2004&lt;br /&gt;Schedule Variance UCL 3, LCL 0 &lt;br /&gt;Review defects  450 defects&lt;br /&gt;&lt;br /&gt;During your test planning phase some testers resigned and you had to quickly recruit new associates who joined towards the end of test planning phase.&lt;br /&gt;&lt;br /&gt;The main business functionalities are adjustments, auto login, customer service transactions, BT related functionality, credit card payment and maintaining batch items.  Many queries on the functionality were raised to the client.  Mean time to resolve 70% of the queries was 2 days.  30% of the queries took more than 6 days to resolve.&lt;br /&gt;&lt;br /&gt;The distribution of queries, test cases and reviews across functionality is;&lt;br /&gt;&lt;br /&gt;Function/Module No of Queries Review defects Test Cases&lt;br /&gt;Adjustments 18 65 245&lt;br /&gt;Maintaining Batch Transactions &amp;amp; Create new batch 73 &lt;br /&gt;40 136&lt;br /&gt;BT adjustments 27 9 234&lt;br /&gt;Convenience Cheques 23 38 23&lt;br /&gt;Customer Service Transactions 6 13 129&lt;br /&gt;Letters &amp;amp; Rates 40 24 68&lt;br /&gt;Auto Login 9 34 56&lt;br /&gt;Credit card payments 23 55 143&lt;br /&gt;Unpaid Tem Fee 45 19 111&lt;br /&gt;Fee Tallies 12 34 98&lt;br /&gt;Miscellaneous Adjustments 8 38 189&lt;br /&gt;Refund Credit Balance 10 34 245&lt;br /&gt;Other  47 136&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Distribution of defects category wise across testware is as follows;&lt;br /&gt;&lt;br /&gt; Function/Logic (incorrect testware, not as per functional requirements) ;187 defects&lt;br /&gt; Suggestions                                             ; 50&lt;br /&gt; Test Coverage                                         ; 213 defects&lt;br /&gt;&lt;br /&gt;Q 2 What analysis would you do and what actions would you take? What goals would you re-visit? Make your assumptions and identify the risks.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;End of Test Execution&lt;br /&gt;&lt;br /&gt;At end of cycle 1 - The effort variance is 60%.  It took a long time for the client to decide whether the defect raised was really a defect. The client had included some new functionality to test.  During test execution the link to the client test environment was down.&lt;br /&gt; &lt;br /&gt;Defect Trend   Test Cases Defects – Severity&lt;br /&gt; Stages Planned Executed Severity 1 Severity 2 Severity 3 Suggestion Total&lt;br /&gt; Smoke Test 50 40 18 37 5 2 &lt;br /&gt; Cycle 2 1500 592 23 76 13 5 &lt;br /&gt; Cycle 3 1500 789 15 49 12 2 &lt;br /&gt; Cycle 4 1500 1979 25 38 11 4 &lt;br /&gt; Cycle 5 1979 1979 7 23 9 9 &lt;br /&gt; Cycle 6 1979 1979 2 7 0 0 &lt;br /&gt; Staging 2746 2768 39 99 31 5 &lt;br /&gt; Total     129 329 81 27 &lt;br /&gt; Rejected     34 22 35 5 &lt;br /&gt;        &lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Defect Reported Status   Open Fixed Closed Deferred Reject Later Duplicate Total&lt;br /&gt; Severity 1 2 9 34 32 34 2 16 &lt;br /&gt; Severity 2 20 20 170 52 22 11 34 &lt;br /&gt; Severity 3 3 6 13 4 35 8 12 &lt;br /&gt; Suggestion   5 5 10 5 2   &lt;br /&gt; Total        &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q3.  Plot the chart on test cases planned vs executed, % executed and defect trend for all severity levels? Plot the chart of the defect status, find out the % distribution of defect status? What analysis would you do? What actions you should take? What goals would you re-visit?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                          Defect Trend   Test Cases Defects – Severity&lt;br /&gt; Stages Planned Executed Severity 1 Severity 2 Severity 3 Suggestion Total&lt;br /&gt; Smoke Test 50 40 18 37 5 2 370&lt;br /&gt; Cycle 2 1500 592 23 76 13 5 623&lt;br /&gt; Cycle 3 1500 789 15 49 12 2 407&lt;br /&gt; Cycle 4 1500 1979 25 38 11 4 451&lt;br /&gt; Cycle 5 1979 1979 7 23 9 9 194&lt;br /&gt; Cycle 6 1979 1979 2 7 0 0 55&lt;br /&gt; Staging 2746 2768 39 99 31 5 916&lt;br /&gt; Total     129 329 81 27 3016&lt;br /&gt; Rejected     34 22 35 5 485&lt;br /&gt; Rejected %     26% 7% 43% 19% 16%&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Defect Reported Status   Open Fixed Closed Deferred Reject Later Duplicate Total&lt;br /&gt; Severity 1 2 9 34 32 34 2 16 129&lt;br /&gt; Severity 2 20 20 170 52 22 11 34 329&lt;br /&gt; Severity 3 3 6 13 4 35 8 12 81&lt;br /&gt; Suggestion   5 5 10 5 2   27&lt;br /&gt; Total 25 40 222 98 96 23 62 665&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A3 Find out why the defects were rejected, plot defects across test cases and functionality &amp;amp; re-estimate.  Find out how many defects did not have corresponding test cases.  Set up the defect resolution time with the client.  In fact this should have been done during the planning phase. Do a causal analysis to find out the reasons for the rejected defects. For the client added functionality, re-estimate the testing effort and also find out if the test cases have been added for the newly added functionality&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;EXERCISE B–Testing Project&lt;br /&gt;&lt;br /&gt;You are executing an independent system testing project. For system test you have planned 4 cycle of 2 weeks each:&lt;br /&gt;&lt;br /&gt;Week Week 1 Week 3 Week 5 Week 7&lt;br /&gt;Cycle Cycle 1 Cycle 2 Cycle 3 Cycle 4&lt;br /&gt;Build Build 1 Build 2 Build 3 Build 4&lt;br /&gt;Functionality being added 2 5 3 0&lt;br /&gt;&lt;br /&gt;Build_1 was delivered on time i.e. first day of week 1. This was tested till end of second week. Defects found in Cycle 1 were 50. But Build 2 was delivered in week 4 instead of week 3 and that too was a broken build. After discussing this problem with the client, they have decided to give a working build which will have the functionality of Build 2and 3 together in week 5.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q1. How will you plan testing of build which will have functionality of Build 2 and 3?&lt;br /&gt;A1. In this scenario you will have 3 Cycles instead of 4 and you will add another cycle in Week 9.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-357219736769731839?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/357219736769731839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/assignment-on-quality-metrics-1_18.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/357219736769731839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/357219736769731839'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/assignment-on-quality-metrics-1_18.html' title='Assignment on Quality Metrics-1'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-2613018969982700195</id><published>2009-05-18T22:45:00.000-07:00</published><updated>2009-10-21T22:48:46.474-07:00</updated><title type='text'>important Basics of Performance Testing-3</title><content type='html'>Basics: Underlying Operating System and Network Improvements&lt;br /&gt;If you control the OS and hardware where the application will be deployed, there are a number of changes you can make to improve performance. Some changes are generic and affect most applications, while some are application-specific. This article applies to most server systems running Java application, including servlets, where you usually specify (or have specified to you) the underlying system, and where have some control over tuning the system. Client and standalone Java programs are likely to benefit from this chapter only if you have some degree of control over the target system, but some tips in the chapter apply to all Java programs.&lt;br /&gt;It is usually best to target the OS and hardware as a last tuning choice. Tuning the application itself generally provides far more significant speedups than tuning the systems on which the application is running. Application tuning also tends to be easier (though buying more powerful hardware components is easier still and a valid choice for tuning). However, application and system tuning are actually complementary activities, so you can get speedups from tuning both the system and the application if you have the skills and resources. Here are some general tips for tuning systems:&lt;br /&gt;&lt;br /&gt;• Constantly monitor the entire system with any monitoring tools available and keep records. This allows you to get a background usage pattern and also lets you compare the current situation with situations previously considered stable. &lt;br /&gt;• You should run offline work during off-hours only. This ensure that there is no extra load on the system when the users are executing online tasks and enhance performance of both online and offline activities.&lt;br /&gt;• If you need to run extra tasks during the day, try to slot them into times with low user activity. Office activity usually peaks at 9am and 2:30pm and has a load between noon and 1pm or at shift changeovers. You should be able to determine the user-activity cycles appropriate to your system by examining the results of normal monitoring. The reduced conflict for system resources during periods of low activity improves performance.&lt;br /&gt;• You should specify timeouts for all process under the control of your application (and others on the system, if possible) and terminate processes that have passed their timeout value.&lt;br /&gt;• Apply any partitioning available from the system to allocate determinate resources to your application. For example, you can specify disk partitions, memory segments, and even CPUs to be allocated to particular process.&lt;br /&gt;&lt;br /&gt;As the entire chapter is lengthy, I've split them into various sections namely the links that followed. Click on the links to access the article.&lt;br /&gt;CPU &lt;br /&gt;Disk&lt;br /&gt;Memory&lt;br /&gt;Network&lt;br /&gt;&lt;br /&gt;The above is taken from the publication, "Java Performance Tuning" written by Jack Shirazi. I would recommend to read this book as it provides not just tuning and bottleneck concepts bounded by Java. A simplified version (which is the summary of the chapter can be found here [Comming soon]).&lt;br /&gt;Basics: CPU Bottlenecks&lt;br /&gt;Java provides a virtual machine runtime system that is just that: an abstraction of a CPU that runs in software. (Note that this chapter is taken from the "Java Performance Tuning" written by Jack Shirazi and therefore alot of discussions circled around Java technologies.) These virtual machines run on a real CPU, and in this section the book discuss the performance characteristics of those real CPUs.&lt;br /&gt;&lt;br /&gt;CPU Load&lt;br /&gt;&lt;br /&gt;The CPU and many other parts of the system can be monitored using system-level utilities. On Windows, the task manager and performance monitor can be used for monitoring. On UNIX, a performance monitor (such as perfmeter) is usually available, as well as utilities such as vmstat. Two aspects of the CPU are worth watching as primary performance points. These are the CPU utilization (usually expressed in percentage terms) and the run-able queue of processes and threads (often called the load or the task queue). The first indictor is simply the percentage of the CPU (Or CPUs) being used by all the various threads. If this is up to 100% for significant periods of time, you may have a problem. On the other hand, if it isn’t, the CPU is under-utilized, but that is usually preferable. Low CPU usage can indicate that your application may be blocked for significant periods on disk or network I/O. High CPU usage can indicate thrashing (lack of RAM) or CPU contention (indicating that you need to tune the code and reduce the number of instructions being processed to reduce the impact on the CPU).&lt;br /&gt;&lt;br /&gt;A reasonable target is 75% CPU utilization (which from what I read from different authors varies from 75% till 85%). This means that the system is being worked toward its optimum, but that you have left some slacks for spikes due to other system or application requirements. However, note that if more than 50% of the CPU is used by system processes (i.e. administrative and IS process), your CPU is probably under-powered. This can be identified by looking at the load of the system over some period when you are not running any applications.&lt;br /&gt;&lt;br /&gt;The second performance indicator, the run-able queue, indicates the average number of processes or threads waiting to be scheduled for the CPU by the OS. They are run-able processes, but the CPY has no time to run them and is keeping them waiting for some significant amount of time. As soon as the run queue goes above zero, the system may display contention for resources, nut there usually some value above zero that still gives acceptable performance for any particular system. You need to determine what that value is in order to use this statistics as a useful warning indicator. A simplistic way to do this is to create a short program that repeatedly does some simple activity. You can then time each run of that activity. You can run copies of this process one after the other so that more and ore copies are simultaneously running. Keep increasing the number of copies being run until the run queue starts increasing. By watching the times recorded for the activity, you can graph that time against the run queue. This should give you some indication of when the run-able queue becomes too large for useful responses on your system, administrator if the threshold is exceeded. A guideline by Adrian Cockcroft is that performance starts to degrade if the run queue grows bigger than four times the number of CPUs.&lt;br /&gt;&lt;br /&gt;If you can upgrade the CPU of the target environment, doubling the CPU speed is usually better than doubling the number of CPUs. And remember that parallelism in an application doesn’t necessarily need multiple CPUs. If I/O is significant, the CPU will have plenty of time for many threads.&lt;br /&gt;&lt;br /&gt;Process Priorities&lt;br /&gt;&lt;br /&gt;The OS also has the ability to prioritize the processes in terms of providing CPU time by allocating process priority levels. CPU priorities provide a way to throttle high-demand CPU processes, thus giving other processes a greater share of the CPU. If there are other processes that need to run on the same machine but it doesn’t matter if they were run slowly, you can give your application processes a (much) higher priority than those other processes, thus allowing your application the lion’s share of CPU time on a congested system. This is worth keeping in mind if your application consists of multiple processes, you should also consider the possibility of giving your various processes different levels of priority.&lt;br /&gt;&lt;br /&gt;Being tempted to adjust the priority levels of processes, however, is often a sign that the CPU is underpowered for the tasks you have given it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The above is taken from the publication, "Java Performance Tuning" written by Jack Shirazi. I would recommend to read this book as it provides not just tuning and bottleneck concepts bounded by Java.&lt;br /&gt;&lt;br /&gt;Basics: Disks Bottlenecks&lt;br /&gt;In most cases, applications can be tuned so that disk I/O does not cause any serous performance problems. But if, application tuning, you find that disk I/O s still causing a performance problem; your best bet may be to upgrade the system disks. Identifying whether the system has a problem with disk utilization is the first step. Each system provides its own tools to identify disk usage (Windows has a performance monitor, and UNIX has the sar, vmstat, iostat utilities.) At minimum, you need to identify whether the paging is an issue (look at disk-scan rates) and assess the overall utilization of your disks (e.g. performance monitor on Windows, output from iostat –D on UNIX). It may be that the system has a problem independent of your application (e.g. unbalanced disks), and correcting this problem may resolve the problem issue.&lt;br /&gt;&lt;br /&gt;If the disk analysis does not identify an obvious system problem that is causing the I/O overhead, you could try making a disk upgrade or a reconfiguration. This type of tuning can consist of any of the following:&lt;br /&gt;• Upgrading to faster disks&lt;br /&gt;• Adding more swap space to handle larger buffers&lt;br /&gt;• Changing the disk to be striped (where files are striped across several disks, thus providing parallel I/O. e.g. with a RAID system)&lt;br /&gt;• Running the data on raw partitions when this is shown to be faster.&lt;br /&gt;• Distributing simultaneously accessed files across multiple disks to gain parallel I/O&lt;br /&gt;• Using memory-mapped disks or files &lt;br /&gt;&lt;br /&gt;If you have applications that run on many systems and you do not know the specification of the target system, bear in mind that you can never be sure that ant particular disk is local to the user. There is a significant possibility that the disk being used by the application is a network-mounted disk. This doubles the variability in response times and throughput. The weakest link will probably not even be constant. A network disk is a shared resource, as is the network itself, so performance is hugely and unpredictably affected by other users and network load.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Disk I/O&lt;br /&gt;Do not underestimate the impact of disk writes on the system as a whole. For example, all database vendors strongly recommend that the system swap files be placed on a separate disk from their databases. The impact of if not doing so can decrease database throughput (and system activity) but an order of magnitude. This performance decreases come from not splitting I/O of two disk-intensive applications (in this case, OS paging and database I/O).&lt;br /&gt;&lt;br /&gt;Identifying that there is an I/O problem is usually fairly easy. The most basic symptom is that things take longer than expected, while at the same time the CPU is not at all heavily worked. The disk-monitoring utilities will also tell you that there is a lot of work being done to the disks. At the system level, you should determine the average peak requirements on the disks. Your disks will have some statistics that are supplied by the vendor, including:&lt;br /&gt;&lt;br /&gt;The average and peak transfer rates, normally in megabytes (MB) per seconds, e.g. 5MB/sec. Form this, you can calculate how long an 8K page takes to be transferred from disk, and for example, 5MB/sec is about 5K/ms, so an 8K page takes just under 2ms to transfer.&lt;br /&gt;&lt;br /&gt;Average seek time, normally in milliseconds (ms). This is the time required for the disk head to move radially to the correct location on the disk.&lt;br /&gt;&lt;br /&gt;Rotational speed, normally in revolutions per minutes (rpm), e.g. 7200rpm. From this, you can calculate the average rotational delay in moving the disk under the disk-head reader, i.e., the time taken for half a revolution. For example, for 7200rpm, one revolution takes 60,000ms (60 seconds) divided by 7200rpm, which is about 8.3 ms. So half a revolution takes just over 4ms, which is consequently the average rotational delay.&lt;br /&gt;&lt;br /&gt;This list allows you to calculate the actual time it takes to load a random 8K page from the disk, this being seek time + rotational delay + transfer time. Using the examples given in the list, you have 10 + 4 + 2 = 16 ms to load a random 8K page (almost an order of magnitude slower than the raw disk throughput). This calculation gives you a worst –case scenario for the disk-transfer rates for your application, allowing you to determine if the system is up to the required performance. Note that if you are reading data stored sequentially in disk (as when reading a large file), the seek time and rotational delay are incurred less than once per 8K page loaded. Basically, these two times are incurred only at the beginning of opening the file and whenever the file is fragmented. But this calculation is confounded by other processes also executing I/O to the disk at the same time. This overhead is part of the reason why swap and other intensive I/O files should not be put on the same disk.&lt;br /&gt;&lt;br /&gt;One mechanism for speeding up disk I/O is to stripe disks. Disk striping allows data from a particular file to be spread over several disks. Striping allows reads and writes to be performed in parallel across the disks without requiring any application changes. This can speed up disk I/O quite effectively. However, be aware that the seek and rotational overhead previously listed still applies, and if you are making many small random reads, there may be no performance gain from striping disks.&lt;br /&gt;&lt;br /&gt;Finally, note again that using remote disks adversely affects I/O performance. You should not be using remote disks mounted from the network with any I/O-intensive operations if you need good performance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Clustering Files&lt;br /&gt;&lt;br /&gt;Reading many files sequentially is faster if the files are clustered together on the disk, allowing the disk-head reader to flow from one file to the next. This clustering is best done in conjunction with defragmenting the disks. The overhead in finding the location of a file on the disk (detailed in the previous section) is also minimized for sequential reads if the files are clustered.&lt;br /&gt;&lt;br /&gt;If you cannot specify clustering files at the disk level, you can still provide similar functionality by putting all the files together into one large file (as is done with the ZIP file systems). This is fine if all the files are read-only files or if there is just one file that is writable (you place that at the end). However, when there is more than one writable file, you need to manage the location of the internal files in your system as one or more grow. This becomes a problem and is not usually worth the effort. (If the files have a known bounded size, you can pad the files internally, thus regaining the single file efficiency.)&lt;br /&gt;Cached File Systems (RAM Disks, tmpfs, cachefs)&lt;br /&gt;&lt;br /&gt;Most OS provide the ability to map a file system into the system memory . This ability can speed up reads and writes to certain files in which you control your target environment. Typically, this technique has been used to speed up the reading and writing of temporary files. For example, some compilers (of languages in general, not specifically Java) generate many temporary files during compilation. If these files are created and written directly to the system memory, the speed of compilation is greatly increased. Similarly, if you have the a set of external files that are needed by your application, it is possible to map these directly into the system memory, thus allowing their reads and writes to be speeded up greatly.&lt;br /&gt;&lt;br /&gt;But note that these types of file systems are not persistent. In the same way the system memory of the machine gets cleared when it is rebooted, so these file systems are removed on reboot. If the system crashes, anything in a memory-mapped file system is lost. For this reason, these types of file systems are usually suitable only for temporary files or read-only versions of disk-based files (such as mapping a CD-ROM into a memory-resident file system).&lt;br /&gt;&lt;br /&gt;Remember that you do not have the same degree of fine control over these file systems that you have over your application. A memory-mapped file system does not use memory resources as efficiently as working directly from your application. If you have direct control over the files you are reading and writing, it is usually better to optimize this within your application rather than outside it. A memory-mapped file system takes space directly from system memory. You should consider whether it would be better to let your application grow in memory instead of letting the file system take up that system memory. For multi-user applications, it is usually more efficient for the system to map shared files directly into memory, as a particular fule then takes up just one memory location rather than duplicate in each process. Note that from SDK 1.4, memory-mapped files are directly supported from the java.nio package. Memory-mapped files are slightly different from memory-mapped file systems. A memory-mapped file uses system resources to read the file into system memory, and that data can then be accessed form Java through the appropriate java.nio buffer. A memory-mapped file system does not require the java.nio package and, as far as Java is concerned, files in that file system are simply files like any others. The OS transparently handles the memory mapping.&lt;br /&gt;&lt;br /&gt;The creation of memory-mapped file systems is completely system-dependent, and there is no guarantee that it is available on any particular system (though most modern OS do support this feature). On UNIX system, the administrator needs to look at the documentation of the mount command and its subsections on cachefs and tmpfs. Under Windows, you should find details by looking at the documentation on how to setup a RAM disk, a portion of memory mapped to a logical disk drive.&lt;br /&gt;&lt;br /&gt;In a similar way, there are products available that pre-cache shared libraries (DLL) and even executables in memory. This usually means only that an application starts quicker or loads the quicker, and so may not be much help in speeding up a running system.&lt;br /&gt;&lt;br /&gt;But you can apply the technique of memory-mapping file systems directly and quite usefully for applications in which processes are frequently started. Copy the Java distribution and all class files (all JDK, application, and third-party class files) onto a memory-mapped file system and ensure that all executions and classloads take place from the file system. Since everything (executables, DLLs, class files, resources, etc.) is already in memory, the startup time is much faster. Because only the startup (and class loading) time is affected, this technique gives only a small boost to applications that are not frequently starting processes, but can be usefully applied if startup time is a problem.&lt;br /&gt;&lt;br /&gt;Disk Fragmentation&lt;br /&gt;&lt;br /&gt;When files are stored on disk, the bytes in the files are note necessarily stored contiguously: their storage depends on file size and contiguous space available on the disk. This non-contiguous storage is called fragmentation. Any particular file may have some chunks in one place, and a pointer to the next chunk that may be quite a distance away on the disk.&lt;br /&gt;&lt;br /&gt;Hard disks tend to get fragmented over time. This fragmentation delays both reads from files (including loading applications into computer memory on startup) and writes to files. This delay occurs because the disk header must wind on to the next chunk with each fragmentation, and this takes time.&lt;br /&gt;&lt;br /&gt;For optimum performance on any system, it is a good idea to periodically defragment the disk. This reunites files that have been split up so that disk heads do not spend so much time searching for data once the file-header locations have been identified, thus speeding up data access. Defragmenting may not be effective on all systems, however.&lt;br /&gt;Disk Sweet Spots&lt;br /&gt;&lt;br /&gt;Most disks have a location from which data is transferred faster than from other locations. Usually, the closer the data is to the outside edge of the disk, the faster it can be read from the disk. Most hard disks rotate at constant angular speed. This means that the linear speed of the disk under a point is faster the farther away the point is from the center of the disk. Thus, data at the edge of the disk can be read from (and written to) at the faster possible rate commensurate with the maximum density of data storable on disk.&lt;br /&gt;&lt;br /&gt;This location with faster transfer rates usually termed the disk sweet spot. Some&lt;br /&gt;(Commercial) utilities provide mapped access to the underlying disk and allow you to reorganize files to optimize access. On most server systems, the administrator has control over how logical partitions of the disk apply to the physical layout, and how to position files to the disk sweet spots. Experts for high-performance database system sometimes try to position the index tables of the database as close as possible to the disk sweet spot. These tables consist of relatively small amounts of data that affect the performance of the system in a disproportionately large way, so that any speed improvement in manipulating these tables is significant.&lt;br /&gt;&lt;br /&gt;Note that some of the latest OS are beginning to include “awareness” of disk sweet spots, and attempt to move executables to sweet spots when defragmenting the disk. You may need to ensure that the defragmentation procedure does not disrupt your own use of the disk sweet spot.&lt;br /&gt;The above is taken from the publication, "Java Performance Tuning" written by Jack Shirazi. I would recommend to read this book as it provides not just tuning and bottleneck concepts bounded by Java.&lt;br /&gt;Basics: Disks Bottlenecks&lt;br /&gt;  &lt;br /&gt;In most cases, applications can be tuned so that disk I/O does not cause any serous performance problems. But if, application tuning, you find that disk I/O s still causing a performance problem; your best bet may be to upgrade the system disks. Identifying whether the system has a problem with disk utilization is the first step. Each system provides its own tools to identify disk usage (Windows has a performance monitor, and UNIX has the sar, vmstat, iostat utilities.) At minimum, you need to identify whether the paging is an issue (look at disk-scan rates) and assess the overall utilization of your disks (e.g. performance monitor on Windows, output from iostat –D on UNIX). It may be that the system has a problem independent of your application (e.g. unbalanced disks), and correcting this problem may resolve the problem issue.&lt;br /&gt;&lt;br /&gt;If the disk analysis does not identify an obvious system problem that is causing the I/O overhead, you could try making a disk upgrade or a reconfiguration. This type of tuning can consist of any of the following:&lt;br /&gt;• Upgrading to faster disks&lt;br /&gt;• Adding more swap space to handle larger buffers&lt;br /&gt;• Changing the disk to be striped (where files are striped across several disks, thus providing parallel I/O. e.g. with a RAID system)&lt;br /&gt;• Running the data on raw partitions when this is shown to be faster.&lt;br /&gt;• Distributing simultaneously accessed files across multiple disks to gain parallel I/O&lt;br /&gt;• Using memory-mapped disks or files &lt;br /&gt;&lt;br /&gt;If you have applications that run on many systems and you do not know the specification of the target system, bear in mind that you can never be sure that ant particular disk is local to the user. There is a significant possibility that the disk being used by the application is a network-mounted disk. This doubles the variability in response times and throughput. The weakest link will probably not even be constant. A network disk is a shared resource, as is the network itself, so performance is hugely and unpredictably affected by other users and network load.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Disk I/O&lt;br /&gt;Do not underestimate the impact of disk writes on the system as a whole. For example, all database vendors strongly recommend that the system swap files be placed on a separate disk from their databases. The impact of if not doing so can decrease database throughput (and system activity) but an order of magnitude. This performance decreases come from not splitting I/O of two disk-intensive applications (in this case, OS paging and database I/O).&lt;br /&gt;&lt;br /&gt;Identifying that there is an I/O problem is usually fairly easy. The most basic symptom is that things take longer than expected, while at the same time the CPU is not at all heavily worked. The disk-monitoring utilities will also tell you that there is a lot of work being done to the disks. At the system level, you should determine the average peak requirements on the disks. Your disks will have some statistics that are supplied by the vendor, including:&lt;br /&gt;&lt;br /&gt;The average and peak transfer rates, normally in megabytes (MB) per seconds, e.g. 5MB/sec. Form this, you can calculate how long an 8K page takes to be transferred from disk, and for example, 5MB/sec is about 5K/ms, so an 8K page takes just under 2ms to transfer.&lt;br /&gt;&lt;br /&gt;Average seek time, normally in milliseconds (ms). This is the time required for the disk head to move radially to the correct location on the disk.&lt;br /&gt;&lt;br /&gt;Rotational speed, normally in revolutions per minutes (rpm), e.g. 7200rpm. From this, you can calculate the average rotational delay in moving the disk under the disk-head reader, i.e., the time taken for half a revolution. For example, for 7200rpm, one revolution takes 60,000ms (60 seconds) divided by 7200rpm, which is about 8.3 ms. So half a revolution takes just over 4ms, which is consequently the average rotational delay.&lt;br /&gt;&lt;br /&gt;This list allows you to calculate the actual time it takes to load a random 8K page from the disk, this being seek time + rotational delay + transfer time. Using the examples given in the list, you have 10 + 4 + 2 = 16 ms to load a random 8K page (almost an order of magnitude slower than the raw disk throughput). This calculation gives you a worst –case scenario for the disk-transfer rates for your application, allowing you to determine if the system is up to the required performance. Note that if you are reading data stored sequentially in disk (as when reading a large file), the seek time and rotational delay are incurred less than once per 8K page loaded. Basically, these two times are incurred only at the beginning of opening the file and whenever the file is fragmented. But this calculation is confounded by other processes also executing I/O to the disk at the same time. This overhead is part of the reason why swap and other intensive I/O files should not be put on the same disk.&lt;br /&gt;&lt;br /&gt;One mechanism for speeding up disk I/O is to stripe disks. Disk striping allows data from a particular file to be spread over several disks. Striping allows reads and writes to be performed in parallel across the disks without requiring any application changes. This can speed up disk I/O quite effectively. However, be aware that the seek and rotational overhead previously listed still applies, and if you are making many small random reads, there may be no performance gain from striping disks.&lt;br /&gt;&lt;br /&gt;Finally, note again that using remote disks adversely affects I/O performance. You should not be using remote disks mounted from the network with any I/O-intensive operations if you need good performance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Clustering Files&lt;br /&gt;&lt;br /&gt;Reading many files sequentially is faster if the files are clustered together on the disk, allowing the disk-head reader to flow from one file to the next. This clustering is best done in conjunction with defragmenting the disks. The overhead in finding the location of a file on the disk (detailed in the previous section) is also minimized for sequential reads if the files are clustered.&lt;br /&gt;&lt;br /&gt;If you cannot specify clustering files at the disk level, you can still provide similar functionality by putting all the files together into one large file (as is done with the ZIP file systems). This is fine if all the files are read-only files or if there is just one file that is writable (you place that at the end). However, when there is more than one writable file, you need to manage the location of the internal files in your system as one or more grow. This becomes a problem and is not usually worth the effort. (If the files have a known bounded size, you can pad the files internally, thus regaining the single file efficiency.)&lt;br /&gt;Cached File Systems (RAM Disks, tmpfs, cachefs)&lt;br /&gt;&lt;br /&gt;Most OS provide the ability to map a file system into the system memory . This ability can speed up reads and writes to certain files in which you control your target environment. Typically, this technique has been used to speed up the reading and writing of temporary files. For example, some compilers (of languages in general, not specifically Java) generate many temporary files during compilation. If these files are created and written directly to the system memory, the speed of compilation is greatly increased. Similarly, if you have the a set of external files that are needed by your application, it is possible to map these directly into the system memory, thus allowing their reads and writes to be speeded up greatly.&lt;br /&gt;&lt;br /&gt;But note that these types of file systems are not persistent. In the same way the system memory of the machine gets cleared when it is rebooted, so these file systems are removed on reboot. If the system crashes, anything in a memory-mapped file system is lost. For this reason, these types of file systems are usually suitable only for temporary files or read-only versions of disk-based files (such as mapping a CD-ROM into a memory-resident file system).&lt;br /&gt;&lt;br /&gt;Remember that you do not have the same degree of fine control over these file systems that you have over your application. A memory-mapped file system does not use memory resources as efficiently as working directly from your application. If you have direct control over the files you are reading and writing, it is usually better to optimize this within your application rather than outside it. A memory-mapped file system takes space directly from system memory. You should consider whether it would be better to let your application grow in memory instead of letting the file system take up that system memory. For multi-user applications, it is usually more efficient for the system to map shared files directly into memory, as a particular fule then takes up just one memory location rather than duplicate in each process. Note that from SDK 1.4, memory-mapped files are directly supported from the java.nio package. Memory-mapped files are slightly different from memory-mapped file systems. A memory-mapped file uses system resources to read the file into system memory, and that data can then be accessed form Java through the appropriate java.nio buffer. A memory-mapped file system does not require the java.nio package and, as far as Java is concerned, files in that file system are simply files like any others. The OS transparently handles the memory mapping.&lt;br /&gt;&lt;br /&gt;The creation of memory-mapped file systems is completely system-dependent, and there is no guarantee that it is available on any particular system (though most modern OS do support this feature). On UNIX system, the administrator needs to look at the documentation of the mount command and its subsections on cachefs and tmpfs. Under Windows, you should find details by looking at the documentation on how to setup a RAM disk, a portion of memory mapped to a logical disk drive.&lt;br /&gt;&lt;br /&gt;In a similar way, there are products available that pre-cache shared libraries (DLL) and even executables in memory. This usually means only that an application starts quicker or loads the quicker, and so may not be much help in speeding up a running system.&lt;br /&gt;&lt;br /&gt;But you can apply the technique of memory-mapping file systems directly and quite usefully for applications in which processes are frequently started. Copy the Java distribution and all class files (all JDK, application, and third-party class files) onto a memory-mapped file system and ensure that all executions and classloads take place from the file system. Since everything (executables, DLLs, class files, resources, etc.) is already in memory, the startup time is much faster. Because only the startup (and class loading) time is affected, this technique gives only a small boost to applications that are not frequently starting processes, but can be usefully applied if startup time is a problem.&lt;br /&gt;&lt;br /&gt;Disk Fragmentation&lt;br /&gt;&lt;br /&gt;When files are stored on disk, the bytes in the files are note necessarily stored contiguously: their storage depends on file size and contiguous space available on the disk. This non-contiguous storage is called fragmentation. Any particular file may have some chunks in one place, and a pointer to the next chunk that may be quite a distance away on the disk.&lt;br /&gt;&lt;br /&gt;Hard disks tend to get fragmented over time. This fragmentation delays both reads from files (including loading applications into computer memory on startup) and writes to files. This delay occurs because the disk header must wind on to the next chunk with each fragmentation, and this takes time.&lt;br /&gt;&lt;br /&gt;For optimum performance on any system, it is a good idea to periodically defragment the disk. This reunites files that have been split up so that disk heads do not spend so much time searching for data once the file-header locations have been identified, thus speeding up data access. Defragmenting may not be effective on all systems, however.&lt;br /&gt;Disk Sweet Spots&lt;br /&gt;&lt;br /&gt;Most disks have a location from which data is transferred faster than from other locations. Usually, the closer the data is to the outside edge of the disk, the faster it can be read from the disk. Most hard disks rotate at constant angular speed. This means that the linear speed of the disk under a point is faster the farther away the point is from the center of the disk. Thus, data at the edge of the disk can be read from (and written to) at the faster possible rate commensurate with the maximum density of data storable on disk.&lt;br /&gt;&lt;br /&gt;This location with faster transfer rates usually termed the disk sweet spot. Some&lt;br /&gt;(Commercial) utilities provide mapped access to the underlying disk and allow you to reorganize files to optimize access. On most server systems, the administrator has control over how logical partitions of the disk apply to the physical layout, and how to position files to the disk sweet spots. Experts for high-performance database system sometimes try to position the index tables of the database as close as possible to the disk sweet spot. These tables consist of relatively small amounts of data that affect the performance of the system in a disproportionately large way, so that any speed improvement in manipulating these tables is significant.&lt;br /&gt;&lt;br /&gt;Note that some of the latest OS are beginning to include “awareness” of disk sweet spots, and attempt to move executables to sweet spots when defragmenting the disk. You may need to ensure that the defragmentation procedure does not disrupt your own use of the disk sweet spot.&lt;br /&gt;The above is taken from the publication, "Java Performance Tuning" written by Jack Shirazi. I would recommend to read this book as it provides not just tuning and bottleneck concepts bounded by Java.&lt;br /&gt;&lt;br /&gt;I would also recommend visiting the site author by Jack himself and a couple of his mates. It is a very resourceful site for Java performance-related information. Click here to access it.&lt;br /&gt;Basics: Memory Bottlenecks&lt;br /&gt;Maintaining watch directly on the system memory (RAM) is not usually that helpful in identifying performance problems. A better indication that memory might be affecting performance can be gained by watching for paging of data from memory to the swap files. Most current OS have a virtual memory that is made up of the actual (real) system memory using RAM chips, and one or more swap files on the system disks. Processes that are currently running are operating in real memory. The OS can take pages from any of the processes currently in real memory and swap them out to disk. This is known as paging. Paging leaves free space in real memory to allocate to other processes that need to bring in a page from disk. &lt;br /&gt;&lt;br /&gt;Obviously, if all the processes currently running can fit into real memory, there is no need for the system to swap out any pages. However, if there are too many processes to fit into real memory, paging allows the system to free up system memory to run more processes. Paging affects system performance in many ways. One obvious way is that if a process has had some pages moved to disk and the process becomes run-able, the OS has to pull back the pages from dusk before that process can be run. This leads to delays in performance. In addition, both CPU and the disk I/O spend time doing the paging, reducing available processing power and increasing the load on the disks. This cascading effect involving both the CPU and I/O can degrade the performance of the whole system in such a way that it maybe difficult to even recognize that paging is the problem. The extreme version of too much paging is thrashing, in which the system is spending so much time moving pages around that it fails to perform any other significant work. (The next step is likely to be a system crash). &lt;br /&gt;&lt;br /&gt;As with run-able queues (see CPU section), a little paging of the system does not affect the performance enough to cause concern. In fact, some paging can be considered good. It indicated that the system’s memory resources are fully utilized. But at the point where paging becomes a significant overhead, the system is overloaded. &lt;br /&gt;&lt;br /&gt;Monitoring paging is relatively easy. On UNIX, the utilities vmstat and iostat provide details as to the level of paging, disk activity and memory levels. On Windows, the performance monitor has categories to show these details, as well as being able to monitor the system swap files. &lt;br /&gt;&lt;br /&gt;If there is more paging than is optimal, the system’s RAM is insufficient or processes are too big. To improve this situation, you need to reduce the memory being used by reducing the number of processes or the memory utilization of some processes. Alternatively, you can add RAM. Assuming that it is your application that is causing the paging (Otherwise, either the system needs an upgrade, or someone else’s processes may also have to be tuned), you need to reduce the memory resources you are using. &lt;br /&gt;&lt;br /&gt;When the problem is caused by a combination of your application and others, you can partially address the situation by using process priorities (see the CPU “section”). The equivalent to priority levels for memory usage is an all-or-nothing option, where you can lock process in memory. This option is not available on all systems and is more often applied to shared memory than to processes, but nevertheless, it is useful to know. If this option is applied, the process is locked into real memory and is not paged out at all. You need to be aware that using this option reduces the amount of RAM available to all other processes, which can make overall system performance worse. Any deterioration in system performance is likely occurring at heavy system load, so make sure you extrapolate the effect of reducing the system memory in this way.&lt;br /&gt;&lt;br /&gt;Basics: Network Bottlenecks&lt;br /&gt;At the network level, many things can affect performance. The bandwidth (the amount of data that can be carried by the network) tends to be the first culprit checked. Assuming you have determined that bad performance is attributable to the network component of an application, there is more likely cause of bad network performance than network bandwidth. The most likely cause of bad network performance is the application itself and how it is handling distributed data and functionality.&lt;br /&gt;The overall speed of a particular network connection is limited by the slowest link in the connection chain and the length of the chain. Identifying the slowest link is difficult and may not even be consistent: it can vary at different times of the day or for different communication paths. A network communication path lead from an application through a TCP/IP stack (which adds various layers of headers, possibly encrypting and compressing data as well), then through the hardware interface, through a modem, over a phone line, through another modem, over to a service provider’s router, through many heavily congested data lines of various carrying capacities and multiple routers with different maximum throughputs and configurations, to a machine at the other end with its own hard interface, TCP/IP stack and application. A typical web download route is just like this. In addition, there are dropped packets, acknowledgements, retries, bus contention, and so on.&lt;br /&gt;Because so many possibilities causes of bad network performance are external to an application, one option you can consider including in an application is a network speed testing facility that reports to the user. This should test the speed of data transfer from the machine to various destinations: to itself, to another machine on the local network, to the Internet Service Provider, to the target server across the network, and to any other destinations appropriate. This type of diagnostics report can tell users that they are obtaining bad performance from something other than your application. If you feel that the performance of your application is limited by the actual network communication speed, and not by other (application) factors, this facility will report the maximum possible speeds to youruser.&lt;br /&gt;&lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt;&lt;!--[endif]--&gt;&lt;br /&gt;Latency&lt;br /&gt;Latency is different from the load-carrying capacity (bandwidth) of a network. Bandwidth refers to how much data can be sent down the communication channel for a given period of time and is limited by the link in the communication chain that has the lowest bandwidth. The latency is the amount of time a particular data packet takes to get from one end of the communication channel to the other. Bandwidth tells you the limits within which your application can operate before the performance become affected by the volume of data being transmitted. Latency often affects the user’s view of the performance even when bandwidth isn’t a problem.&lt;br /&gt;In most cases, especially Internet traffic, latency is an important concern. You can determine the basic round-trip time for a data packets from any two machines using the ping utility. This utility provides a measure of the time it takes a packet of data to reach another machine and be returned. However, the time measure is for a basic underlying protocol (ICMP packet) to travel between the machines. If the communication channel is congested and the overlying protocol requires re-transmissions (often the case for Internet traffic), one transmission at the application level can actually be equivalent to many round trips.&lt;br /&gt;It is important to be aware of these limitations. It is often possible to tune the application to minimize the number of transfers by packing data together, caching and redesigning the distributed application protocol to aim for a less conversational mode of operation. At the network level, you need to monitor the transmission statistics (using the ping and netstat utilities and packet sniffers) and consider tuning any network parameters that you have access to in order to reduce re-transmissions.&lt;br /&gt;TCP/IP Stacks&lt;br /&gt;The TCP/IP stack is the section of code that is responsible for translating each application-level network request (send, receive, connect, etc.) through the transport layers down to the wire and back up to the application at the other end of the connection. Because the stacks are usually delivered with the operation system and performance-tested before delivery (since a slow network connection on an otherwise fast machine and fast network is pretty obvious), it is unlikely that the TCP/IP stack itself is a performance problem.&lt;br /&gt;In addition to the stack itself, stacks include several tunable parameters. Most of these parameters deal with transmission details beyond the scope of the book. One parameter worth mentioning is the maximum packet size. When your application sends data, the underlying protocol breaks the data into packets that are transmitted. There is an optimal size for packets transmitted over a particular communication channel, and the packet size actually used by the stack is compromise. Smaller packets are less likely to be dropped, but they introduced more overhead, as data probably has to be broken up into more packets with more header overhead.&lt;br /&gt;If your communication takes place over a particular set of endpoints, you may want to alter the packet sizes. For a LAN segment with no router involved, the packets can be big (e.g. 8KB). For a LAN with routers, you probably want to set the maximum packet size to the size the routers allow to pass unbroken. (Routers can break up the packets into smaller ones; 1500 bytes is the typical maximum packet size and the standard for the Ethernet. The maximum packet size is configurable by the router’s network administrator.) If your application is likely to be sending data over the Internet and you cannot guarantee the route and quality of routers it will pass through, 500 bytes per packet is likely to be optimal.&lt;br /&gt;Network Bottlenecks&lt;br /&gt;Other causes of slow network I/O can be attributed directly to the load or configuration of the network. For example, a LAN may become congested when many machines are simultaneously trying to communicate over the network. The potential throughput of the network could handle the load, but the algorithms to provide communication channels slow the network, resulting in a lower maximum throughput. A congested Ethernet network has an average throughput approximately one third the potential maximum throughputs. Congested networks have other problems, such as dropped network packets. If you are using TCP, the communication rate on a congested network is much slower as the protocol automatically resends the dropped packets. If you are using UDP, your application must resend multiple copies for each transfer. Dropping packets in this way is common for the Internet. For LANs, you need to coordinate closely with network administrators to alert them to the problem. For single machines connected by a service provider, suggesting improvements. The phone line to the service provider may be noisier than expected: if so, you also need to speak to the phone line provider. It is also worth checking with the service provider, who should have optimal configurations they can demonstrate.&lt;br /&gt;Dropped packets and re-transmissions are a good indication of network congestion problems, and you should be on constant lookup for them. Dropped packets often occur when routers are overloaded and find it necessary to drop some of the packets being transmitted as the router’s buffer overflow. This means that the overlying protocol will request the packets to be resent. The netstat utility lists re-transmission and other statistics that can identify these sorts of problems. Re-transmissions may indicate that the maximum packet size is too large.&lt;br /&gt;DNS Lookup&lt;br /&gt;Looking up network address is an often-overlooked cause of bad network performance. When your application tries to connect to a network address such as foo.bar.somthing.org (e.g. downloading a webpage from http://foo.bar.something.org), your application first translates foo.bar.somthing.org into a four-byte network IP address such as 10.33.6.45. This is the actual address that the network understands and uses for routing network packets. The is this translation works is that your system is configured with some seldom-used files that can specify this translation, and a more frequently used Domain Name System (DNS) server that can dynamically provide you with the address from the given string. DBS translation works as follows:&lt;br /&gt;1. The machine running the application sends the text string of the hostname (e.g. foo.bar.something.org) to the DNS server. &lt;br /&gt;2. The DNS server checks its cache to find an IP address corresponding to that hostname. If the server does not find an entry in the cache, it asks its own DNS server (usually further up the Internet domain-name hierarchy) until ultimately the name is resolved. (This may be by components of the name being resolved, e.g. first .org, then something.org, etc, each time asking another machine as the search request is successively resolved.) This resolved IP address is added to the DBS server’s cache. &lt;br /&gt;3. The IP address s returned to the original machine running the application. &lt;br /&gt;4. The application uses the IP address to connect to the desired destination.&lt;br /&gt;The address lookup does not need to be repeated once a connection is established, but any other connections (within the same session of the application or in other session s at the same time and later) need to repeat the lookup procedure to start another connection.&lt;br /&gt;You can improve this situation by running a DNS server locally on the machine, or on a local server if the application uses a LAN. A DNS server can be run as a “caching-only” server that resets its cache each time the machine is rebooted. There would be little point in doing this if the machine used only one or two connections per hostname between successive reboots. For more frequent connections, a local DNS server can provide a noticeable speedup to connections. Nslookup is useful for investigating how a particular system does translations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-2613018969982700195?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/2613018969982700195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/important-basics-of-performance-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/2613018969982700195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/2613018969982700195'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/important-basics-of-performance-testing.html' title='important Basics of Performance Testing-3'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-6987596685620603048</id><published>2009-05-18T22:44:00.000-07:00</published><updated>2009-10-21T22:48:46.490-07:00</updated><title type='text'>Important Baiscs in performance Testing -2</title><content type='html'>Basics: M&lt;span style="font-weight:bold;"&gt;ax. Running Vusers in Analysis is different from Vuser Quantity in Controller?&lt;/span&gt;&lt;br /&gt;There are couple of times when an individual starts to pick up LoadRunner ask this question. I've written the explanation here for the convenience of the newbies which I had previously responded in the Yahoo! group discussion. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Max. Running Vuser&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It defines at any point of point of time, the maximum number of vusers running together concurrently (in Run state). This is the "state" or usually the requirement of a load test to reach "X" number of concurrent users. If a load test were to required to run 100 concurrent users, then the Max. Running Vuser must be 100. This is different from Vuser Quantity explained in the following.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Vuser Quantity&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the Controller, the Vuser Quantity is the total number of participating in the load test but it is different from Max. Running Vuser which is explained above. To view the total number of Vuser participating the load test (Vuser Quantity), open the Vuser Summary graph. Please take note that the Summary Report in the Analysis session displays the maximum number of vusers running in the scenario and not the total vuser particiapting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-6987596685620603048?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/6987596685620603048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/important-baiscs-in-performance-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/6987596685620603048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/6987596685620603048'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/important-baiscs-in-performance-testing.html' title='Important Baiscs in performance Testing -2'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-6513618022178224376</id><published>2009-05-18T22:39:00.000-07:00</published><updated>2009-10-21T22:48:46.501-07:00</updated><title type='text'>Importanat Basics of Performance Testing-1</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Basics:&lt;/span&gt; &lt;span style="font-weight:bold;"&gt;Transaction Response TIme&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;What is Transaction Response Time?&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;Transaction Response Time represents the time taken for the application to complete a defined transaction or business process.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Why is important to measure Transaction Response Time? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The objective of a performance test is to ensure that the application is working perfectly under load. However, the definition of “perfectly” under load may vary with different systems.&lt;br /&gt;By defining an initial acceptable response time, we can benchmark the application if it is performing as anticipated. &lt;br /&gt;&lt;br /&gt;The importance of Transaction Response Time is that it gives the project team/ application team an idea of how the application is performing in the measurement of time. With this information, they can relate to the users/customers on the expected time when processing request or understanding how their application performed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;What does Transaction Response Time encompass? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Transaction Response Time encompasses the time taken for the request made to the web server, there after being process by the Web Server and sent to the Application Server. Which in most instances will make a request to the Database Server. All this will then be repeated again backward from the Database Server, Application Server, Web Server and back to the user. Take note that the time taken for the request or data in the network transmission is also factored in. &lt;br /&gt;&lt;br /&gt;To simplify, the Transaction Response Time comprises of the following: &lt;br /&gt;1. Processing time on Web Server &lt;br /&gt;2. Processing time on Application Server &lt;br /&gt;3. Processing time on Database Server &lt;br /&gt;4. Network latency between the servers, and the client &lt;br /&gt;The following diagram illustrates Transaction Response Time.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/ShJGqaatiqI/AAAAAAAAABw/xeDwME62nQQ/s1600-h/Response+Time.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 111px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/ShJGqaatiqI/AAAAAAAAABw/xeDwME62nQQ/s320/Response+Time.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5337406202847267490" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Figure 1  Transaction Response Time = (t1 + t2 + t3 + t4 + t5 + t6 + t7 + t8 + t9) X 2&lt;br /&gt;&lt;br /&gt;Note:&lt;br /&gt;Factoring the time taken for the data to return to the client.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How do we measure?&lt;br /&gt;Measuring of the Transaction Response Time begins when the defined transaction makes a request to the application. From here, till the transaction completes before proceeding with the next subsequent request (in terms of transaction), the time is been measured and will stop when the transaction completes.&lt;br /&gt;&lt;br /&gt;Differences with Hits Per Seconds&lt;br /&gt;Hits per Seconds measures the number of “hits” made to a web server. These “hits” could be a request made to the web server for data or graphics. However, this counter does not represent well to users on how well their application is performing as it measures the number of times the web server is being accessed.&lt;br /&gt;How can we use Transaction Response Time to analyze performance issue? &lt;br /&gt;Transaction Response Time allows us to identify abnormalities when performance issues surface. This will be represented as slow response of the transaction, which differs significantly (or slightly) from the average of the Transaction Response Time. &lt;br /&gt;With this, we can further drill down by correlation using other measurements such as the number of virtual users that is accessing the application at the point of time and the system-related metrics (e.g. CPU Utilization) to identify the root cause. &lt;br /&gt;Bringing all the data that have been collected during the load test, we can correlate the measurements to find trends and bottlenecks between the response time, the amount of load that was generated and the payload of all the components of the application.&lt;br /&gt;&lt;br /&gt;How is it beneficial to the Project Team? &lt;br /&gt;Using Transaction Response Time, Project Team can better relate to their users using transactions as a form of language protocol that their users can comprehend. Users will be able to know that transactions (or business processes) are performing at an acceptable level in terms of time. &lt;br /&gt;Users may be unable to understand the meaning of CPU utilization or Memory usage and thus using a common language of time is ideal to convey performance-related issues.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-6513618022178224376?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/6513618022178224376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/importanat-basics-of-performance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/6513618022178224376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/6513618022178224376'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/importanat-basics-of-performance.html' title='Importanat Basics of Performance Testing-1'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_m7HkDZ2NO-k/ShJGqaatiqI/AAAAAAAAABw/xeDwME62nQQ/s72-c/Response+Time.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-5843010009326649583</id><published>2009-05-18T03:58:00.000-07:00</published><updated>2009-10-21T22:48:46.510-07:00</updated><title type='text'>My Favourite QTP Blog</title><content type='html'>Yes, It's absolutely my favourite blog on QTP.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://automated-chaos.blogspot.com"&gt;Visit here, You may be interested this one &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-5843010009326649583?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/5843010009326649583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/my-favourite-qtp-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/5843010009326649583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/5843010009326649583'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/my-favourite-qtp-blog.html' title='My Favourite QTP Blog'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-4692880484762709493</id><published>2009-05-06T01:10:00.000-07:00</published><updated>2009-10-21T22:48:46.628-07:00</updated><title type='text'>Quality Center Interview Questions and Answers</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s1600-h/10tools+number.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 189px; height: 100px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s320/10tools+number.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5334504874218779906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1. Why is TestDirector used for?&lt;br /&gt;&lt;br /&gt;    TestDirector is a test management tool. The completely web-enabled TestDirector supports high level of communication and association among various testing teams, driving a more effective and efficient global application-testing process. One can also create reports and graphs to help review the progress of planning tests, executing tests, and tracking defects before a software release.&lt;br /&gt;&lt;br /&gt;2. Why are the requirements linked to the test cases?&lt;br /&gt;&lt;br /&gt;    TestDirector connects requirements directly to test cases, ensuring that all the requirements have been covered by the test cases.&lt;br /&gt;&lt;br /&gt;3. What are the benefits and features of TestDirector?&lt;br /&gt;&lt;br /&gt;    TestDirector incorporates all aspects of the testing process i.e. requirement management, test planning, test case management, scheduling, executing tests and defect management into a single browser-based application. It maps requirements directly to the test cases ensuring that all the requirements have been covered by the test cases. It can import requirements and test plans from excel sheet accelerating the testing process. It executes both manual and automated tests.&lt;br /&gt;&lt;br /&gt;4. What is the use of filters in TD?&lt;br /&gt;&lt;br /&gt;    Filters in TestDirector are mainly used to filter out for the required results. It helps to customize and categorize the results. For eg: to quickly view the passed and failed tests separately filters are used.&lt;br /&gt;&lt;br /&gt;5. What is Test Lab?&lt;br /&gt;&lt;br /&gt;    In the Test Lab the test cases are executed. Test Lab will always be linked to the test plan. Usually both are given the same name for easy recognition. &lt;br /&gt;&lt;br /&gt;6. How to customize the defect management cycle in Quality Center?&lt;br /&gt;&lt;br /&gt;    Firstly one should collect all the attributes that has to be part of the defect management like version, defect origin, defect details, etc. Later using the modify options in QC one can change the defect module accordingly. &lt;br /&gt;&lt;br /&gt;7. What is the advantage of writing test cases in Quality Center than writing in excel sheet?&lt;br /&gt;&lt;br /&gt;    Although creating test cases in excel sheet will be faster than doing it in QC as excel is more user friendly when compared to QC one require to upload them to QC and this process may cause some delay due to various reasons. Also QC provides link to other tests which in turn is mapped to the requirements.&lt;br /&gt;&lt;br /&gt;8. What is the difference between TestDirector and Quality Center?&lt;br /&gt;&lt;br /&gt;    The main difference is QC is more secured than TestDirector. In Quality Center the login page shows projects associated only to the logged in user unlike in Test Director where one can see all the available projects. Also test management is much more improved in QC than TD. Defect linkage functionality in QC is more flexible when compared to TD. &lt;br /&gt;&lt;br /&gt;9. What is meant by Instance?&lt;br /&gt;&lt;br /&gt;    Test instance is an instance of test case in Test Lab. Basically it means the test case which you have imported in Test lab for execution.&lt;br /&gt;&lt;br /&gt;10. What is the use of requirement option in TestDirector?&lt;br /&gt;&lt;br /&gt;    Requirement module in TD is used for writing the requirements and preparing the traceability matrix.&lt;br /&gt;&lt;br /&gt;11. Is it possible to maintain test data in TestDirector?&lt;br /&gt;&lt;br /&gt;    Yes one can attach the test data to the corresponding test cases or create a separate folder in test plan to store them.&lt;br /&gt;&lt;br /&gt;12. If one tries to upgrade from TestDirector 7.2 to QC 8.0 then is there risk of losing any data?&lt;br /&gt;&lt;br /&gt;    No there is no risk of losing the data during the migration process. One has to follow proper steps for successful migration. &lt;br /&gt;&lt;br /&gt;13. How is a bug closed in TestDirector?&lt;br /&gt;&lt;br /&gt;    Once the test cases are executed in the Test Lab and bugs are detected, it is logged as a defect using the Defect Report Tab and sent to the developer. The bug will have 5 different status namely New, Open, Rejected, Deferred and Closed. Once the bug has been fixed and verified its status is changed to closed. This way the bug lifecycle ends. &lt;br /&gt;&lt;br /&gt;14. In TD how are the test cases divided into different groups?&lt;br /&gt;&lt;br /&gt;    In the test plan of TestDirector one can create separate folder for various modules depending on the project. A main module in the test plan can be created and then sub modules be added to that.&lt;br /&gt;&lt;br /&gt;15. What is the difference between TD and Bugzilla?&lt;br /&gt;&lt;br /&gt;    TestDirector is a test management tool. In TD one can write manual and automated test cases, add requirements, map requirements to the test cases and log defects. Bugzilla is used only for logging and tracking the defects. &lt;br /&gt;&lt;br /&gt;16. Are TestDirector and QC one and the same?&lt;br /&gt;&lt;br /&gt;    Yes TestDirector and Quality Center are same. Version of TD 8.2 onwards was known as Quality Center. The latest version of Quality Center is 9.2. QC is much more advanced when compared to TD. &lt;br /&gt;&lt;br /&gt;17. What is the instance of the test case inside the Test Set?&lt;br /&gt;&lt;br /&gt;    Test set is a place containing sets of test cases. We can store many test cases inside test set. Now instance of test case is the test case which you have imported in the test tab. If an another test case has the same steps as this test case till half way then you can create the instance of this test case.&lt;br /&gt;&lt;br /&gt;18. What are the various types of reports in TestDirector?&lt;br /&gt;&lt;br /&gt;    In TD reports are available for requirements, test cases, test execution, defects, etc. The reports give various details like summary, progress, coverage, etc. Reports can be generated from each TestDirector module using the default settings or it can be customized. When customizing a report, filters and sort conditions can be applied and the required layout of the fields in the report can be specified. Sub-reports can also be added to the main report. The settings of the reports can be saved as favorite views and reloaded as required.&lt;br /&gt;&lt;br /&gt;19. How can one map a single defect to more than one test script?&lt;br /&gt;&lt;br /&gt;    Using the 'associate defect' option in TestDirector one can map the same defect to a number of test cases. &lt;br /&gt;&lt;br /&gt;20. Is it possible to create custom defect template in TestDirector?&lt;br /&gt;&lt;br /&gt;    It is not possible to create ones own template for defect reporting in TestDirector but one can customize the template that is already available in TestDirector as required.&lt;br /&gt;&lt;br /&gt;21. Can a script in TD be created before recording script in Winrunner or QTP?&lt;br /&gt;&lt;br /&gt;    Any automation script can be created directly in TD. You need to open the tool (Winrunner or QTP) and then connect to TD by specifying the url, project, domain, userid and password. And then you just record the script like you always do. When you save the script, you can save it in TD instead of your local system.&lt;br /&gt;&lt;br /&gt;22. How to ensure that there is no duplication of bugs in TestDirector?&lt;br /&gt;&lt;br /&gt;    In the defect tracking window of TD there is a “find similar defect” icon. When this icon is clicked after writing the defect, if anybody else has entered the same defect then it points it out. &lt;br /&gt;&lt;br /&gt;23. How is the Defect ID generated in TestDirector?&lt;br /&gt;&lt;br /&gt;    The Defect ID is automatically generated once the defect is submitted in TD.&lt;br /&gt;&lt;br /&gt;24. What does the test grid contain?&lt;br /&gt;&lt;br /&gt;    The test grid displays all the relevant tests related to a project in TD. It contains the some key elements like test grid toolbar with various buttons for commands which are commonly used when creating and modifying the tests, grid filter which displays the filter that is currently applied to a column, description tab which displays a description of the selected test in the test grid and history tab that displays the changes made to a test. &lt;br /&gt;&lt;br /&gt;25. What are the 3 views in TD?&lt;br /&gt;&lt;br /&gt;    The three views in TD are Plan Test which is used to prepare a set of test cases as per the requirements, Run Test which is used for executing the prepared test scripts with respect to the test cases and finally Track Defects which is used by the test engineers for logging the defects. &lt;br /&gt;&lt;br /&gt;26. How to upload data from an excel sheet to TestDirector?&lt;br /&gt;&lt;br /&gt;    In order to upload data from excel sheet to TD firstly excel addin has to be installed, then the rows in the excel sheet which has to be imported to TD should be selected, and then finally the Export to TD option in the tools menu of TestDirector should be selected. &lt;br /&gt;&lt;br /&gt;27. How many types of tabs are available in TestDirector?&lt;br /&gt;&lt;br /&gt;    There are 4 types of tabs available in TestDirector. They are Requirement, Test Plan, Test Lab and Defect. It is possible to customize the names of these tabs as desired. &lt;br /&gt;&lt;br /&gt;28. Is 'Not covered' and 'Not run' status the same?&lt;br /&gt;&lt;br /&gt;    Not Covered status means all those requirements for which the test cases are not written whereas Not Run status means all those requirements for which test cases are written but are not run.&lt;br /&gt;&lt;br /&gt;29. How does TestDirector store data?&lt;br /&gt;&lt;br /&gt;    In TD data is stored on the server.&lt;br /&gt;&lt;br /&gt;30. Why should we create an Instance?&lt;br /&gt;&lt;br /&gt;    Test Instance is used to run the test case in the test lab. It is the test instance that you can run since you can't run the test case in test set.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Set 2 : &lt;br /&gt;&lt;br /&gt;1. What is meant by test lab in Quality Centre?&lt;br /&gt;Test lab is a part of Quality Centre where we can execute our test on different cycles creating test tree for each one of them. We need to add test to these test trees from the tests, which are placed under test plan in the project. Internally Quality Centre will refer to this test while running then in the test lab.&lt;br /&gt;&lt;br /&gt;2. Can you map the defects directly to the requirements(Not through the test cases) in the Quality Centre?&lt;br /&gt;In the following methods is most likely to used in this case:&lt;br /&gt;Create your Req.Structure&lt;br /&gt;Create the test case structure and the test cases&lt;br /&gt;Map the test cases to the App.Req&lt;br /&gt;Run and report bugs from your test cases in the test lab module.&lt;br /&gt;&lt;br /&gt;The database structure in Quality Centre is mapping test cases to defects, only if you have created the bug from Application. test case may be we can update the mapping by using some code in the bug script module(from the customize project function), as per as i know, it is not possible to map defects directly to an requirements.&lt;br /&gt;&lt;br /&gt;3. how do you run reports from Quality Centre. Does any one have good white paper or articles?&lt;br /&gt;This is how you do it&lt;br /&gt;1. Open the Quality Centre project&lt;br /&gt;2. Displays the requirements modules&lt;br /&gt;3. Choose report&lt;br /&gt;Analysis &gt; reports &gt; standard requirements report&lt;br /&gt;&lt;br /&gt;4. Can we upload test cases from an excel sheet into Quality Centre?&lt;br /&gt;Yes go to Add-In menu Quality Centre, find the excel add-In, and install it in your machine.&lt;br /&gt;Now open excel, you can find the new menu option export to Quality Centre. Rest of the procedure is self explanatory.&lt;br /&gt;&lt;br /&gt;5. Can we export the file from Quality Centre to excel sheet. If yes then how?&lt;br /&gt;Requirement tab– Right click on main req/click on export/save as word, excel or other template. This would save all the child requirements&lt;br /&gt;&lt;br /&gt;Test plan tab: Only individual test can be exported. no parent child export is possible. Select a test script, click on the design steps tab, right click anywhere on the open window. Click on export and save as.&lt;br /&gt;&lt;br /&gt;Test lab tab: Select a child group. Click on execution grid if it is not selected. Right click anywhere. Default save option is excel. But can be saved in documents and other formats. Select all or selected option&lt;br /&gt;&lt;br /&gt;Defects Tab: Right click anywhere on the window, export all or selected defects and save excel sheet or document.&lt;br /&gt;&lt;br /&gt;6. How many types of tabs are there in Quality Centre. Explain?&lt;br /&gt;There are four types of tabs are available&lt;br /&gt;&lt;br /&gt;1. Requirement : To track the customer requirements&lt;br /&gt;2. Testplan : To design the test cases and to store the test scripts&lt;br /&gt;3. test lab : To execute the test cases and track the results.&lt;br /&gt;4. Defect : To log a defect and to track the logged defects.&lt;br /&gt;&lt;br /&gt;7. How to map the requirements with test cases in Quality Centre?&lt;br /&gt;1. In requirements tab select coverage view&lt;br /&gt;2. Select requirement by clicking on parent/child or grandchild&lt;br /&gt;3. On right hand side(In coverage view window) another window will appear. It has two tabs&lt;br /&gt;a) Tests coverage&lt;br /&gt;b) Details&lt;br /&gt;Test coverage tab will be selected by default or you click on it.&lt;br /&gt;4. Click on select tests button a new window will appear on right hand side and you will see a list of all tests. You cans elect any test case you want to map with your requirements.&lt;br /&gt;&lt;br /&gt;8. How to use Quality Centre in real time project?&lt;br /&gt;Once completed the preparing of test cases&lt;br /&gt;1. Export the test cases into Quality Centre( It will contained total 8 steps)&lt;br /&gt;2. The test cases will be loaded in the test plan module&lt;br /&gt;3. Once the execution is started. We move the test cases from test plan tab to the test lab module.&lt;br /&gt;4. In test lab, we execute the test cases and put as pass or fail or incomplete. We generate the graph in the test lab for daily report and sent to the on site (where ever you want to deliver)&lt;br /&gt;5. If we got any defects and raise the defects in the defect module. when raising the defects, attach the defects with the screen shot.&lt;br /&gt;&lt;br /&gt;9. Difference between Web Inspect-QA Inspect?&lt;br /&gt;QA Inspect finds and prioritizes security vulnerabilities in an entire web application or in specific usage scenarios during testing and presents detail information and remediation advise about each vulnerability.&lt;br /&gt;Web Inspect ensures the security of your most critical information by identifying known and unknown vulnerabilities within the web application. With web Inspect, auditors, compliance officers and security experts can perform security assessments on a web enabled application. Web inspect enables users to perform security assessments for any web application or web service, including the industry leading application platforms.&lt;br /&gt;&lt;br /&gt;10. How can w add requirements to test cases in Quality Centre?&lt;br /&gt;Just you can use the option of add requirements.&lt;br /&gt;Two kinds of requirements are available in TD.&lt;br /&gt;1. Parent Requirement&lt;br /&gt;2. Child requirements.&lt;br /&gt;&lt;br /&gt;Parent Requirements nothing but title of the requirements, it covers high level functions of the requirements&lt;br /&gt;&lt;br /&gt;Child requirement nothing but sub title of requirements, it covers low level functions of the requirements.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-4692880484762709493?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/4692880484762709493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/quality-center-interview-questions-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/4692880484762709493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/4692880484762709493'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/quality-center-interview-questions-and.html' title='Quality Center Interview Questions and Answers'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s72-c/10tools+number.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-468983569352922604</id><published>2009-05-05T21:11:00.000-07:00</published><updated>2009-10-21T22:48:46.616-07:00</updated><title type='text'>Advanced Quality Center 9.2 course</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s1600-h/10tools+number.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 189px; height: 100px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s320/10tools+number.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5334504874218779906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Advanced Quality Center 9.2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;INTENDED AUDIENCE&lt;/span&gt;&lt;br /&gt;�� Quality Center Administrator&lt;br /&gt;�� Quality Center Project managers&lt;br /&gt;�� Quality Assurance Leads&lt;br /&gt;�� Other Quality Center users responsible for managing projects, users, and workflow customizations&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;DURATION: 2 DAYS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;OVERVIEW&lt;/span&gt;&lt;br /&gt;This course covers the tasks that are performed by site administrators, project managers, and Quality Assurance (QA) leads to set up Quality Center (QC) projects before users can work with requirements, test cases, and defects. This hands-on course focuses on planning, creating, and customizing Quality Center projects. It is an important course for people involved in creating projects, modifying existing fields, creating user- defined fields, creating users, setting user permissions, and defining basic workflow.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;COURSE OBJECTIVES&lt;/span&gt;&lt;br /&gt;At the end of the course, you will be able to:&lt;br /&gt;�� Identify the organization level specifications that need to be customized in Quality Center&lt;br /&gt;�� Configure organization-wide Quality Center parameters&lt;br /&gt;�� Customize project-specific Quality Center parameters •Maintain Quality Center projects&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PREREQUISITES&lt;/span&gt;&lt;br /&gt;Working knowledge of:&lt;br /&gt;�� Windows&lt;br /&gt;�� Testing concepts&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;INTRODUCTION TO QUALITY CENTER 9.2&lt;/span&gt;&lt;br /&gt;• Identify the Quality Center modules.&lt;br /&gt;PLANNING THE QUALITY CENTER IMPLEMENTATION&lt;br /&gt;• Planning: considerations and key roles.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;INTRODUCTION TO SITE ADMINISTRATION&lt;/span&gt;&lt;br /&gt;• Logging on to Site Administration.&lt;br /&gt;• Site Administrator components.&lt;br /&gt;• Monitoring user connections and licenses.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CUSTOMIZING PROJECTS AT A GLOBAL LEVEL&lt;/span&gt;&lt;br /&gt;• Project structure in Quality Center.&lt;br /&gt;• Creating domains and projects.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;MAINTAINING QUALITY CENTER PROJECTS&lt;/span&gt;&lt;br /&gt;• Querying project tables.&lt;br /&gt;• Copying, renaming, removing, backing up, restoring , and upgrading projects.&lt;br /&gt;• Deleting Projects and Domains.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CUSTOMIZING USERS AT A GLOBAL LEVEL&lt;/span&gt;&lt;br /&gt;• Creating and managing users.&lt;br /&gt;• Configuring user authentication and LDAP import settings.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CUSTOMIZING OTHER QUALITY CENTER MODULES AT A GLOBAL LEVEL&lt;/span&gt;&lt;br /&gt;• Configure mail parameters.&lt;br /&gt;• Configure connection parameters.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CUSTOMIZING PROJECT-SPECIFIC ENTITIES&lt;/span&gt;&lt;br /&gt;• An overview of Project Customization.&lt;br /&gt;• An overview of customizing project-specific.&lt;br /&gt;• Adding user-defined fields.&lt;br /&gt;• Managing system or user-defined fields.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CUSTOMIZING LOOKUP LISTS&lt;/span&gt;&lt;br /&gt;• Creating project-specific lists.&lt;br /&gt;• Associating a list to a project entity.&lt;br /&gt;• Managing project-specific lists.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;MANAGING PROJECT-SPECIFIC USERS AND USER GROUPS&lt;/span&gt;&lt;br /&gt;• Adding users to a project.&lt;br /&gt;• Creating user groups.&lt;br /&gt;• Customizing module access for user groups.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CUSTOMIZING MAILING OPTIONS AND ALERT RULES&lt;/span&gt;&lt;br /&gt;• Designating mail fields.&lt;br /&gt;• Defining mailing conditions.&lt;br /&gt;• Configuring alert rules.&lt;br /&gt;• Customizing Alert Rules.&lt;br /&gt;• Configuring traceability notification rules.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CUSTOMIZING WORKFLOW&lt;/span&gt;&lt;br /&gt;• Customizing lists.&lt;br /&gt;• Customizing fields by user groups.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;IMPLEMENTING WORKFLOW USING THE SCRIPT EDITOR&lt;/span&gt;&lt;br /&gt;• Using the Script Editor.&lt;br /&gt;• Adding a command button by using the Script Editor.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s1600-h/10tools+number.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 189px; height: 100px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s320/10tools+number.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5334504874218779906" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-468983569352922604?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/468983569352922604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/advanced-quality-center-92-course.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/468983569352922604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/468983569352922604'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/advanced-quality-center-92-course.html' title='Advanced Quality Center 9.2 course'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s72-c/10tools+number.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-1494513124312183302</id><published>2009-05-05T21:03:00.000-07:00</published><updated>2009-10-21T22:48:46.603-07:00</updated><title type='text'>Quality Center 9.2 Course Syllabus</title><content type='html'>QC9.2 : Quality Center 9.2 is a browser based Test Management tool which makes the tasks of testers,test leads and Managers very easy by providing the options to manage and organize activities like Requirements coverage, Test Case Management, test case execution report and Defect Management.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s1600-h/10tools+number.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 189px; height: 100px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s320/10tools+number.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5334504874218779906" /&gt;&lt;/a&gt;&lt;br /&gt;Going forward we will dwell into more details about QC 9.2.&lt;br /&gt;&lt;br /&gt;Let us see the syllabus coverage of QC 9.2 as of now:&lt;br /&gt;&lt;br /&gt;This syllabus is process based Quality Center Hands on course for Professionals :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Prerequisites&lt;/span&gt;&lt;br /&gt;For the Using Quality Center 9.2 and Project Planning and&lt;br /&gt;Customization course:&lt;br /&gt;• Working knowledge of Windows and Testing concepts&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;For the Quality Center 9.2 Dashboard:&lt;/span&gt;&lt;br /&gt;• Windows&lt;br /&gt;• Testing concepts&lt;br /&gt;• Quality Center&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Course Outline&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Using Quality Center 9.2&lt;/span&gt;&lt;br /&gt;• Introduction&lt;br /&gt;• Defining Test Requirements&lt;br /&gt;• Analyze Requirement Risks&lt;br /&gt;• Test Planning&lt;br /&gt;• Test Execution&lt;br /&gt;• Defect Tracking&lt;br /&gt;• Reporting and Analysis&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Quality Center 9.2 Project Planning and Customization:&lt;/span&gt;&lt;br /&gt;• Introduction to Quality Center 9.2&lt;br /&gt;• Planning the Quality Center Implementation&lt;br /&gt;• Introduction to Site Administrator&lt;br /&gt;• Customizing Projects at a Global Level&lt;br /&gt;• Maintaining Quality Center Projects&lt;br /&gt;• Customizing Users at a Global Level&lt;br /&gt;• Customizing other Quality Center Modules at a Global Level&lt;br /&gt;• Customizing Project-Specific Entities&lt;br /&gt;• Customizing Lookup Lists&lt;br /&gt;• Managing Project-Specific Users and User Groups&lt;br /&gt;• Customizing Project-Specific Mailing Options&lt;br /&gt;• Customizing Alert Rules&lt;br /&gt;• Customizing Workflow&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Using the Quality Center 9.2 Dashboard&lt;/span&gt;&lt;br /&gt;• Introduction&lt;br /&gt;• Dashboard Overview&lt;br /&gt;• Configuring User Groups for the Dashboard&lt;br /&gt;• Normalizing Projects&lt;br /&gt;• Working with Portlets&lt;br /&gt;• Creating and Publishing a Module&lt;br /&gt;• Creating KPIs with SQL&lt;br /&gt;• Dashboard Solutions&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s1600-h/10tools+number.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 189px; height: 100px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s320/10tools+number.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5334504874218779906" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-1494513124312183302?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/1494513124312183302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/quality-center-92-course-syllabus.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/1494513124312183302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/1494513124312183302'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/05/quality-center-92-course-syllabus.html' title='Quality Center 9.2 Course Syllabus'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s72-c/10tools+number.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-2812685030287400204</id><published>2009-04-25T06:30:00.000-07:00</published><updated>2009-10-21T22:48:46.568-07:00</updated><title type='text'>YOU are Just 10 Steps away to become QTP Expert</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s1600-h/10tools+number.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 189px; height: 100px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s320/10tools+number.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5334504874218779906" /&gt;&lt;/a&gt;&lt;br /&gt;10 steps to become QTP guru&lt;br /&gt;Would you like to know how to become QTP guru?&lt;br /&gt;The recipe is simple. You should learn the following:&lt;br /&gt;&lt;br /&gt;   1. VBScript&lt;br /&gt;      QTP uses VBScript language. That's why strong knowledge of VBScript is 'must have'.&lt;br /&gt;      Sources:&lt;br /&gt;          * w3schools' VBScript tutorial&lt;br /&gt;          * MS' VBScript Guide.&lt;br /&gt;&lt;br /&gt;   2. Software Testing Automation Frameworks&lt;br /&gt;      To write good automated tests, you should know how to write them.&lt;br /&gt;      There are different approaches and solution. There is not a silver bullet.&lt;br /&gt;      Sources:&lt;br /&gt;          * Test Automation Frameworks&lt;br /&gt;          * Choosing a Test Automation Framework&lt;br /&gt;          * Totally Data-Driven Automated Testing&lt;br /&gt;          * Seven Steps to Test Automation Success&lt;br /&gt;&lt;br /&gt;   3. HP QuickTest Professional Tutorial&lt;br /&gt;      This QTP tutorial cames with QTP.&lt;br /&gt;      It's quite clean and informative. Its main goal is to show and explain basic concepts of QuickTest Professional. It provides knowledge on:&lt;br /&gt;          * creating a test&lt;br /&gt;          * working with Object Repository (OR)&lt;br /&gt;          * running and analyzing tests&lt;br /&gt;          * verifying tests&lt;br /&gt;          * parameterizing, etc&lt;br /&gt;      Sources: '\help\QTTutorial.pdf' or '\help\Tutorial.chm' in QTP Install folder.&lt;br /&gt;&lt;br /&gt;   4. HP QuickTest Professional User's Guide&lt;br /&gt;      As previous tutorial, the present User's Guide come with QTP install too.&lt;br /&gt;      This guide is intended for QuickTest Professional users at all levels. It gives a deeper knowledge on:&lt;br /&gt;          * working with QTP Object Repositoies&lt;br /&gt;          * designing tests&lt;br /&gt;          * enhancing tests (checkpoints, parameterizing, etc)&lt;br /&gt;          * maintaining anf debugging tests&lt;br /&gt;          * advanced testing features, etc&lt;br /&gt;      Sources: '\help\QTUsersGuide.pdf' or '\help\MainUsersGuide.chm' in QTP Install folder.&lt;br /&gt;&lt;br /&gt;   5. COM/DCOM Technologies&lt;br /&gt;      When working with QTP, you will be closely linked with such Microsoft's applications, as: Excel, Word, Outlook. So, I recommend to get familiar with COM, COM Technologies, and COM objects of:&lt;br /&gt;          * MS Internet Explorer&lt;br /&gt;          * MS Excel&lt;br /&gt;          * MS Outlook&lt;br /&gt;&lt;br /&gt;   6. SQL&lt;br /&gt;      SQL is so important in programming, that I strongly recommend to spend time to learn SQL:&lt;br /&gt;          * concepts of RDBM&lt;br /&gt;          * selecting/updating/deleting data&lt;br /&gt;          * SQL queries optimizations&lt;br /&gt;          * databases administration&lt;br /&gt;      Sources:&lt;br /&gt;          * w3schools' SQL tutorial&lt;br /&gt;          * MS SQL Server - this and this&lt;br /&gt;          * Oracle DB&lt;br /&gt;&lt;br /&gt;   7. XML&lt;br /&gt;      XML is an extremely popular and useful format. I'm sure that нou will have to deal with data, stored in XML-files.&lt;br /&gt;      Sources:&lt;br /&gt;          * w3schools' XML tutorial&lt;br /&gt;&lt;br /&gt;   8. HTML, DOM&lt;br /&gt;      Since QuickTest Professional works perfectly with web applications, you should be expert in related fields - HTML, HTTP, DHTML, DOM, etc. They will simplify your future QTP script and make them more reliable and maintenable.&lt;br /&gt;      Sources:&lt;br /&gt;          * w3schools' HTML tutorial&lt;br /&gt;          * w3schools' DHTML tutorial&lt;br /&gt;          * A Beginner's Guide to the XML DOM&lt;br /&gt;          * DOM tutorials&lt;br /&gt;&lt;br /&gt;   9. HP QTP Knowledge Base&lt;br /&gt;      It contains a lot of practical articles about QuickTest Professional.&lt;br /&gt;      You can find there QTP webinars, QTP FAQs, documentations, solutions of your problems or different ways how to improve your QTP automated tests.&lt;br /&gt;      Sources:&lt;br /&gt;          * HP Self-solve Knowledge Search (requires an access to HP site)&lt;br /&gt;&lt;br /&gt;  10. Useful sites&lt;br /&gt;      Sure, it's impossible to know all information on QTP.&lt;br /&gt;      That's why I recommend to use these two sites to search answers to your QTP questions:&lt;br /&gt;          * Google&lt;br /&gt;          * Easy way to automate testing&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s1600-h/10tools+number.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 189px; height: 100px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s320/10tools+number.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5334504874218779906" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-2812685030287400204?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/2812685030287400204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/04/you-are-just-10-steps-away-to-become.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/2812685030287400204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/2812685030287400204'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/04/you-are-just-10-steps-away-to-become.html' title='YOU are Just 10 Steps away to become QTP Expert'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s72-c/10tools+number.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-8639424900247938818</id><published>2009-04-15T05:17:00.000-07:00</published><updated>2009-10-21T22:48:46.552-07:00</updated><title type='text'>LoadRunner Topics</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s1600-h/10tools+number.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 189px; height: 100px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s320/10tools+number.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5334504874218779906" /&gt;&lt;/a&gt;&lt;br /&gt;LoadRunner Certification Topics : &lt;br /&gt;&lt;br /&gt;VuGen:&lt;br /&gt;&lt;br /&gt;1)Recording Options&lt;br /&gt;2)Run time settings&lt;br /&gt;3)Correlation, correlation studio, correlation rules, auto-correlation.&lt;br /&gt;4)Using the API to customize scripts&lt;br /&gt;5)Parameterization (all types)&lt;br /&gt;6)Command line arguements to the mdrv.exe process (type mdrv.exe into the start-&gt;run textfield) Also, in the loadrunn bin directory&lt;br /&gt;7)web_set_sockets_option() there is much you can do with this one function&lt;br /&gt;8)Earlier recording engine, new recording engine&lt;br /&gt;&lt;br /&gt;Controller:&lt;br /&gt;&lt;br /&gt;1)Scheduler&lt;br /&gt;2)Monitor setup, best practices&lt;br /&gt;3)IPSpoofer&lt;br /&gt;4)Vuser Limits&lt;br /&gt;5)MIListener&lt;br /&gt;&lt;br /&gt;LoadGenerator:&lt;br /&gt;&lt;br /&gt;1)How it communicates with the Controller&lt;br /&gt;2)IPWizard&lt;br /&gt;3)QTP, Winrunner setup&lt;br /&gt;4)MOFW agent&lt;br /&gt;5)mdrv.exe&lt;br /&gt;&lt;br /&gt;&lt; /span&gt;Analysis:&lt;br /&gt;&lt;br /&gt;1)Reading/Analyzing graphs&lt;br /&gt;2)Merging graphs&lt;br /&gt;3)Granularization&lt;br /&gt;4)Web page diagnostics&lt;br /&gt;&lt;br /&gt;LoadRunner:&lt;br /&gt;&lt;br /&gt;1)How to setup the different componenets&lt;br /&gt;2)How licensing works&lt;br /&gt;3)Where do I create LoadGenerators/Controller/VuGen/Analysis?&lt;br /&gt;4)How to determine the type of resources needed to perform a Load Test.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s1600-h/10tools+number.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 189px; height: 100px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s320/10tools+number.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5334504874218779906" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-8639424900247938818?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/8639424900247938818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/04/loadrunner-topics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/8639424900247938818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/8639424900247938818'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/04/loadrunner-topics.html' title='LoadRunner Topics'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s72-c/10tools+number.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-1672686672971351710</id><published>2009-04-09T05:20:00.000-07:00</published><updated>2009-10-21T22:48:46.541-07:00</updated><title type='text'>Skills required for performance Engineer</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s1600-h/10tools+number.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 189px; height: 100px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s320/10tools+number.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5334504874218779906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In nutshell, here are the skills required besides very good SQL Knowledge :&lt;br /&gt;&lt;br /&gt;    * Network Basics: Knowledge of OSI, TCP/IP stack, DNS, DHCP, WINS, Routers.&lt;br /&gt;    * Protocols: Knowledge of Winsock, COM, HTTP, and Citrix.&lt;br /&gt;    * Programming/Scripting Languages: Knowledge of HTML, ASP, JSP, Java, C&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s1600-h/10tools+number.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 189px; height: 100px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s320/10tools+number.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5334504874218779906" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-1672686672971351710?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/1672686672971351710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/04/skills-required-for-performance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/1672686672971351710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/1672686672971351710'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/04/skills-required-for-performance.html' title='Skills required for performance Engineer'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s72-c/10tools+number.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-7792483081772016958</id><published>2009-04-09T05:09:00.000-07:00</published><updated>2009-10-21T22:48:46.530-07:00</updated><title type='text'>Information on LoadRunner Certification</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s1600-h/10tools+number.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 189px; height: 100px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s320/10tools+number.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5334504874218779906" /&gt;&lt;/a&gt;&lt;br /&gt;Details, sample questions/ Exam preparation guide can be found:-&lt;br /&gt;&lt;br /&gt;HP LoadRunner Software – HP0-M18&lt;br /&gt;&lt;a href="ftp://ftp.hp.com/pub/hpcp/epgs/HP0-M18_EPG.pdf"&gt;ftp://ftp.hp.com/pub/hpcp/epgs/HP0-M18_EPG.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;HP Virtual User Generator Software – HP0-M19&lt;br /&gt;ftp://ftp.hp.com/pub/hpcp/epgs/HP0-M19_EPG.pdf&lt;br /&gt;&lt;br /&gt;HP Certified Professional Scripting using HP Virtual User Generator Software – HP0-M83&lt;br /&gt;ftp://ftp.hp.com/pub/hpcp/epgs/HP0-M83_EPG.pdf&lt;br /&gt;&lt;br /&gt;HP Certified Professional Performance Testing using HP LoadRunner Software – HP0-M84&lt;br /&gt;ftp://ftp.hp.com/pub/hpcp/epgs/HP0-M84_EPG.pdf&lt;br /&gt;&lt;br /&gt;Sample Questions:&lt;br /&gt;1.) What is the kind of testing used to check the behavior and performance of each tier?&lt;br /&gt;Ans) Performance Testing&lt;br /&gt;2.) What is the performance test objective which checks whether a new version of the software Adversely affect response time?&lt;br /&gt;Ans) Benchmark Performance Testing, based (benchmarked) on previous version&lt;br /&gt;3.) What is the performance test objective which checks whether the system is stable enough to go into production?&lt;br /&gt;Ans) Detect all the bottlenecks&lt;br /&gt;4.) The load generator should have connectivity to which components?select two? a.) web server b.) vugen c.) controller d.) analysis&lt;br /&gt;Ans) (a),(c)&lt;br /&gt;5.) Which component emulate the steps of real users using the application?&lt;br /&gt;a.) vugen b.)Controller c.)load generator d.) analysis&lt;br /&gt;Ans) a)&lt;br /&gt;6.) What is the component used to monitor application infrastructure components which provide metrics for system tuning?&lt;br /&gt;Ans) Controller&lt;br /&gt;7.) What u will do after doing a debug run?&lt;br /&gt;a.) re-run the scenario b.) tune the system c.) go to full load test and scalability test d.) inform&lt;br /&gt;the project manager that system peformance is good and stop the load testing&lt;br /&gt;Ans) c&lt;br /&gt;8.) Which statement is an example of a conceptual goal?&lt;br /&gt;A. The update transaction should function during heavy usage.&lt;br /&gt;B. The Update transaction must attain 200 concurrent users during peak time.&lt;br /&gt;C. The search transaction should respond within 5 seconds during normal usage.&lt;br /&gt;D. The login transaction should respond within 4 seconds or less during heavy usage.&lt;br /&gt;Ans) D)&lt;br /&gt;9.) What is the LoadRunner term used to define a collection of Vusers within a scenario?&lt;br /&gt;A. Set&lt;br /&gt;B. Group&lt;br /&gt;C. Profile&lt;br /&gt;D. Scenario&lt;br /&gt;Ans) B)&lt;br /&gt;10.)A set of actions or user steps performed within an application to accomplish a business goal is called as&lt;br /&gt;a.) business process&lt;br /&gt;b.) transaction&lt;br /&gt;c.) concurrency&lt;br /&gt;d.) check point&lt;br /&gt;Ans) b)&lt;br /&gt;11.) An example of stress testing :&lt;br /&gt;a.) Purchasing at an e-commerce site&lt;br /&gt;b.)Searches at a search engine site&lt;br /&gt;c.)Updated content display at a news site&lt;br /&gt;d.)Downloading received orders or updating order status at a Client / Server system.&lt;br /&gt;Ans) a)&lt;br /&gt;12.) Master Data comes from :&lt;br /&gt;a.) Application data&lt;br /&gt;b.)user input&lt;br /&gt;c.) System will generate&lt;br /&gt;d.) from scripts&lt;br /&gt;Ans) a)&lt;br /&gt;13.) An example of user generated data&lt;br /&gt;a.) e-mail address&lt;br /&gt;b.) session id&lt;br /&gt;c.) confirmation number&lt;br /&gt;d.) userid and password&lt;br /&gt;Ans) d)&lt;br /&gt;14.) delay between two different iterations can be done by using which run time settings?&lt;br /&gt;Ans) Pacing&lt;br /&gt;15.) Iterations can be set under which option in run time settings dialog box?&lt;br /&gt;Ans) RunLogic&lt;br /&gt;16.) What is the type of concurrency happening when user was in the process of buying tickets?&lt;br /&gt;Ans) ----&lt;br /&gt;17.) What is the type of business process happening when multiple users were buying tickets?&lt;br /&gt;Ans)-----&lt;br /&gt;18.) How many transactions will need to be run per minute if a load test has to be run for four hours with 2000 users, assuming an average length of ten minutes?&lt;br /&gt;Ans) 200 transactions&lt;br /&gt;19.) what is the process to validate that there is enough test hardware available in the test environment,benchmark the business processes against the testing hardware?&lt;br /&gt;Ans) Smoke Test&lt;br /&gt;20.) vugen should have connectivity to which component to record vuser script?&lt;br /&gt;a.) AUT(application under test)&lt;br /&gt;b.) analysis&lt;br /&gt;c.) controller&lt;br /&gt;d.) load generator&lt;br /&gt;Ans a)&lt;br /&gt;21.) u r trying to change the server sampling rate and u couldn't do it what u should u do to make the process the successful?&lt;br /&gt;a.) disconnect load generator and try again&lt;br /&gt;b.) close loadrunner and open again&lt;br /&gt;c.) shut down the corresponding server and try again&lt;br /&gt;d.) u couldn't do that because u cannot change server sampling rate&lt;br /&gt;22.) When u click start scenario option:&lt;br /&gt;a.) load generator will automatically go to ready state and do the necessary operation&lt;br /&gt;b.) U need to manually click the connect button in load generator window&lt;br /&gt;c.) start wlrun.exe&lt;br /&gt;d.) ping the controller&lt;br /&gt;Ans) a)&lt;br /&gt;23.) Before the vusers are executed, first they are&lt;br /&gt;a.) initialized&lt;br /&gt;b.) they will execute the scripts directly in AUT from load generator&lt;br /&gt;c.) paused and then will do the intended operation&lt;br /&gt;d.) vusers will go to rendezvous state&lt;br /&gt;Ans) a)&lt;br /&gt;24.) Option where vusers and groups will be automatically scheduled is&lt;br /&gt;a.) Manual scenario&lt;br /&gt;b.) Goal oriented scenario&lt;br /&gt;c.) real life schedule&lt;br /&gt;d.) Run until completion&lt;br /&gt;Ans) d)&lt;br /&gt;25.) What is the scenario outline for the condition update should successfully happen for 1000 concurrent users&lt;br /&gt;a.) script should define update and 1000 concurrent users should run the script&lt;br /&gt;b.) script should define update and 1000 users should run the script&lt;br /&gt;c.) update transaction with manual scenario&lt;br /&gt;d.) update transaction with goal oriented scenario&lt;br /&gt;Ans) d)&lt;br /&gt;26.) the type of file to be choosed in scenario groups is&lt;br /&gt;a.) .lrr file&lt;br /&gt;b.) .lra file&lt;br /&gt;c.) .usr file&lt;br /&gt;d.) .lrs file&lt;br /&gt;Ans) d)&lt;br /&gt;27.) What is the minimum value for transaction monitor frequency for small scenarios?&lt;br /&gt;Ans) 1 minute&lt;br /&gt;28.) What is the minimum value for transaction monitor frequency for large scenarios?&lt;br /&gt;Ans) 1 minute&lt;br /&gt;29.) if in initial stages of scenario execution during ramp up, if u feel that response time is&lt;br /&gt;increasing, what u will do to run the scenario with current users?&lt;br /&gt;a.) stop the scenario and decrease the no of vusers&lt;br /&gt;b.) press the pause button in interactive schedule graph to continue with current no of users&lt;br /&gt;c.) pause the users in run tab&lt;br /&gt;d.) design a different scenario&lt;br /&gt;Ans) a)&lt;br /&gt;30.) what is the common run time settings for all protocols?&lt;br /&gt;Ans) General&lt;br /&gt;31.) What run-time settings we need to have for debug run?&lt;br /&gt;Ans) Replay think time, Extended logs on,No pacing&lt;br /&gt;31.) run time settings for the whole controller can be accessed from?(menu flow)&lt;br /&gt;Ans)From controller's Run-time setings button&lt;br /&gt;32.) What is the term u call to pass different input to a script?&lt;br /&gt;Ans)Parameterisation&lt;br /&gt;33.) Results of scenario execution are stored in&lt;br /&gt;a.) controller machine&lt;br /&gt;b.) load generator machine&lt;br /&gt;c.) vugen machine&lt;br /&gt;d.) analysis machine&lt;br /&gt;Ans) Load generator,if you collate the results it will be copied in controller machine&lt;br /&gt;34.) An intersection point in a business process is called as?&lt;br /&gt;Ans) Rendezvous point&lt;br /&gt;35.) extended log and data returned by server will be used for&lt;br /&gt;a.) debug run&lt;br /&gt;b.) isolate top time transaction&lt;br /&gt;c.) full load&lt;br /&gt;d.) scalability load&lt;br /&gt;Ans) a&lt;br /&gt;36.) What is the HTTP status code which indicates an individual business process is failing under load, or the Web application itself has crashed.&lt;br /&gt;a.) 404&lt;br /&gt;b.) 502&lt;br /&gt;c.) 500&lt;br /&gt;d.) 200&lt;br /&gt;Ans) c)&lt;br /&gt;37.) What are the two types of scheduling available in controller?&lt;br /&gt;Ans) Schedule by Scenario, Schedule by Group&lt;br /&gt;38.) what is the option in analysis used to isolate a specific measurement?&lt;br /&gt;a.) drill down&lt;br /&gt;b.) filter&lt;br /&gt;c.) Autocorrelate&lt;br /&gt;d.) graularity&lt;br /&gt;Ans) b)&lt;br /&gt;39.) What is the graph used to get transaction throughout the test?&lt;br /&gt;a.) Average Transaction response time&lt;br /&gt;b.) Response time per second&lt;br /&gt;c.)Transaction response time distribution graph&lt;br /&gt;d.)Transaction response time percentile graph&lt;br /&gt;Ans) c)&lt;br /&gt;40.) If number of hits become flattened, then the issue is with&lt;br /&gt;a.) application server&lt;br /&gt;b.) web server&lt;br /&gt;c.) database server&lt;br /&gt;d.) authentication server&lt;br /&gt;Ans) b)&lt;br /&gt;41.) If throughput graph becomes flattened out then the issue is with&lt;br /&gt;a.) ramp up&lt;br /&gt;b.) bandwidth&lt;br /&gt;c.) firewall&lt;br /&gt;d.) network&lt;br /&gt;Ans) b)&lt;br /&gt;42.) server time and network time can be identified using graph&lt;br /&gt;a.) time to first buffer breakdown&lt;br /&gt;b.) page download time breakdown&lt;br /&gt;c.) Page Component Breakdown (Over Time) Graph&lt;br /&gt;d.) Downloaded Component Size Graph&lt;br /&gt;Ans) a)&lt;br /&gt;43.) What is the type of graph displayed below&lt;br /&gt;a.) Transaction Response Time (Distribution) Graph&lt;br /&gt;b.) SLA graph&lt;br /&gt;c.) Summary graph&lt;br /&gt;d.) Transaction breakdown graph&lt;br /&gt;Ans) Where is the Graph????&lt;br /&gt;44.) what are the main formats in which we can produce analysis results(choose any two)&lt;br /&gt;a.) ms excel&lt;br /&gt;b.) crystal reports&lt;br /&gt;c.) ms word&lt;br /&gt;d.) HTML&lt;br /&gt;e.) XML&lt;br /&gt;Ans) c),d)&lt;br /&gt;45.) Tell me two business process u will record out of which displayed below?&lt;br /&gt;BusinessProcessNameTypical Day Peak Day DynamicContent MissionCritical Record&lt;br /&gt;Sign in 70/hr 210/hr Light High ?&lt;br /&gt;Create new account 10/hr 15/hr Moderate Low ?&lt;br /&gt;Search for flights 130/hr 180/hr Moderate Moderate ?&lt;br /&gt;View flight booking 20/hr 30/hr Moderate High ?&lt;br /&gt;Ans) business process---Sign-in, Business process-Search for Flights&lt;br /&gt;46) Which option in the Analysis tool allows you to compare a measurement in a graph with other measurements during a specific time range of a scenario and view similar trends?&lt;br /&gt;A. Drill Down&lt;br /&gt;B. Apply Filter&lt;br /&gt;C. Merge Graphs&lt;br /&gt;D. Auto Correlate&lt;br /&gt;Answer: D&lt;br /&gt;47) Which Analysis graph details transaction response times as a function of load?&lt;br /&gt;A. Transactions per Second&lt;br /&gt;B. Average Transaction Response Time&lt;br /&gt;C. Transaction Response Time Under Load&lt;br /&gt;D. Transaction Response Time (distribution)&lt;br /&gt;Answer: C&lt;br /&gt;48) During analysis of a scenario, you realize that the throughput becomes flat as Vusers continue to increase. What is the likely cause?&lt;br /&gt;A. a bandwidth problem&lt;br /&gt;B. a database server problem&lt;br /&gt;C. a web server connection problem&lt;br /&gt;D. an application server connection problem&lt;br /&gt;Answer: A&lt;br /&gt;49) Which option in the Analysis tool allows you to see the results of two graphs from the same load test scenario in a single graph?&lt;br /&gt;A. Drill Down&lt;br /&gt;B. Apply Filter&lt;br /&gt;C. Merge Graphs&lt;br /&gt;D. Auto Correlate&lt;br /&gt;Answer: C&lt;br /&gt;50) Which Analysis graph shows the number of transactions against transaction response times?&lt;br /&gt;A. Transactions per Second&lt;br /&gt;B. Average Transaction Response Time&lt;br /&gt;C. Transaction Response Time Under Load&lt;br /&gt;D. Transaction Response Time (distribution)&lt;br /&gt;Answer: D&lt;br /&gt;51) In the Analysis tool, what allows you to modify the scale of the x-axis?&lt;br /&gt;A. think time&lt;br /&gt;B. granularity&lt;br /&gt;C. event type&lt;br /&gt;D. transaction hierarchical path&lt;br /&gt;Answer: B&lt;br /&gt;52) Which Analysis graph details the delay for the complete path between the source and destination machines?&lt;br /&gt;A. MS IIS&lt;br /&gt;B. Windows Resource&lt;br /&gt;C. Network Delay Time&lt;br /&gt;D. Time to First Buffer Breakdown&lt;br /&gt;Answer: C&lt;br /&gt;53) Click the Exhibit button.Which type of graph does the image in the exhibit represent?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A. Merged graph&lt;br /&gt;B. Drill Down graph&lt;br /&gt;C. Cross Scenario graph&lt;br /&gt;D. Auto Correlated graph&lt;br /&gt;Answer: C&lt;br /&gt;54) What does the elapsed time in the Scenario Status window refer to?&lt;br /&gt;A. the time that has elapsed from when all Vusers have finished Initializing&lt;br /&gt;B. the time that has elapsed from when all Vusers were in the running state&lt;br /&gt;C. the time that has elapsed from when you press the start Scenario button&lt;br /&gt;D. the time that has elapsed from when the first Vusers entered the running state&lt;br /&gt;Answer: C&lt;br /&gt;55) You configure a scenario to start with a delay of &lt;05:00:00&gt; (HH:MM:SS) just before leaving from work. You return the next morning to find that the scenario did not run. Why would this happen?&lt;br /&gt;A. You failed to save the scenario.&lt;br /&gt;B. You failed to save the schedule.&lt;br /&gt;C. You failed to connect to the load generators.&lt;br /&gt;D. You failed to press the START SCENARIO button.&lt;br /&gt;Answer: D&lt;br /&gt;56) What provides you with the level of activity associated with each business process during each hour of a typical work day?&lt;br /&gt;A. Conceptual goals list&lt;br /&gt;B. Business process profile&lt;br /&gt;C. Task distribution diagram&lt;br /&gt;D. System configuration diagram&lt;br /&gt;57) When would you need to perform path translation for a scenario execution?&lt;br /&gt;A. When you use Storage Area Network (SAN) to store the scripts and results&lt;br /&gt;B. When you can use the Universal Naming Convention (UNC) for accessing the shared network drive being used to store scripts and results&lt;br /&gt;C. When the scripts and results are configured to be stored on the current Vuser machine&lt;br /&gt;D. When the shared network drive being used to store results and scripts is mapped to a different drive letter on the Controller versus the Load Generator&lt;br /&gt;58) You executed a load test using scripts running on load generators placed at various points on the network. You need to determine the response times by load generator for the scenario run. Which features (used independently) within the Analysis tool, can help you accomplish this? (Select two.)&lt;br /&gt;A. Auto correlate&lt;br /&gt;B. Merge graphs&lt;br /&gt;C. Set filter&lt;br /&gt;D. Cross with result&lt;br /&gt;E. Drill down&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s1600-h/10tools+number.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 189px; height: 100px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s320/10tools+number.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5334504874218779906" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-7792483081772016958?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/7792483081772016958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/04/information-on-loadrunner-certification.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/7792483081772016958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/7792483081772016958'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/04/information-on-loadrunner-certification.html' title='Information on LoadRunner Certification'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s72-c/10tools+number.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-9040932783599908357</id><published>2009-04-09T05:07:00.000-07:00</published><updated>2009-10-21T22:48:46.520-07:00</updated><title type='text'>Check list before starting Performance testing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s1600-h/10tools+number.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 189px; height: 100px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s320/10tools+number.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5334504874218779906" /&gt;&lt;/a&gt;&lt;br /&gt;Before starting loadtest we have to make sure the following check lists: :)&lt;br /&gt;&lt;br /&gt;1.End users, customer, and project members have been notified in advance of the execution dates and hours for the capacity test&lt;br /&gt;2.All service level agreements, response time requirements have been agreed upon by all stakeholders.&lt;br /&gt;3.Contact list with names and phone numbers has been drafted for support personnel (onsite and remote)&lt;br /&gt;4.Functional Testing of the application has been completed.&lt;br /&gt;5.Restart the controller machine.&lt;br /&gt;6.Ramp Up / Duration / Ramp Down is configured correctly.&lt;br /&gt;7.All Load Generators are in a "Ready" status.&lt;br /&gt;8.All Load Generators are assigned to appropriate scripts.&lt;br /&gt;9.All scripts have the correct number of Vusers assigned to them.&lt;br /&gt;10.All scripts have the correct number of Iterations assigned to them.&lt;br /&gt;11.Correct pacing has been agreed upon and configured for all appropriate scripts.&lt;br /&gt;12.Logging is set to Send messages only when an error occurs for all scripts.&lt;br /&gt;13.Think Times have been enabled/disabled in the test scripts&lt;br /&gt;14.Generate snapshot on error is enabled for all appropriate scripts.&lt;br /&gt;15.Timeout values have been set to the appropriate values.&lt;br /&gt;16.All content checks have been updated for the appropriate scripts.&lt;br /&gt;17.Rendezvous points have been enabled/disabled for appropriate scripts&lt;br /&gt;18.All necessary data has been prepared/staged and is updated in all scripts.&lt;br /&gt;19.Any scripts with unique data requirements have been verified.&lt;br /&gt;20.All scripts have been refreshed in the controller and reflect the most recent updates.&lt;br /&gt;21.IP Spoofing has been enabled in the controller.&lt;br /&gt;22.IP Spoofing has been configured on all appropriate Load Generators.&lt;br /&gt;23.All LoadRunner Monitors have been identified, configured and tested.&lt;br /&gt;24.Auto Collate Results should be enabled&lt;br /&gt;25.Results directory and file name should be updated.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s1600-h/10tools+number.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 189px; height: 100px;" src="http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s320/10tools+number.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5334504874218779906" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-9040932783599908357?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/9040932783599908357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/04/check-list-before-starting-performance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/9040932783599908357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/9040932783599908357'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2009/04/check-list-before-starting-performance.html' title='Check list before starting Performance testing'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_m7HkDZ2NO-k/Sgf363BmdQI/AAAAAAAAABE/_M4EqkiD9Ts/s72-c/10tools+number.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-1341045390591385431</id><published>2008-11-08T06:14:00.000-08:00</published><updated>2009-10-21T22:48:46.641-07:00</updated><title type='text'>Yielding effectiveness from test cases : Metrics to be collected</title><content type='html'>These are the best metrics for test leads and managers to get effectiveness.&lt;br /&gt;&lt;br /&gt;Who wants to acquire the knowledge on metrics or who wants to implement the below metrics in the real projects.Recently I faced an incident in project, where I need to get effectiveness of test cases of the existing Application.I followed the some pointers in the list of 44 metrics. If you feel you have any more metrics other than the below list.Please feel free to post here.&lt;br /&gt;&lt;br /&gt;“44” Metrics for Test Case Review Effectiveness&lt;br /&gt;1. Major Defects Per Test Case Review&lt;br /&gt;2. Minor Defects Per Test Case Review&lt;br /&gt;3. Total Defects Per Test Case Review&lt;br /&gt;4. Ratio of Major to Minor Defects Per Test Case Review&lt;br /&gt;5. Total Defects Per Test Case Review Hour&lt;br /&gt;6. Major Defects Per Test Case Review Hour&lt;br /&gt;7. Ratio of Major to Minor Defects Per Test Case Review Hour&lt;br /&gt;8. Number of Open Defects Per Test Review&lt;br /&gt;9. Number of Closed Defects Per Test Case Review&lt;br /&gt;10. Ratio of Closed to Open Defects Per Test Case Review&lt;br /&gt;11. Number of Major Open Defects Per Test Case Review&lt;br /&gt;12. Number of Major Closed Defects Per Test Case Review&lt;br /&gt;13. Ratio of Major Closed to Open Defects Per Test Case Review&lt;br /&gt;14. Number of Minor Open Defects Per Test Case Review&lt;br /&gt;15. Number of Minor Closed Defects Per Test Case Review&lt;br /&gt;16. Ratio of Minor Closed to Open Defects Per Test Case Review&lt;br /&gt;17. Percent of Total Defects Captured Per Test Case Review&lt;br /&gt;18. Percent of Major Defects Captured Per Test Case Review&lt;br /&gt;19. Percent of Minor Defects Captured Per Test Case Review&lt;br /&gt;20. Ratio of Percent Major to Minor Defects Captured Per Test Case Review&lt;br /&gt;21. Percent of Total Defects Captured Per Test Case Review Hour&lt;br /&gt;22. Percent of Major Defects Captured Per Test Case Review Hour&lt;br /&gt;23. Percent of Minor Defects Captured Per Test Case Review Hour&lt;br /&gt;24. Ratio of Percent Major to Minor Defects Captured Per Test Case Review Hour&lt;br /&gt;25. Percent of Total Defect Residual Per Test Case Review&lt;br /&gt;26. Percent of Major Defect Residual Per Test Case Review&lt;br /&gt;27. Percent of Minor Defect Residual Per Test Case Review&lt;br /&gt;28. Ratio of Percent Major to Minor Defect Residual Per Test Case Review&lt;br /&gt;29. Percent of Total Defect Residual Per Test Case Review Hour&lt;br /&gt;30. Percent of Major Defect Residual Per Test Case Review Hour&lt;br /&gt;31. Percent of Minor Defect Residual Per Test Case Review Hour&lt;br /&gt;32. Ratio of Percent Major to Minor Defect Residual Per Test Case Review Hour&lt;br /&gt;33. Number of Planned Test Case Reviews&lt;br /&gt;34. Number of Held Test Case Reviews&lt;br /&gt;35. Ratio of Planned to Held Test Case Reviews&lt;br /&gt;36. Number of Reviewed Test Cases&lt;br /&gt;37. Number of Unreviewed Test Cases&lt;br /&gt;38. Ratio of Reviewed to Unreviewed Test Cases&lt;br /&gt;39. Number of Compliant Test Case Reviews&lt;br /&gt;40. Number of Non-Compliant Test Case Reviews&lt;br /&gt;41. Ratio of Compliant to Non-Compliant Test Case Reviews&lt;br /&gt;42. Compliance of Test Case Reviews&lt;br /&gt;43. Non-Compliance of Test Case Reviews&lt;br /&gt;44. Ratio of Compliance to Non-Compliance of Test Case Reviews&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-1341045390591385431?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/1341045390591385431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/11/yielding-effectiveness-from-test-cases.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/1341045390591385431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/1341045390591385431'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/11/yielding-effectiveness-from-test-cases.html' title='Yielding effectiveness from test cases : Metrics to be collected'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-8893850936541901853</id><published>2008-09-25T20:38:00.000-07:00</published><updated>2009-10-21T22:48:46.695-07:00</updated><title type='text'>CMMI Levels and  22 Key Process Areas</title><content type='html'>There are &lt;span style="font-weight:bold;"&gt;five CMM levels&lt;/span&gt;, of which Level 5 is the highest.&lt;br /&gt;&lt;br /&gt;CMM Level 1 is called "Initial". The software process is at CMM Level 1, if it is an ad hoc process. At CMM Level 1, few processes are defined, and success, in general, depends on individual effort and heroism.&lt;br /&gt;&lt;br /&gt;CMM Level 2 is called "Repeatable". The software process is at CMM Level 2, if the subject company has some basic project management processes, in order to track cost, schedule, and functionality. Software processes are at CMM Level 2, if necessary processes are in place, in order to repeat earlier successes on projects with similar applications. Software processes are at CMM Level 2, if there are requirements management, project planning, project tracking, subcontract management, QA, and configuration management.&lt;br /&gt;&lt;br /&gt;CMM Level 3 is called "Defined". The software process is at CMM Level 3, if the software process is documented, standardized, and integrated into a standard software process for the subject company. The software process is at CMM Level 3, if all projects use approved, tailored versions of the company's standard software process for developing and maintaining software. Software processes are at CMM Level 3, if there are process definition, training programs, process focus, integrated software management, software product engineering, intergroup coordination, and peer reviews.&lt;br /&gt;&lt;br /&gt;CMM Level 4 is called "Managed". The software process is at CMM Level 4, if the subject company collects detailed data on the software process and product quality, and if both the software process and the software products are quantitatively understood and controlled. Software processes are at CMM Level 4, if there are software quality management (SQM), and quantitative process management.&lt;br /&gt;&lt;br /&gt;CMM Level 5 is called "Optimized". The software process is at CMM Level 5, if there is continuous process improvement, if there is quantitative feedback from the process, and from piloting innovative ideas and technologies. Software processes are at CMM Level 5, if there are process change management, and defect prevention technology change management.&lt;br /&gt;&lt;br /&gt;These  &lt;span style="font-weight:bold;"&gt;Key Process Areas&lt;/span&gt; in CMMI Level are indicated in the below table.&lt;br /&gt;&lt;br /&gt;Abbreviation            Name                    Area        Maturity Level&lt;br /&gt;REQM          Requirements Management  Engineering          2&lt;br /&gt;&lt;br /&gt;PMC         Project Monitoring and Control  Project Management  2&lt;br /&gt;&lt;br /&gt;PP         Project Planning          Project Management      2&lt;br /&gt;&lt;br /&gt;SAM       Supplier Agreement Management  Project Management  2&lt;br /&gt;&lt;br /&gt;CM       Configuration Management               Support          2&lt;br /&gt;&lt;br /&gt;MA      Measurement and Analysis               Support          2&lt;br /&gt;&lt;br /&gt;PPQA     Process and Product Quality Assurance      Support          2&lt;br /&gt;&lt;br /&gt;PI     Product Integration                      Engineering  3&lt;br /&gt;&lt;br /&gt;RD    Requirements Development             Engineering          3&lt;br /&gt;&lt;br /&gt;TS   Technical Solution                      Engineering  3&lt;br /&gt;&lt;br /&gt;VAL   Validation                              Engineering  3&lt;br /&gt;&lt;br /&gt;VER  Verification                              Engineering  3&lt;br /&gt;&lt;br /&gt;OPD  Organizational Process Definition  Process Management  3&lt;br /&gt;&lt;br /&gt;OPF  Organizational Process Focus          Process Management  3&lt;br /&gt;&lt;br /&gt;OT  Organizational Training       Process Management  3&lt;br /&gt;&lt;br /&gt;IPM  Integrated Project Management       Project Management  3&lt;br /&gt;&lt;br /&gt;RSKM  Risk Management               Project Management  3&lt;br /&gt;&lt;br /&gt;DAR  Decision Analysis and Resolution  Support          3&lt;br /&gt;&lt;br /&gt;OPP  Organizational Process Performance  Process Management  4&lt;br /&gt;&lt;br /&gt;QPM  Quantitative Project Management  Project Management  4&lt;br /&gt;&lt;br /&gt;OID  Organizational Innovation and Deployment Process Management  5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-8893850936541901853?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/8893850936541901853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/09/cmmi-levels-and-22-key-process-areas.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/8893850936541901853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/8893850936541901853'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/09/cmmi-levels-and-22-key-process-areas.html' title='CMMI Levels and  22 Key Process Areas'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-1999162365109775939</id><published>2008-09-25T20:20:00.000-07:00</published><updated>2009-10-21T22:48:46.708-07:00</updated><title type='text'>10 Truths of SLAs for IT Organization</title><content type='html'>When I am Searching for a Freelance testing project in google, I came across a site where the project provider mentioned that I need to adhere to SLAs.I know about it but still the point he mentioned is : "As I am not IT savvy, you must adhere to standard SLAs,and if find ,your payments will be stopped.Now I digged out more into SLAs and lists out the key points here.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1.SLAs are a highly useful communication vehicle.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. SLAs outline services provided, performance levels, and legal ramifications. According to the ASP Industry Consortium’s “Buyers Guide to Service Level Agreements,” Information that should be contained in an SLA includes the purpose of the SLA, description of service, duration of service, installation timetable, payment terms, termination conditions, and legal issues such as warranties, indemnities, and limitation of liability.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3. Business goals are always detailed in the SLA.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;4. Performance levels drive pricing.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;5. SLAs are always customized to the particular purpose.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;6. Metrics are always outlined for service performance.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;7. The supplier of the services is not the only (and should not be the only) party responsible for monitoring compliance.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;8. The consumer and the supplier of a service are jointly responsible for the terms of the SLA.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;9. An SLA is not a guarantee of service. However, nothing should be agreed upon unless it is determined to be a commercially reasonable and viable objective.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;10. Remediation, revision, and renegotiation are always options.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-1999162365109775939?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/1999162365109775939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/09/10-truths-of-slas-for-it-organization.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/1999162365109775939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/1999162365109775939'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/09/10-truths-of-slas-for-it-organization.html' title='10 Truths of SLAs for IT Organization'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-5215440631643381109</id><published>2008-09-24T21:19:00.000-07:00</published><updated>2009-10-21T22:48:46.717-07:00</updated><title type='text'>Testing Metrics : A measure of Quality</title><content type='html'>Yesterday one of my friend had given interview for an MNC in India with an experience of 4 years in testing.The interviewer asked him two Questions :&lt;br /&gt;&lt;br /&gt;1. Where do you want to see after 4 years? &lt;br /&gt;Well,as a go - getter, my friend answered it very enthusiastically that he want to be in QA Team. You can guess the next question what it would be.Here it is :&lt;br /&gt;&lt;br /&gt;2. His second question is all about : What you know about metrics system in QA and tell me some sample metrics you collect and their formulas.&lt;br /&gt;&lt;br /&gt;The guy knows little bit about metrics and it became a biased question for him.&lt;br /&gt;&lt;br /&gt;After that we met and discussed about all and he asked me is there any website to learn metrics with formulas. I thought I can provide a Post in this blog and it will be better for all of us to learn .&lt;br /&gt;&lt;br /&gt;That's why this post is here .Hope you will enjoy the post and content I took it from www.Exposys.com and you can see the same at &lt;a href="www.exposys.com"&gt;www.exposys.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;or Here is the &lt;a href="http://books.google.co.in/books?id=EaefcL3pWJYC&amp;pg=PA347&amp;lpg=PA347&amp;dq=Defect+metrics+calculation+for+QA&amp;source=web&amp;ots=8Bcm1Pkf8C&amp;sig=TtHuxQONPs_P8crjJGQ40e_lpkw&amp;hl=en&amp;sa=X&amp;oi=book_result&amp;resnum=3&amp;ct=result#PPR12,M1"&gt;&lt;span style="font-weight:bold;"&gt;best book about metrics&lt;/span&gt;&lt;/a&gt;(Click on the link) and you can read it online for free or you can order a hard bounded copy of the same. Let us see now how and what are the metrics interested for Testers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Product Quality Measures:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1. Customer satisfaction index&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This index is surveyed before product delivery and after product delivery&lt;br /&gt;(and on-going on a periodic basis, using standard questionnaires).The following are analyzed:&lt;br /&gt;&lt;br /&gt;    * Number of system enhancement requests per year&lt;br /&gt;    * Number of maintenance fix requests per year&lt;br /&gt;    * User friendliness: call volume to customer service hotline&lt;br /&gt;    * User friendliness: training time per new user&lt;br /&gt;    * Number of product recalls or fix releases (software vendors)&lt;br /&gt;    * Number of production re-runs (in-house information systems groups)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. Delivered defect quantities&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;They are normalized per function point (or per LOC) at product delivery (first 3 months or first year of operation) or Ongoing (per year of operation) by level of severity, by category or cause, e.g.: requirements defect, design defect, code defect, documentation/on-line help defect, defect introduced by fixes, etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3. Responsiveness (turnaround time) to users&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    * Turnaround time for defect fixes, by level of severity&lt;br /&gt;    * Time for minor vs. major enhancements; actual vs. planned elapsed time&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;4. Product volatility&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    * Ratio of maintenance fixes (to repair the system &amp; bring it into compliance with specifications), vs. enhancement requests (requests by users to enhance or change functionality)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;5. Defect ratios&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    * Defects found after product delivery per function point.&lt;br /&gt;    * Defects found after product delivery per LOC&lt;br /&gt;    * Pre-delivery defects: annual post-delivery defects&lt;br /&gt;    * Defects per function point of the system modifications&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;6. Defect removal efficiency&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    * Number of post-release defects (found by clients in field operation), categorized by level of severity&lt;br /&gt;    * Ratio of defects found internally prior to release (via inspections and testing), as a percentage of all defects&lt;br /&gt;    * All defects include defects found internally plus externally (by customers) in the first year after product delivery&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;7. Complexity of delivered product&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    * McCabe's cyclomatic complexity counts across the system&lt;br /&gt;    * Halstead’s measure&lt;br /&gt;    * Card's design complexity measures&lt;br /&gt;    * Predicted defects and maintenance costs, based on complexity measures&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;8. Test coverage&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    * Breadth of functional coverage&lt;br /&gt;    * Percentage of paths, branches or conditions that were actually tested&lt;br /&gt;    * Percentage by criticality level: perceived level of risk of paths&lt;br /&gt;    * The ratio of the number of detected faults to the number of predicted faults.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;9. Cost of defects&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;    * Business losses per defect that occurs during operation&lt;br /&gt;    * Business interruption costs; costs of work-arounds&lt;br /&gt;    * Lost sales and lost goodwill&lt;br /&gt;    * Litigation costs resulting from defects&lt;br /&gt;    * Annual maintenance cost (per function point)&lt;br /&gt;    * Annual operating cost (per function point)&lt;br /&gt;    * Measurable damage to your boss's career&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;10. Costs of quality activities&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    * Costs of reviews, inspections and preventive measures&lt;br /&gt;    * Costs of test planning and preparation&lt;br /&gt;    * Costs of test execution, defect tracking, version and change control&lt;br /&gt;    * Costs of diagnostics, debugging and fixing&lt;br /&gt;    * Costs of tools and tool support&lt;br /&gt;    * Costs of test case library maintenance&lt;br /&gt;    * Costs of testing &amp; QA education associated with the product&lt;br /&gt;    * Costs of monitoring and oversight by the QA organization (if separate from the development and test organizations)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;11. Re-work&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    * Re-work effort (hours, as a percentage of the original coding hours)&lt;br /&gt;    * Re-worked LOC (source lines of code, as a percentage of the total delivered LOC)&lt;br /&gt;    * Re-worked software components (as a percentage of the total delivered components)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;12. Reliability&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    * Availability (percentage of time a system is available, versus the time the system is needed to be available)&lt;br /&gt;    * Mean time between failure (MTBF).&lt;br /&gt;    * Man time to repair (MTTR)&lt;br /&gt;    * Reliability ratio (MTBF / MTTR)&lt;br /&gt;    * Number of product recalls or fix releases&lt;br /&gt;    * Number of production re-runs as a ratio of production runs&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Metric = Formula&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Test Coverage&lt;/span&gt; = Number of units (KLOC/FP) tested / total size of the system. (LOC represents Lines of Code)&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Number of tests per unit size&lt;/span&gt; = Number of test cases per KLOC/FP (LOC represents Lines of Code).&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Acceptance criteria tested&lt;/span&gt; = Acceptance criteria tested / total acceptance criteria&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Defects per size&lt;/span&gt; = Defects detected / system size&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Test cost (in %)&lt;/span&gt; = Cost of testing / total cost *100&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Cost to locate defect&lt;/span&gt; = Cost of testing / the number of defects located&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Achieving Budge&lt;/span&gt;t = Actual cost of testing / Budgeted cost of testing&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Defects detected in testing&lt;/span&gt; = Defects detected in testing / total system defects&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Defects detected in production&lt;/span&gt; = Defects detected in production/system size&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Quality of Testing &lt;/span&gt;= No of defects found during Testing/(No of defects found during testing + No of acceptance defects found after delivery) *100&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Effectiveness of testing to business&lt;/span&gt; = Loss due to problems / total resources processed by the system.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;System complaints&lt;/span&gt; = Number of third party complaints / number of transactions processed&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Scale of Ten&lt;/span&gt; = Assessment of testing by giving rating in scale of 1 to 10&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Source Code Analysis&lt;/span&gt; = Number of source code statements changed / total number of tests.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Effort Productivity &lt;/span&gt;= Test Planning Productivity = No of Test cases designed / Actual Effort for Design and Documentation&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Test Execution Productivity &lt;/span&gt;= No of Test cycles executed / Actual Effort for testing&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-5215440631643381109?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/5215440631643381109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/09/testing-metrics-measure-of-quality.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/5215440631643381109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/5215440631643381109'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/09/testing-metrics-measure-of-quality.html' title='Testing Metrics : A measure of Quality'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-7219611659806631464</id><published>2008-09-24T21:06:00.000-07:00</published><updated>2009-10-27T10:56:35.040-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='websphere'/><category scheme='http://www.blogger.com/atom/ns#' term='capacity'/><category scheme='http://www.blogger.com/atom/ns#' term='LoadBalancer'/><category scheme='http://www.blogger.com/atom/ns#' term='planning'/><category scheme='http://www.blogger.com/atom/ns#' term='SLAs'/><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>WebSphere : Performance Testing and Analysis</title><content type='html'>This article provides advice and methods for finding and resolving common performance problems with IBM® WebSphere® Portal. The WebSphere Portal SEAL team engages with high-profile customers experiencing significant problems with their WebSphere Portal deployments. In roughly 50 percent of these engagements, the major complaint is performance related. The task usually becomes one of finding and resolving these performance issues, often after the system has already been put into production. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Finding and fixing performance problems in a production environment is challenging on a number of levels. Optimally, most bottlenecks in the system should be found and fixed before the system is allowed into production. This article explains a tested process that can ensure that, with high probability, most of the significant performance issues are found and addressed before you promote a system to production. Performance testing and analysis have three main objectives:&lt;br /&gt;&lt;br /&gt;   1. Determining the load level at which a system under test fails&lt;br /&gt;   2. Finding bottlenecks in a system that throttle throughput and removing them as soon as possible and practical&lt;br /&gt;   3. Capacity planning, for example, predicting the amount of horsepower needed to sustain defined users loads within agreed-upon service level agreements (SLAs)&lt;br /&gt;&lt;br /&gt;The system is defined as the complete end-to-end set of components required to deliver the requested Web page to the requesting user’s browser. The most visible and often the most troublesome components tend to be WebSpherePortal itself, the Websphere Portal database, the Lightweight Directory Access Protocol (LDAP), and the back-end systems (databases, application servers, and so forth) that supply content to the portlets.&lt;br /&gt;&lt;br /&gt;The back-end systems in many systems tend to present the most risk in WebSphere Portal deployments because they are frequently maintained by separate organizations. This separation dilutes the communication channel between the WebSphere Portal deployment team and the back-end teams with respect to performance objectives.&lt;br /&gt;&lt;br /&gt;The methodology presented in this article is a holistic approach that meets all three of the objectives when it is executed successfully.&lt;br /&gt;&lt;br /&gt;The environment&lt;br /&gt;&lt;br /&gt;To meet the performance test objectives outlined previously, the performance test environment needs to be either the production environment itself or a mirror of it that has, as practically possible, the same hardware, the same topology, and the same back-end systems. If any piece of this complex test topology is different from its production counterpart, you must extrapolate the results in the test environment to predict its effect in the production environment. These extrapolations generally require detailed implementation knowledge of the portal and the deployed applications, which generally are not available to the testing organization. By making the test environment equivalent to the production environment, your confidence in the test results as they relate to what actually happens in production becomes acceptable.&lt;br /&gt;&lt;br /&gt;An important goal of the test environment is the repeatability of results. As slight changes are made in the system, repeatability ensures that you can accurately measure the effect of these changes. For that reason, it is optimal to have the system on an isolated network during the performance testing. Running the performance test on the production network introduces variability (for example, user traffic) that can skew such metrics as page render response time. There is also a more pragmatic reason to isolate the performance test network. Putting WebSphere Portal under stress likely puts the corporate network under stress. This stress is often problematic during normal business hours.&lt;br /&gt;&lt;br /&gt;If placing the performance test on an isolated network is not feasible, you should at least try to ensure that the components of the test are all collocated on the same subnet of a network router. Normal WebSphere Portal best practice recommends using a gigabit Ethernet connection between the portal and its database. Optimally, this connection extends to the LDAP servers, the Web servers, and important back-end services. It is crucial that the load generator also be on a local segment to the Web server and/or the portal itself.&lt;br /&gt;&lt;br /&gt;A common customer concern involves the load generators being on the same local LAN segment as the portal itself. In this case, “This test does not get a true picture of the performance of the system as it excludes the network from the data center to the users.” The answer to this concern is often difficult for customers to accept. The process described here is for tuning and resolving issues with the portal and its surrounding components. Trying to tune the network between the users (or the load generators) and the portals makes the analysis and problem resolution needlessly complex. We therefore remove it from the test. There are far better tools and processes for network tuning than the processes used here.&lt;br /&gt;&lt;br /&gt;Portal infrastructure baseline&lt;br /&gt;&lt;br /&gt;In contrast to the mirrored production environment, it is strongly advisable to also conduct an incremental set of baseline tests that exercise the infrastructure. At that point, subsequent tests should gradually augment the portal with customer-written code. The test plan should thus move from a simple topology to the final production topology to make it easier to isolate problematic components.&lt;br /&gt;&lt;br /&gt;The first test is the complete WebSphere Portal infrastructure using an out-of-the-box portal. Transfer the database, and enable security. Make sure that all front-end Web servers, firewalls and load balancers are in place. Security managers (for example, Computer Associates SiteMinder or IBM Tivoli® Access Manager) should also be in place and correctly configured. Create a simple home page with a couple of portlets that do not access any back-end systems (for example, the World Clock portlet). Create a simple load testing script that accesses the unauthenticated home page and then logs in (authenticates) and idles without logging out. From this point, you want to add simulated users (Vusers) until the system is saturated. Using the bottleneck analysis techniques described below, find and fix any bottlenecks in the infrastructure. Note the performance baseline of this system.&lt;br /&gt;&lt;br /&gt;Now, add to the system any customized themes and skins, and repeat the previous test. Find and fix any important bottlenecks in the revised system. Finally, as described below, add the actual portlets to be used on the home page and perform bottleneck analysis.&lt;br /&gt;&lt;br /&gt;This baseline environment can be very effective in finding bottlenecks in the infrastructure that are independent of the application. Further, it can provide a reference when analyzing the extent to which the applications place additional load above and beyond the basic WebSphere Portal infrastructure.&lt;br /&gt;&lt;br /&gt;Your strategy is to conduct the same tests listed below for bottleneck analysis in this baseline environment, optimize the environment, and then perform bottleneck analysis with the actual applications.&lt;br /&gt;&lt;br /&gt;Application of the Portal Tuning Guide recommendations&lt;br /&gt;&lt;br /&gt;Apply the recommendations outlined in the WebSphere Portal Tuning Guide to all systems before you embark on any performance testing. The guide provides a good starting point because it fixes known performance inhibitors in a default WebSphere Portal installation. Although bottleneck analysis would likely find the same problems, it is better to remove them from the beginning.&lt;br /&gt;&lt;br /&gt;Load generation&lt;br /&gt;&lt;br /&gt;A proper performance test also requires the use of a load generator that produces simulated user requests for Web pages. It is important that this tool produce such metrics as response time and page views per second. These metrics allow you to determine when the system fails its SLA contract or is saturated to the point that injecting more page requests per unit time does not result in higher page production. Saturation is discussed later in this article. The generator’s ability to aggregate data such as CPU utilization on the portal and HTTP servers as well as mod_status data from the HTTP server aids in problem determination.&lt;br /&gt;&lt;br /&gt;A number of tools are commonly used to create Web traffic (also known as drive load) in the test system. Some of the more commonly used tools include Mercury LoadRunner, Borland SilkPerformer, and IBM Rational® Performance Tester.&lt;br /&gt;&lt;br /&gt;It is important that the load generator have sufficient virtual users (vUsers) to drive the system to saturation. Note that virtual users do not map directly to actual users. A virtual user represents an active channel on the load generator. A virtual user may simulate multiple actual users; however, only one actual user can be active for each virtual user.&lt;br /&gt;&lt;br /&gt;It is also important, especially in a WebSphere Portal context, that if the system requires authenticated access to the WebSphere Portal applications under test, that sufficient unique test user IDs exist in the LDAP directory and that scripts ensure that only a reasonable number of duplicated logins occur during the test. (A reasonable number in this context accounts for the fact that some users might have a couple of instances of the browser open, each with the same WebSphere Portal login ID.) WebSphere Portal has a large caching infrastructure for portal artifacts. These artifacts are generally cached on a per-user basis. If the load simulation uses the same user ID for all tests, performance appears artificially high because the artifacts do not need to be loaded from the LDAP directory and the database.&lt;br /&gt;The general methodology&lt;br /&gt;&lt;br /&gt;The sections below describe the iterative process that is used to do the actual analysis of the system. The sections that precede "The process" define concepts that are important to understand during the execution of that process.&lt;br /&gt;User scenarios&lt;br /&gt;&lt;br /&gt;To tune the WebSphere Portal system to handle large numbers of users and to accurately predict its ability to handle specific numbers of users correctly, it is important to determine the most probable scenarios for users of the system. The test must then accurately simulate those user scenarios using the load generator. One effective way to do this step is to list the most likely use cases. Write a script for each of these use cases or as many as are practical. Now, assign a probability of likelihood that a percentage of the whole user population will execute that scenario. As the test is run, assign use cases to Vusers in the same proportion as the expected general population. As the number of Vusers is ramped up (discussed later), try to maintain this proportion.&lt;br /&gt;&lt;br /&gt;NOTE: "Vuser" is a LoadRunner term. It represents one active channel over which requests are made and returned.&lt;br /&gt;Think time&lt;br /&gt;&lt;br /&gt;Think time is the average amount of time that a normal user pauses during individual mouse clicks or key presses during the course of using WebSphere Portal. In the load generation tools, this time is usually programmable, yielding a random time within a predefined range.&lt;br /&gt;&lt;br /&gt;As think time is reduced, the number of requests per second increases, which in turn increases the load on the system. Reducing think time generally increases the average response time for WebSphere Portal login and page-to-page navigation. Therefore, accurately estimating real user think time is important for producing an accurate model of the system in production, particularly for capacity planning.&lt;br /&gt;&lt;br /&gt;In most use cases, a think time of 10 seconds plus or minus 50 percent is reasonable for a portal having experienced users. A figure closer to 30 seconds is more reasonable for a portal with inexperienced users.&lt;br /&gt;Cookies and sessions&lt;br /&gt;&lt;br /&gt;Generally, most real users log into the portal and execute the task that needs to be done; however, they rarely log out by using the logout button. Rather, they let the browser sit idle until their session times out. Typically, a lot of sessions in memory are waiting for cleanup pending the WebSphere Application Server session timeout. This behavior increases the Java™ Virtual Machine (JVM) heap working set, which increases the probability of heap exhaustion in the JVM. Heap exhaustion can be both a performance bottleneck and a cause for a JVM failure.&lt;br /&gt;&lt;br /&gt;Effective simulations must model this behavior of users who do not explicitly log out. As each individual simulation executes a particular use case, it should end the use case by going idle as opposed to logging out. As the script cycles back around to log in a new user on this particular Vuser, the cookies for old session (typically JSESSIONID) and Lightweight Third-Party Authentication (LTPA) along with any application-specific cookies need to be cleaned up appropriately before logging in the next user using that script. This model also implies that sufficient test IDs need to exist so that a test ID can sit idle for the length of the WebSphere Application Server session timeout without risk of being reused until the previous session times out.&lt;br /&gt;Metrics&lt;br /&gt;&lt;br /&gt;It is important that the scripts be instrumented for metrics. The most important metrics are login response time along with page-to-page response times. Most of the load generators already provide aggregate Page View per second (PV/s) metrics. PV/s is the most important metric for determining the saturation point of the system.&lt;br /&gt;&lt;br /&gt;At the conclusion of each test, a graph of Vusers ramp rate versus the three metrics is required for doing analysis.&lt;br /&gt;&lt;br /&gt;In addition to the metrics gathered by the load generation tool, a system monitoring tool such as IBM Tivoli Composite Application Manager for WebSphere or the Computer Associates Wily IntroScope product should be employed. These tools run on the WebSphere Portal instance and instrument the JVM directly. They are useful in both detection and resolution of system bottlenecks, vUsers, or think time.&lt;br /&gt;&lt;br /&gt;A common misconception is that to accurately simulate a large population that generates requests at a certain rate, a smaller number of users that generate requests with a smaller think time will suffice.&lt;br /&gt;&lt;br /&gt;It's important to note that the effects of running with a small number of users and a low think time result in unrealistically high cache hit rates. It also means that too few sessions are created. Because session size is often a serious problem for many portlet applications, this approach gives an unrealistically good view of the system performance and leads to surprises in production.&lt;br /&gt;&lt;br /&gt;Another poor practice is running a small set of vUsers with no think time.&lt;br /&gt;Repeatability principle&lt;br /&gt;&lt;br /&gt;In a large population, it is easy to assume that most user actions appear to be random as users navigate through the portal. Experienced users, though, typically use the same patterns over and over. Furthermore, from a test engineering perspective, the user scenarios need to be reasonably static so that system changes can be effectively measured from run to run.&lt;br /&gt;&lt;br /&gt;Therefore, the definition of the repeatability principle is that for all runs of a particular scenario, the metrics (average response time, PV/s, saturation point, and so on) produced by the runs all converge to the same results if the runs are sufficiently long. Note that with more variation (that is, unique scenarios) in the test scripts, longer times are required to converge, on average.&lt;br /&gt;&lt;br /&gt;The simulation scripts written for the performance tests should adhere to the repeatability principle.&lt;br /&gt;&lt;br /&gt;Driving to saturation&lt;br /&gt;&lt;br /&gt;Saturation is defined as the number of active Vusers at which point adding more Vusers does not result in an increase in the number of PV/s. Note that this saturation point is for a given simulation; each different simulation likely has a different saturation point. The saturation point varies depending on the usage pattern.&lt;br /&gt;&lt;br /&gt;To effectively drive a system to saturation, add Vusers a few at a time, let the system stabilize , observe whether PV/s increase, and add more Vusers as possible. ("Stabilize," in this context, means that the response times are steady within a window of several minutes.) On LoadRunner, if you plot Vusers against throughput (PV/s), the PV/s initially rises linearly with the number of Vusers, then reaches a maximum and actually decreases slightly from that point. The saturation point is the number of Vusers at which the PV/s is at maximum.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Back to top&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bottleneck analysis&lt;br /&gt;&lt;br /&gt;The goal of bottleneck analysis is to remove impediments to driving the system to a higher load. The metric defined for higher load is a higher number of PV/s at saturation. Therefore, bottleneck analysis removes impediments to improve the saturation point.&lt;br /&gt;&lt;br /&gt;Bottlenecks in a WebSphere Portal environment under load are generally the result of contention for shared resources. This contention can be the result of synchronized Java classes, methods, or data structures, contention for serial resources (for example SystemOut.log) or excessive response times in back-end databases or Web servers. You must also be mindful of bottlenecks such as the network itself. Components such as routers and firewalls can impose congestion control or can be poorly tuned.&lt;br /&gt;&lt;br /&gt;As load increases, contention for these resources increases, making contention locks easier to detect and correct. This detail is why effective load testing is a requirement for bottleneck analysis.&lt;br /&gt;&lt;br /&gt;A common mistake is to focus only on page response times. Many performance testers prefer to optimize render response times because this delay is the most obvious user requirement. This type of performance analysis requires path length reduction in the customer portlet applications. Response time optimization is generally more appropriately done in a non-loaded system and with tooling specific to the task (for example, JProbe).&lt;br /&gt;&lt;br /&gt;The process&lt;br /&gt;&lt;br /&gt;The process of performing bottleneck analysis is straightforward. For a particular performance analysis (for example, LoadRunner) simulation, follow these steps:&lt;br /&gt;&lt;br /&gt;   1. Ramp a single WebSphere Portal JVM to saturation.&lt;br /&gt;   2. Determine the bottlenecks that exists at saturation.&lt;br /&gt;   3. Resolve the bottlenecks.&lt;br /&gt;   4. Unless satisfied with system capacity, go to step 1 and find the next bottleneck.&lt;br /&gt;&lt;br /&gt;Note that this process is iterative. The key concept is that you fix one bottleneck to find the next bottleneck.&lt;br /&gt;&lt;br /&gt;A single JVM is used in this case because detection of the bottleneck is much simpler. Finding and resolving cross-JVM contention can be quite complex. After a single JVM has been tuned as much as desired, you move on to the capacity planning analysis for multiple nodes as described later in this article.&lt;br /&gt;Note on ramp rates&lt;br /&gt;&lt;br /&gt;A common question in performance testing is the rate at which Vusers should be ramped into the system.&lt;br /&gt;&lt;br /&gt;Do not ramp in several hundred users as quickly as possible until the system collapses. This approach is not representative of reality, and it does not provide repeatable results.&lt;br /&gt;&lt;br /&gt;You should model reality. Predict or measure the actual highest ramp rate that you would expect your portal to endure. This rate might typically occur during the hours that your users most often log into your portal, such as first thing in the morning when they arrive at the office. We recommend that you ramp a small fixed number (for example, two Vusers per minute) for a set period of time (for example, five minutes), do not add any users for a time to let the system stabilize (for example, five minutes), then loop back and add another batch of Vusers in the same fashion.&lt;br /&gt;&lt;br /&gt;This technique gives the portal time to fill the various caches in an orderly fashion and provides for the ability to more accurately detect saturation points.&lt;br /&gt;Priming the portal&lt;br /&gt;&lt;br /&gt;After a portal restart, a short script should be executed prior to the main test to preload certain caches (for example, WebSphere Portal access control and the anonymous page cache before the real test starts. Failure to do so can skew the initial response times inordinately.&lt;br /&gt;&lt;br /&gt;Analysis techniques&lt;br /&gt;&lt;br /&gt;After you have a portal at saturation, you can determine the cause of a bottleneck in the system by taking a Java thread dump (using a kill -3 command ) against the portal Java process under test. A thread dump shows the state of all threads in the JVM. The general procedure is to look for threads that are all blocked by the same condition or are all waiting in the same method of the same class.&lt;br /&gt;&lt;br /&gt;In general, search for threads that are blocked or in a wait state. By ascertaining why certain classes statistically show up blocked, you can then proceed to remove that reason and thus remove the bottleneck. The next section discusses some common bottleneck problems. Going into all the problems is really the art of WebSphere Portal bottleneck analysis and takes time and experience to master.&lt;br /&gt;&lt;br /&gt;If the bottleneck is not the WebSphere Portal JVM itself, detection and resolution techniques are varied and outside the scope of this article.&lt;br /&gt;&lt;br /&gt;Common problems&lt;br /&gt;&lt;br /&gt;This section lists common problems that many customers have seen during their performance testing.&lt;br /&gt;Logging&lt;br /&gt;&lt;br /&gt;Logging using direct writes to SystemOut.log or using a logging class such as log4j causes serialization between running threads and significantly degrades portal performance. In production portal systems, log only what is absolutely needed. When using log4j, log only errors; do not log warnings or informational messages. If logging is required for audit purposes, consider using a portal service or a different service running in a separate JVM.&lt;br /&gt;&lt;br /&gt;Turn off all logging and remove all debug code that writes to files before doing performance testing.&lt;br /&gt;Java class and variable synchronization&lt;br /&gt;&lt;br /&gt;Use of method-level synchronization blocks where a method is in a monitor wait (MW) state with one method holding a lock can be problematic. In this case, you have Java code that is synchronized and is causing serialization in the system.&lt;br /&gt;&lt;br /&gt;Use of synchronized class variables or synchronized HashMaps can also cause this problem.&lt;br /&gt;&lt;br /&gt;In both cases (method or variable synchronization), the problem can be exacerbated by arbitrarily increasing the number of WebSphere Application Server transport threads in which the portal runs. By increasing the number of threads, you increase the probability of hitting portal code that is synchronized in this fashion, which ultimately serializes all the threads.&lt;br /&gt;Database contention&lt;br /&gt;&lt;br /&gt;If the thread dump indicates numerous threads waiting in Java Database Connectivity (JDBC) classes in Socket.read() methods, then there are likely response time issues in the database itself.&lt;br /&gt;&lt;br /&gt;When threads are waiting on JDBC pool resources in WebSphere Application Server, you see the threads in a condition wait (CW) state in the WebSphere Application Server connection pool (J2C) classes. In this case, you might need to increase the pool size for this data source, or you might need to increase the number of connections that the database server can handle concurrently.&lt;br /&gt;LDAP responsiveness&lt;br /&gt;&lt;br /&gt;If several threads are in the Socket.read() method of the Java Naming and Directory Interface (JNDI) classes, they are likely waiting on results from the LDAP directory.&lt;br /&gt;Excessive session sizes&lt;br /&gt;&lt;br /&gt;If customer-written portlets are storing too much data in the session, that condition invariably leads to memory and performance issues.&lt;br /&gt;Exceptions being thrown&lt;br /&gt;&lt;br /&gt;Even though this problem might seem obvious, in many customer situations performance analysis and bottleneck reduction are attempted in systems that are repeatedly throwing exceptions in the logs. When the JVM is handling unchecked exceptions, it slows the JVM down and causes serial I/O (printing) to the SystemOut.log print stream, which serializes the WebSphere Application Server transport threads.&lt;br /&gt;&lt;br /&gt;A more general issue involves trying to characterize and tune a system that is inherently flawed. All results that are generated in such an environment must be labeled as non-repeatable and subject to change (potentially in a significant way) as the flaws are eliminated.&lt;br /&gt;&lt;br /&gt;Finally, it should be your policy that the WebSphere Portal system is not allowed to enter a high-load production environment with any errors in the logs.&lt;br /&gt;Dynacache concerns DRS replication modes&lt;br /&gt;&lt;br /&gt;WebSphere Portal requires that the WebSphere Application Server Dynamic Cache Service be enabled. The dynamic cache (or “dynacache” as it is commonly known) is a data structure that is commonly used to provide caching of data from back-end services (for example, database results) in WebSphere Portal. Dynacaches can ensure cache synchronization across a cluster of WebSphere Portal members. For proper operation in a cluster, WebSphere Portal requires that cache replication be enabled. The default mode of replication, PUSH, can cause performance problems, though, in the WebSphere Portal environment. This setting is contained on the deployment manager on a per portal cluster member (JVM) basis.&lt;br /&gt;&lt;br /&gt;The use of NOT SHARED is strongly recommended for the vast majority of WebSphere Portal configurations. Three actions are needed to ensure that the node is fully enabled for WebSphere Portal. The first is to set the replication mode to NOT SHARED using the WebSphere Application Server console for each cluster member. The second is to install PK64925. The third is to install PK62457. Depending on which WebSphere Portal service level is installed, these two APARs might already be installed.&lt;br /&gt;&lt;br /&gt;WebSphere Content Manager’s dynacaches also should be set to NOT SHARED. To complete this task, in the Deployment Manager console, navigate to Resources - Cache Instances - Object Cache Instances and change each of the individual cache instances. As of the time of this writing, there are 11 instances for WebSphere Content Manager.&lt;br /&gt;Dynacache eviction concerns&lt;br /&gt;&lt;br /&gt;Since WebSphere Portal version 5.1.0.2, the size of the WebSphere Portal dynacaches has been increased to a default that is appropriate for most customer’s WebSphere Portal applications. There are situations, though, in which these defaults are inadequate and can cause significant performance problems. For example, if a portal has a large number of derived pages with a common parent in WebSphere Portal V5.1.0.x, the portal access control (PAC) caches can be small enough to cause cache thrashing. Similarly, if the portal objectID cache is too small, thrashing occurs.&lt;br /&gt;&lt;br /&gt;Customers need to install and use the advanced dynacache monitor and monitor all the caches. If one or more of the caches seem to have large amounts of least recently used (LRU) evictions, the size of that cache might need to be increased. The sizes of the WebSphere Portal caches are mostly located in the CacheManagerService.properties file.&lt;br /&gt;Customer portlets&lt;br /&gt;&lt;br /&gt;Some common problems noted from past customer engagements include the following:&lt;br /&gt;&lt;br /&gt;   1. Use of synchronized class variables.&lt;br /&gt;   2. Excessive database calls. Consider using DB caching layers or dynacache to reduce the load on application databases or back-end services.&lt;br /&gt;   3. Unsynchronized use of HashMaps. There are timing scenarios in which these classes get into infinite loops if separate threads hit the same HashMap without being synchronized.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Back to top&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Capacity planning&lt;br /&gt;&lt;br /&gt;The goal of capacity planning is to estimate the total number of WebSphere Portal JVMs required that satisfy a certain user population within predetermined SLA metrics prior to entering production.&lt;br /&gt;&lt;br /&gt;Typical metrics include these:&lt;br /&gt;&lt;br /&gt;   1. Portal login response time (typically around four seconds)&lt;br /&gt;   2. Page-to-page response times after being already logged in (typically around two seconds)&lt;br /&gt;&lt;br /&gt;The process&lt;br /&gt;&lt;br /&gt;The process for running the load test looks very much like the one for running the test for bottleneck analysis except that there is now a second criterion for stopping the test. One criterion is saturation, as previously defined. The second criterion is failure of any of the SLA metrics.&lt;br /&gt;&lt;br /&gt;If the test reaches saturation before any of the SLA metrics are exceeded and if it has already been determined that there are no bottlenecks that can or will be excised, then you can immediately calculate the number of nodes required.&lt;br /&gt;&lt;br /&gt;If the SLA metrics are exceeded before reaching saturation, then you must analyze the failure to determine the next course of action. If you determine that you do not need to resolve the response time issues, then proceed directly to calculating the number of nodes, as discussed in the next section of this article.&lt;br /&gt;&lt;br /&gt;Extrapolating results&lt;br /&gt;&lt;br /&gt;In general, if a single WebSphere Portal node can sustain n users within given SLA metrics, then 2 nodes can sustain 1.95 * n users. The accepted horizontal scaling factor for a portal is .95. Thus, if a single WebSphere Portal node can sustain n users within given SLA metrics, then m nodes can sustain:&lt;br /&gt;&lt;br /&gt;n (1 + .95 + .952 + .953 + … + .95 m )&lt;br /&gt;&lt;br /&gt;Thus, the horizontal scaling factor is slightly less than linear.&lt;br /&gt;&lt;br /&gt;This scaling factor assumes that the database capacity does not bottleneck the system. In fact, this scaling factor is primarily a metric of the degeneration of the WebSphere Portal database for logging in users.&lt;br /&gt;&lt;br /&gt;Vertically cloning (scaling) is somewhat different. Vertical cloning is indicated when a single JVM saturates a node at a processor utilization around 80 percent or less. Note that in most cases, bottleneck analysis usually provides relief. In the absence of Java heap issues, a single JVM can usually be tuned to saturate a node at 85 to 90 percent processor utilization.&lt;br /&gt;&lt;br /&gt;Vertical scaling is discussed more fully later in this article.&lt;br /&gt;&lt;br /&gt;Testing with the full cluster&lt;br /&gt;&lt;br /&gt;If sufficient load generation capacity exists (including test IDs), it is wise to do a final series of tests in which the whole user community is simulated against the full cluster to ensure viability of the entire system.&lt;br /&gt;&lt;br /&gt;Failover testing&lt;br /&gt;&lt;br /&gt;If there is a system requirement for full performance during a failover, this scenario should also be scripted and tested.&lt;br /&gt;&lt;br /&gt;Before running this scenario, review the plugin-cfg.xml file at the HTTP server to ensure that the cluster definitions are correct. Consider adding the parameter ServerIOTimeOut to the cluster members. This parameter augments the ConnectIOTimeout parameter. ConnectIOTimeout is the amount of time before a cluster member is marked as down in the event that the remote server fails to open a socket connection upon request. The parameter is normally present in the plugin-cfg.xml file and defaults to 0, which means that it relies on the operating system to return timeout status to the plug-in instead of the plug-in explicitly timing the connection itself.&lt;br /&gt;&lt;br /&gt;The parameter ServerIOTimeout is, by default, not included in plugin-cfg.xml. This parameter sets a time-out on the actual HTTP requests. If the portal does not answer in the allotted time, the server is marked down. This step is useful because there are certain classes of failures whereby the WebSphere Portal cluster member opens a socket upon request, but the JVM has hung and will not respond to HTTP requests. Without ServerIOTimeout, the plug-in does not mark the cluster member as down; however, it is not able to handle requests. This situation results in requests being routed to a hung server.&lt;br /&gt;&lt;br /&gt;During this test, start with the cluster fully operational. Enable Vusers in your simulation to the maximum number that your SLA mandates. Then, stop one or more cluster members. You can do this step gracefully by stopping the cluster members from the deployment manager or by simulating a network failure by removing the Ethernet cable from a cluster node. Many other failure modes might be worth investigating (for example, database failures, Web service failures, and so on). After the simulated cluster member outage, ensure that the surviving cluster members handle the remaining load according to your system requirements. Then, restart the offline cluster members to ensure that the load returns to a balanced state over time.&lt;br /&gt;&lt;br /&gt;Ongoing capacity planning&lt;br /&gt;&lt;br /&gt;If a system is already in production and is meeting its current SLA goals, you also want to plan for future growth in the number of users of the system. Assuming that the applications on the WebSphere Portal do not significantly change, you can derive the necessary measurements and calculations from a running production system. You need proper tooling, though, to take the measurements.&lt;br /&gt;&lt;br /&gt;In short, if n JVM can support x users, then each JVM can support (x/n)^(1/.95) users. Using the formula explained previously, you can easily plan for future growth.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Back to top&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Vertical clustering considerations&lt;br /&gt;&lt;br /&gt;A common technique for improving performance is to vertically clone the WebSphere Portal JVM on the same physical system. Engineers initially assume that if one JVM is good, two must be better.&lt;br /&gt;&lt;br /&gt;The ultimate goal of vertical cloning is to increase the net aggregate throughput in transactions per second of the sum of the cluster members (clones) on a single node. This goal is usually possible only if, when running under the load, a single, well-tuned cluster member does not consume most of the CPU available in that node. In fact, in a well-tuned WebSphere Portal, vertical cloning always carries a cost. Vertical cloning is indicated when the benefits outweigh the costs.&lt;br /&gt;&lt;br /&gt;WebSphere Application Server clustering comes in two flavors. The first is the horizontal type. In this arrangement, a functionally equivalent duplicate of an application server is created on another node. This duplication is done with a WebSphere component known as the deployment manager. The resulting set of equivalent nodes is known as a cluster. The result is that a front-end HTTP server can forward a request from a client to either of the cluster members (clones), and the result is identical.&lt;br /&gt;&lt;br /&gt;Similarly, you can also create cluster members vertically, which means that multiple JVMs are created on the same node. Each cluster member can serve the same content just as in the horizontal cluster member case.&lt;br /&gt;&lt;br /&gt;In the WebSphere Portal case, each cluster member shares the one (and only one) WebSphere Portal database. This statement changes slightly in WebSphere Portal V6, but it is true for V5.x. Therefore, as the number of cluster members increases, the WebSphere Portal database has a higher likelihood of becoming a bottleneck due to the dilution of its capacity.&lt;br /&gt;&lt;br /&gt;Costs of vertical clustering&lt;br /&gt;&lt;br /&gt;When additional cluster members are active on the same physical node, costs are associated with it. First, there is process context switching. The operating system must now manage additional processes (JVMs).&lt;br /&gt;&lt;br /&gt;Second, there is more contention for processor resources. Generally, vertically clustering is always a bad choice if the number of active cluster members exceeds the number of processors in the node less one. You should never have three cluster members on a three-processor node, for example. Two cluster members on a three-processor node might be acceptable under certain conditions.&lt;br /&gt;&lt;br /&gt;Indications for vertical clustering&lt;br /&gt;&lt;br /&gt;This section describes some of the situations in which vertical cluster members provide value.&lt;br /&gt;Reliability&lt;br /&gt;&lt;br /&gt;Apart from performance concerns, having additional cluster members might make sense strictly for reliability reasons. If a WebSphere Portal installation is a single node, then in the event of a software failure that crashes one JVM (without crashing the operating system), you can mitigate the effect of the crash by adding vertical cluster members. The assumption is that most software failures are localized to a single JVM and do not affect the others on the same node. Therefore, the cluster continues serving requests while the failing JVM is restarted.&lt;br /&gt;Memory utilization&lt;br /&gt;&lt;br /&gt;In a 32-bit operating system, process address spaces are limited to 4 gigabytes of memory. Most operating systems split this space as 2 gigabytes of user space and 2 gigabytes of kernel space. There are exceptions whereby the user space can be increased to 3 gigabytes and the kernel reduced to 1 gigabyte (Solaris, AIX®, and Microsoft® Windows® 2003 Enterprise, for example).&lt;br /&gt;&lt;br /&gt;If the address space available to the JVM is 2 gigabytes, then the JVM can allocate approximately a 1.5-gigabyte heap space.&lt;br /&gt;&lt;br /&gt;There are cases when the combination of the WebSphere Portal base memory working set, along with the total memory required for all the portlets running during stress, could approach and exhaust the 1.5-gigabyte heap. When this happens, and if there is still a significant amount of processor resource available (20 to 30 percent or more), then vertical cloning could increase the total throughput of the box by effectively creating 3 gigabytes of JVM heap and dividing the workload evenly between the two 1.5-gigabyte heap JVMs.&lt;br /&gt;Java synchronized methods and class variables&lt;br /&gt;&lt;br /&gt;If your WebSphere Portal application (and the portal itself) uses enough synchronized methods or class variables, you can, under load, end up with a high and frequent number of blocked threads in the application server. You can identify this situation by taking thread dumps under load and noticing that there are lots of Web container threads sitting in MW state waiting for these synchronized artifacts.&lt;br /&gt;&lt;br /&gt;In this case, reducing the maximum number of Web container threads on a per-cluster-member basis reduces these stalls. If, after that change, the processor is not consumed as described previously, then vertical cloning can increase the aggregate throughput for the whole node.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Back to top&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Conclusion&lt;br /&gt;&lt;br /&gt;With proper testing before putting WebSphere Portal into production, you can remove many common performance problems, thereby providing for a much smoother user experience. This article provided a framework for building the test plan and execution processes needed to ensure that performance is acceptable and predictable as the system is deployed to production.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Resources&lt;br /&gt;&lt;br /&gt;    * Participate in the discussion forum.&lt;br /&gt;&lt;br /&gt;    * Learn more about IBM WebSphere Extended Cache Monitor.&lt;br /&gt;&lt;br /&gt;    * Refer to the IBM WebSphere Portal Information Center tips on performance tuning.&lt;br /&gt;&lt;br /&gt;    * Refer to the IBM WebSphere Portal Performance and Tuning Guide. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;About the author&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;Alex Lang joined IBM in 1982. Since that time he has had various technical and management assignments in networking, digital signal processing, Java advocacy, and IBM WebSphere. He is currently the technical team lead for the WebSphere Portal SEAL team. His primary focus is resolving critical customer situations with the architecture, deployment, and operation of WebSphere Portal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-7219611659806631464?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/7219611659806631464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/09/websphere-performance-testing-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/7219611659806631464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/7219611659806631464'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/09/websphere-performance-testing-and.html' title='WebSphere : Performance Testing and Analysis'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-547433201788710113</id><published>2008-09-23T21:37:00.000-07:00</published><updated>2009-10-21T22:48:46.748-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='websphere'/><category scheme='http://www.blogger.com/atom/ns#' term='WAS'/><category scheme='http://www.blogger.com/atom/ns#' term='monitoring'/><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>Webshpere monitoring on remote server</title><content type='html'>Dear Reader, &lt;br /&gt;&lt;br /&gt;This post I have taken from IBM forum to relate it to the monitoring with Loadrunner.&lt;br /&gt;&lt;br /&gt;TO monitor Web application Servers,First we need to configure the servers to allow monitoring by Loadrunner.&lt;br /&gt;&lt;br /&gt;Let us see an example from the IBM forum to set up the servers to monitor websphere application server from remote server :&lt;br /&gt;&lt;br /&gt;In this topic, a Web application, cviewer, is taken as an example. Before you start monitoring its status, you need to ensure the following:&lt;br /&gt;&lt;br /&gt;   1. Ensure WASCE is successfully installed on two different machines, for example, serverA and serverB.&lt;br /&gt;   2. Start the servers on the two machines. Under a privileged user or root, enter the following command to start up the server: WASCE_HOME/bin/startup(.sh|.bat). Ensure the server is started successfully.&lt;br /&gt;&lt;br /&gt;To monitor the status of cviewer on a remote server, take the following steps:&lt;br /&gt;&lt;br /&gt;   1. Install the cviewer application on serverA. Ensure the cviewer application is started correctly by checking the URL http://\[server ip:port]/cviewer/.&lt;br /&gt;   2. Define a monitor for serverA on the serverB:&lt;br /&gt;         1. Log in to serverB administrative console with the default account/password "system/manager".&lt;br /&gt;         2. Add a server first. Click Server -&gt; Monitoring, and then click Add server, fill in the following fields and click Add.&lt;br /&gt;                * Name=serverB&lt;br /&gt;                * IP/Hostname=[IP or hostname of serverB]&lt;br /&gt;                * Protocol=[default=EJB]&lt;br /&gt;                * Port=[default=4201]&lt;br /&gt;                * Username=system&lt;br /&gt;                * Password=manager&lt;br /&gt;                * Password(verify)=manager&lt;br /&gt;         3. Start server status query. Click "Enable Query" and ensure Stat.Query column is running.&lt;br /&gt;         4. Add the web module "cviewer" to "Statistics Collected". Under WebModule, click + on the line of cviewer. The cviewer will be listed under Live Statistics. The following data is collected:&lt;br /&gt;                * Active Session Count - shows the number of active sessions in use currently&lt;br /&gt;                * Expired Session Count - shows the number of expired sessions&lt;br /&gt;                * Rejected Session Count - shows the number of sessions that were not created because the maximum number of active sessions was reached.&lt;br /&gt;                * Processing Time - shows the cumulative processing times of requests by all servlets&lt;br /&gt;                * Session Alive Time Count - the count of sessions which are alive in the same time duration&lt;br /&gt;                * Session Alive Time MaxTime - the maximum time an expired session ever lived&lt;br /&gt;                * Session Alive Time MinTime - always equals -1&lt;br /&gt;                * Session Alive Time TotalTime - the total live time of sessions which are alive in the same time duration&lt;br /&gt;                * Session Count - the total number of sessions created by this manager&lt;br /&gt;                * Startup Time - the time in milliseconds it took to start this context&lt;br /&gt;                * TLD Scan Time - the time used to scan the TLD contents of all tag library descriptor files (including those inside the jars that are "accesible" to this Web application) and register any application event listeners found there.&lt;br /&gt;   3. To delete the server monitoring, go back to the Monitoring portlet, click Edit in the Actions column, and then click Delete this server.&lt;br /&gt;   4. To view serverA's live statistics, click serverA to view the live statistics.&lt;br /&gt;   5. To stop the server on serverA, enter the command WASCE_HOME/bin/shutdown.sh&lt;br /&gt;   6. Check serverA's status in serverB's console.&lt;br /&gt;&lt;br /&gt;In the next Post, Let us relate these concept to configure the server to monitor it from LoadRunner.&lt;br /&gt;&lt;br /&gt;Dear Readers,&lt;br /&gt;Hope you enjoy this post and let us know if you have any comments or suggestions on this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-547433201788710113?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/547433201788710113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/09/webshpere-monitoring-on-remote-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/547433201788710113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/547433201788710113'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/09/webshpere-monitoring-on-remote-server.html' title='Webshpere monitoring on remote server'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-5120377769549928166</id><published>2008-09-23T21:08:00.000-07:00</published><updated>2009-10-21T22:48:46.758-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Functional'/><category scheme='http://www.blogger.com/atom/ns#' term='LoadBalancer'/><category scheme='http://www.blogger.com/atom/ns#' term='Skills'/><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>What are the skills required for LoadTester</title><content type='html'>To become a DECENT run of the mill Loadrunner engineer,&lt;br /&gt;&lt;br /&gt;I would first recommend understanding the various processes and&lt;br /&gt;theory's of performance testing, tuning. After all LoadRunner is&lt;br /&gt;simply a tool to facilitate the process. If you don't know the&lt;br /&gt;process you're throwing darts drunk and blindfolded.&lt;br /&gt;&lt;br /&gt;HardSkills which serve well...&lt;br /&gt;C programing.&lt;br /&gt;Basic understanding of the Network Stack and a little bit of&lt;br /&gt;everything else. You don't have to know Data Modeling but you should&lt;br /&gt;know SQL, You don't need to know Diferential Algebra but you should&lt;br /&gt;understand Statistics. You don't need to know queuing theory but you&lt;br /&gt;should learn how to determine a bottle neck.&lt;br /&gt;&lt;br /&gt;SoftSkills which serve well...&lt;br /&gt;project management, charisma (you'll need to beg, bribe, charm or&lt;br /&gt;threaten to get your requirements)    &lt;br /&gt; * Components such as web servers, application servers, database servers, operating systems, networks and network elements such as load balancers.&lt;br /&gt;&lt;br /&gt;Here you can the summary of skills of LoadTesters in a nutshell&lt;br /&gt;&lt;br /&gt;    * You need not have "guru" level knowledge of each of the components but should have operational knowledge and an understanding of the performance issues associated with the components.&lt;br /&gt;    * For example, a load tester should know what multi-way joins, indexes and spin counts are and what affect they have on a database server.&lt;br /&gt;&lt;br /&gt;    * Protocol(s) used between the client and server such as HTTP/HTML, ODBC, SQL*NET, and DCOM.&lt;br /&gt;&lt;br /&gt;    * The LoadRunner script language is ANSI C. It helps to know the C language, but the scripts are generated and manipulated by LoadRunner, so there is usually not need to directly edit the code. There is also a icon script view which completely hides the C code.&lt;br /&gt;&lt;br /&gt;    * Load testing is not a heads down coding exercise. You will work with many parts of an organization to coordinate activities, schedules and resources.&lt;br /&gt;&lt;br /&gt;    * Daily interaction with a variety of people requires good oral and written communication skills as well as good people skills. If you prefer to sit in a cube by yourself, you should stay in functional testing or development.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-5120377769549928166?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/5120377769549928166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/09/what-are-skills-required-for-loadtester.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/5120377769549928166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/5120377769549928166'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/09/what-are-skills-required-for-loadtester.html' title='What are the skills required for LoadTester'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-8866524411689441715</id><published>2008-09-23T21:02:00.000-07:00</published><updated>2009-10-21T22:48:46.774-07:00</updated><title type='text'>Relate Rstatd With LoadRunner</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CSuresh%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CSuresh%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CSuresh%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="0" name="footnote text"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="0" name="footnote reference"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	mso-bidi-font-size:10.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Times New Roman"; 	mso-ansi-language:EN-GB;} p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText 	{mso-style-noshow:yes; 	mso-style-unhide:no; 	mso-style-link:"Footnote Text Char"; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Times New Roman"; 	mso-ansi-language:EN-GB;} span.MsoFootnoteReference 	{mso-style-noshow:yes; 	mso-style-unhide:no; 	vertical-align:super;} span.FootnoteTextChar 	{mso-style-name:"Footnote Text Char"; 	mso-style-noshow:yes; 	mso-style-unhide:no; 	mso-style-locked:yes; 	mso-style-link:"Footnote Text"; 	mso-ansi-language:EN-GB;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	font-size:10.0pt; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt;}  /* Page Definitions */  @page 	{mso-footnote-separator:url("file:///C:/DOCUME~1/Suresh/LOCALS~1/Temp/msohtmlclip1/01/clip_header.htm") fs; 	mso-footnote-continuation-separator:url("file:///C:/DOCUME~1/Suresh/LOCALS~1/Temp/msohtmlclip1/01/clip_header.htm") fcs; 	mso-endnote-separator:url("file:///C:/DOCUME~1/Suresh/LOCALS~1/Temp/msohtmlclip1/01/clip_header.htm") es; 	mso-endnote-continuation-separator:url("file:///C:/DOCUME~1/Suresh/LOCALS~1/Temp/msohtmlclip1/01/clip_header.htm") ecs;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.0in 1.0in 1.0in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} table.MsoTableGrid 	{mso-style-name:"Table Grid"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-unhide:no; 	border:solid windowtext 1.0pt; 	mso-border-alt:solid windowtext .5pt; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-border-insideh:.5pt solid windowtext; 	mso-border-insidev:.5pt solid windowtext; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif";} &lt;/style&gt; &lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:shapedefaults ext="edit" spidmax="2049"&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:shapelayout ext="edit"&gt;   &lt;o:idmap ext="edit" data="1"&gt;  &lt;/o:shapelayout&gt;&lt;/xml&gt;&lt;![endif]--&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt; width: 87.35pt;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt;" lang="EN-GB"&gt;LoadRunner description&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 66.9pt;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt;" lang="EN-GB"&gt;LoadRunner&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt;" lang="EN-GB"&gt;ref [1]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 73.95pt;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt;" lang="EN-GB"&gt;Rstatd value&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt;" lang="EN-GB"&gt;ref [2]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 53.65pt;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt;" lang="EN-GB"&gt;Rstatd type&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt;" lang="EN-GB"&gt;ref [2]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 113.4pt;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt;" lang="EN-GB"&gt;sun.mib variable&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt;" lang="EN-GB"&gt;(all counter data types)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt;" lang="EN-GB"&gt;ref[3]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 155.9pt;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt;" lang="EN-GB"&gt;UCD-SNMP-MIB variable&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt;" lang="EN-GB"&gt;ref [4]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 92.15pt;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt;" lang="EN-GB"&gt;UCD-SNMP-MIB data type &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt;" lang="EN-GB"&gt;ref [4]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 87.35pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Average number of   processes in ‘Ready’ state during the last minute&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 66.9pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Average load&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 73.95pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;avenrun_1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;avenrun_5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;avenrun_15&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 53.65pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;float&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 113.4pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;MISSING&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 155.9pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ucdavis.laTable.laEntry.laLoad.1   (1m ave)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ucdavis.laTable.laEntry.laLoad.2   (5m ave)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ucdavis.laTable.laEntry.laLoad.3   (15m ave)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 92.15pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;String&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 87.35pt;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Collisions per   second detected on the Ethernet&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 66.9pt;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Collision rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 73.95pt;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;colls&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53.65pt;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;counter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 113.4pt;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsIfCollisions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 155.9pt;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;MISSING&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 92.15pt;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;N/A&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 87.35pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Number of   switches between processes or threads, per second&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 66.9pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Context switch   rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 73.95pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;cswitch&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 53.65pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;counter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 113.4pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;MISSING&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 155.9pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ucdavis.systemStats.ssRawContexts.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 92.15pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Counter32&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;(number of   switches)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 87.35pt;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Percent of time   that the CPU is utilized&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 66.9pt;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;CPU utilization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 73.95pt;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;cpubusy&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53.65pt;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;counter &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 113.4pt;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsSystemProcessTime   +&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsUserProcessTime&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 155.9pt;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ucdavis.systemStats.ssCpuRawSystem.0   + ucdavis.systemStats.ssCpuRawUser.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 92.15pt;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Counter32&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;(100ths of   seconds)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 87.35pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Rate of disk   transfers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 66.9pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Disk rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 73.95pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;disk&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 53.65pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;counter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 113.4pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsDiskXfer1 +   rsDskXfer2 +&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsDiskXfer3 +   rsDiskXfer4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 155.9pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ucdavis.systemStats.ssIORawSent.0   + &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ucdavis.systemStats.ssIORawReceived.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: silver none repeat scroll 0% 0%; width: 92.15pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Counter32&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;(number of   blocks)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 87.35pt;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Errors per second   while receiving Ethernet packets&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 66.9pt;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Incoming packets   error rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 73.95pt;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ipkts&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53.65pt;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;counter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 113.4pt;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsIfInErrors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 155.9pt;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;if.ifInErrors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 92.15pt;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Counter32&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 87.35pt;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Incoming Ethernet   packets per second&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 66.9pt;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Incoming packets   rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 73.95pt;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ierrs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53.65pt;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;counter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 113.4pt;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsIfInPackets&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 155.9pt;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;if.ifInOctets.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 92.15pt;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Counter32&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 87.35pt;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Number of device &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;interrupts per   second&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 66.9pt;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Interrupt rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 73.95pt;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;intr&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53.65pt;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;counter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 113.4pt;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsVIntr&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 155.9pt;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ucdavis.systemStats.ssRawInterrupts.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 92.15pt;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Counter32&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 87.35pt;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Errors per second   while sending Ethernet packets&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 66.9pt;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Outgoing packets   error rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 73.95pt;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;oerrs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53.65pt;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;counter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 113.4pt;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsIfOutErrors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 155.9pt;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;if.ifOutErrors.1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 92.15pt;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Counter32&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 87.35pt;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Outgoing Ethernet   packets per second&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 66.9pt;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Outgoing packets   rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 73.95pt;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;opkts&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53.65pt;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;counter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 113.4pt;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsIfOutPackets&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 155.9pt;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;if.ifOutOctets.1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 92.15pt;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Counter32&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 87.35pt;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Number of pages   read to physical memory, per second&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 66.9pt;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Page-in rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 73.95pt;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;pgin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53.65pt;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;counter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 113.4pt;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsVPagesIn&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 155.9pt;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ucdavis.systemStats.ssRawSwapIn.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 92.15pt;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Counter32&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;(number of   blocks)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 87.35pt;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Number of pages   written to pagefile(s) and removed from physical memory, per second&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 66.9pt;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Page-out rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 73.95pt;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;pgout&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53.65pt;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;counter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 113.4pt;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsVPagesOut&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 155.9pt;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ucdavis.systemStats.ssRawSwapOut.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 92.15pt;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Counter32&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;(number of   blocks)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 87.35pt;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Number of pages   read to physical memory&lt;span style=""&gt;  &lt;/span&gt;or written to   pagefile(s), per second&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 66.9pt;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Paging rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 73.95pt;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;pgin + pgout&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53.65pt;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;counter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 113.4pt;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsVPagesIn +&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsVPagesOut&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 155.9pt;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ucdavis.systemStats.ssRawSwapIn.0   +&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ucdavis.systemStats.ssRawSwapOut.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 92.15pt;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Counter32&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;(number of   blocks)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 87.35pt;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Number of   processes being swapped(in)&lt;a style="" href="#_ftn1" name="_ftnref1" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style=""&gt;&lt;!--[if !supportFootnotes]--&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;" lang="EN-GB"&gt;[1]&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 66.9pt;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Swap-in rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 73.95pt;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;pswpin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53.65pt;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;counter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 113.4pt;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsVSwapIn&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 155.9pt;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;MISSING&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 92.15pt;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;N/A&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 87.35pt;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Number of   processes being swapped(out)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 66.9pt;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Swap-out rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 73.95pt;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;pswpout&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53.65pt;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;counter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 113.4pt;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsVSwapOut&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 155.9pt;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;MISSING&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 92.15pt;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;N/A&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 87.35pt;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Percent of time   that the CPU is utilized in system mode&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 66.9pt;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;System mode CPU   utilization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 73.95pt;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Not explicitly &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;stated&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53.65pt;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Not explicitly &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;stated&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 113.4pt;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsSystemProcessTime&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 155.9pt;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ucdavis.systemStats.ssCpuRawSystem.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 92.15pt;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Counter32&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;(100ths of   seconds)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 87.35pt;" valign="top" width="116"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Percent of time   that the CPU is utilized in user mode&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 66.9pt;" valign="top" width="89"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;User mode CPU   utilization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 73.95pt;" valign="top" width="99"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Not explicitly &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;stated&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53.65pt;" valign="top" width="72"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Not explicitly &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;stated&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 113.4pt;" valign="top" width="151"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;rsUserProcessTime&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 155.9pt;" valign="top" width="208"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;ucdavis.systemStats.ssCpuRawUser.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 92.15pt;" valign="top" width="123"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;Counter32&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 8pt;" lang="EN-GB"&gt;(100ths of   seconds)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;div style=""&gt;&lt;!--[if !supportFootnotes]--&gt;&lt;br /&gt;&lt;br /&gt;  &lt;hr size="1" width="33%" align="left"&gt;  &lt;!--[endif]--&gt;  &lt;div style="" id="ftn1"&gt;  &lt;p class="MsoFootnoteText"&gt;&lt;a style="" href="#_ftnref1" name="_ftn1" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span lang="EN-GB"&gt;&lt;span style=""&gt;&lt;!--[if !supportFootnotes]--&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;" lang="EN-GB"&gt;[1]&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB"&gt; Though described as “number of processes” by Mercury, the underlying counters appear to represent number of pages swapped in/out in ref[2] and [3].&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5212346224822930560-8866524411689441715?l=learnqtploadrunner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnqtploadrunner.blogspot.com/feeds/8866524411689441715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/09/relate-rstatd-with-loadrunner.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/8866524411689441715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5212346224822930560/posts/default/8866524411689441715'/><link rel='alternate' type='text/html' href='http://learnqtploadrunner.blogspot.com/2008/09/relate-rstatd-with-loadrunner.html' title='Relate Rstatd With LoadRunner'/><author><name>Onsoft Technologies</name><uri>http://www.blogger.com/profile/06420538633485716980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5212346224822930560.post-6660626415759373541</id><published>2008-09-23T20:06:00.000-07:00</published><updated>2009-10-21T22:48:46.799-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UNIX'/><category scheme='http://www.blogger.com/atom/ns#' term='parameters'/><category scheme='http://www.blogger.com/atom/ns#' term='rstatd'/><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='table'/><title type='text'>rstatd for UNIX Resource Monitoring</title><content type='html'>Monitoring UNIX based Servers with LoadRunner is extensively in use with rstat
