Manual Testing Interview Questions and Answers
Manual Testing Interview Questions and Answers
If there are too many unrealistic 'no problem's', the result is bugs.
What is a 'walkthrough'?
A 'walkthrough' is an informal meeting for evaluation or informational
purposes. Little or no preparation is usually required.
What's an 'inspection'?
An inspection is more formalized than a 'walkthrough', typically with
3-8 people including a moderator, reader, and a recorder to take
notes. The subject of the inspection is typically a document such as a
requirements spec or a test plan, and the purpose is to find problems
and see what's missing, not to fix anything. Attendees should prepare
for this type of meeting by reading thru the document; most problems
will be found during this preparation. The result of the inspection
meeting should be a written report. Thorough preparation for
inspections is difficult, painstaking work, but is one of the most cost
effective methods of ensuring quality. Employees who are most skilled
at inspections are like the 'eldest brother' in the parable in 'Why is it
often hard for management to get serious about quality assurance?'.
Their skill may have low visibility but they are extremely valuable to
any software development organization, since bug prevention is far
more cost-effective than bug detection.
For C and C++ coding, here are some typical ideas to consider in
setting rules/standards; these may or may not apply to a particular
situation:
• minimize or eliminate use of global variables.
• use descriptive function and method names - use both upper and
lower case, avoid abbreviations, use as many characters as necessary
to be adequately descriptive (use of more than 20 characters is not out
of line); be consistent in naming conventions.
• use descriptive variable names - use both upper and lower case,
avoid abbreviations, use as many characters as necessary to be
adequately descriptive (use of more than 20 characters is not out of
line); be consistent in naming conventions.
• function and method sizes should be minimized; less than 100 lines
of code is good, less than 50 lines is preferable.
• function descriptions should be clearly spelled out in comments
preceding a function's code.
• organize code for readability.
• use whitespace generously - vertically and horizontally
• each line of code should contain 70 characters max.
• one code statement per line.
• coding style should be consistent throught a program (eg, use of
brackets, indentations, naming conventions, etc.)
• in adding comments, err on the side of too many rather than too few
comments; a common rule of thumb is that there should be at least as
many lines of comments (including header blocks) as lines of code.
• no matter how small, an application should include documentaion of
the overall program function and flow (even a few paragraphs is better
than nothing); or if possible a separate flow chart and detailed
program documentation.
• make extensive use of error handling procedures and status and
error logging.
• for C++, to minimize complexity and increase maintainability, avoid
too many levels of inheritance in class heirarchies (relative to the size
and complexity of the application). Minimize use of multiple
inheritance, and minimize use of operator overloading (note that the
Java programming language eliminates multiple inheritance and
operator overloading.)
• for C++, keep class methods small, less than 50 lines of code per
method is preferable.
• for C++, make liberal use of exception handlers
coverage analyzers - these tools check which parts of the code have
been exercised by a test, and may be oriented to code statement
coverage, condition coverage, path coverage, etc.
memory analyzers - such as bounds-checkers and leak detectors.
load/performance test tools - for testing client/server and web
applications under various load
levels.
web test tools - to check that links are valid, HTML code usage is
correct, client-side and server-side programs work, a web site's
interactions are secure.