and CORRECT Answers
What is Quality? - CORRECT ANSWER - Customer satisfaction? Subjective term.
What is Software Quality? - CORRECT ANSWER - Measurement of how close is actual
software product to the expected (intended) product; Customer satisfaction (to who?)
What is Software Quality Assurance? - CORRECT ANSWER - Software QA is the
process of monitoring and improving all activities associated with software development, from
requirements gathering, design and reviews to coding, testing and implementation.
What is the difference between Software Testing and Software QA? - CORRECT
ANSWER - Testing is mainly an 'error detection' process Software QA is 'preventative'. It
aims to ensure quality in the methods & processes. ("Quality Assurance" measures the quality of
processes used to create a quality product)
What is Software Testing? - CORRECT ANSWER - Software Testing is the process of
analyzing the software in order to detect the differences between existing and required conditions
and to evaluate the features of the software. It involves the entire software development process:
- monitoring and improving the process
- making sure that any agreed-upon standards and procedures are followed
- ensuring that problems are found and dealt with, at the earliest possible stage· The purpose of
testing is verification, validation and error detection (in order to find and fix the problems)
- Verification is checking for conformance and consistency by evaluating the results against pre-
specified requirements. (Verification: Are we building the system right?)
- Validation is the process of checking that what has been specified is what the user actually
wanted. (Validation: Are we building the right system?)
- Error Detection: finding if things happen when they shouldn't or things don't happen when they
should.
, Since it isn't possible to find/fix all the bugs in a software product before it goes to the customers
why should we test? - CORRECT ANSWER - To establish and to enforce business
systems of the QA Organization (Test planning, bug tracking, bug reporting, test automation,
release certification, and others)
What is black box testing? - CORRECT ANSWER - Testing without any knowledge of the
inner workings of the item being tested. E.g., when black box testing is used to software
engineering, the tester would only know the "valid" inputs and what the desired outputs should
be, but not how the program in reality comes at those outputs. It's because of this that black box
testing can be considered validation with reference to the specifications, no additional knowledge
of the application under test is necessary. Because this reason, the tester and the programmer can
be independent of one another, avoiding coder bias towards his own work. This process of test
design is applicable to all levels of software testing: unit, integration, functional testing, system
and acceptance. The higher the level, and therefore the greater and a lot complex the box, the
more one is forced to use black box testing to simplify. Although this process can uncover
unimplemented parts of the specification, one can't be certain that all existent paths are validated.
Advantages of Black Box Testing
1. More efficient on larger units of code than white box testing
2. Tester needs no knowledge of implementation, including particular programming languages
3. Tester and coder are autonomous of each other
4. Validations are done from a End user's point of view
5. Will assist to reveal any ambiguities or inconsistencies in the specifications
6. Test cases can be planned as soon as the specifications are done
Disadvantages of Black Box Testing
1. Just a low number of potential inputs can actually be validated, to test every possible input
stream would take almost forever
2. Without clean and concise specs, test cases are hard to design
3. There can be unnecessary repetition of test inputs if the tester is not informed of test cases the
programmer has already tried
4. Might allow for many program