✔ 最佳答案
1. Discuss the differences between verification and validation and explain why validation is a particularly difficult process.
Verification is a process to check the compliance of internal quality which includes the satisfiability of specification and development standard. The regulations and rules can be organized and enumerated so as to verify the system integrity and system completeness one by one.
Validation is a process to check whether the system can comply with user needs and user satisfiability which are external quality. The definition of a validated system depends on the negotiation among customer, company, project manager and the development team.
The system may not be 100% confronted to the original user needs because of budget, project duration, technical difficulties and feasibility. Besides, users and stakeholders may not be able to tell their needs exactly and on the other hand the project manager may not be able to capture the requirements exactly as well. So the validation of correctness of system becomes vague practically. But verification can be done mechanically once specifications and regulations have been settled. Input and output can be clearly defined. So verification is much easy.
2009-02-17 03:07:27 補充:
2. Explain why program inspections are an effective technique for discovering errors in a program. What types of errors are unlikey to be discovered through inspections?
2009-02-17 03:07:59 補充:
Program inspections enable developers to obtain a consensus about what the product is and how the product should be built. So when the requirements, system architecture, system organization and the development process are clear, they will able to detect and
2009-02-17 03:08:08 補充:
identify defects quickly from weird module output, unmatched module usage or incompatible interface, etc. So it helps improve the effectiveness of error identification.
2009-02-17 03:08:18 補充:
Program inspections maybe not able to discover design and analysis errors because the purpose of having such software organization maybe hidden in design document which in turn producing a technically feasible but wrong product.
2009-02-17 03:08:47 補充:
3. Explain why it is not necessary for a program to be completely free of defects before it is delivered to its customers. To what extent can testing be used to validate that the program is fit for its purpose?
2009-02-17 03:09:03 補充:
User satisfiability is built on top of how program works well with what user will ask the program to do. So when the program is thoroughly tested under a series of test cases, it provides the evidence of its correctness and makes user become confident about its correctness of operation.
2009-02-17 03:09:14 補充:
Defects may not be triggered in the whole cycle of operation process and so those defects can be left unfixed safely.
Checking the functional requirement list against the system with unit test, system test and user acceptance test help validate whether it is the right product built for the customer.
2009-02-17 03:09:21 補充:
For non-functional requirement, a series of acceptance standards should be stipulated Once the particularly designed test for those standards are met, the system is provided evidence to be functional.
4. Discuss the differences between black-box and white-box testing.
2009-02-17 03:09:40 補充:
In terms of test case design principle, a list of possible or boundary input and its corresponding correct output will be given in black-box testing. Once the module being tested correctly transforms
2009-02-17 03:09:47 補充:
all the testing inputs into desired outputs then the module is decided to pass the black-box testing.
White-box testing requires an enumeration of testing inputs and desired outputs which traverse all paths of internal structure of the module.
2009-02-17 03:09:58 補充:
5. Calculate COCOMO effort, TDEV, average staffing, and productivity for an organic project that is estimated to be 39,800 lines of code.
2009-02-17 03:10:03 補充:
effort = 2.4 (39.8) ^ 1.05 = 114.839
tdev = 2.5 (114.839)^0.38 = 15.163 months
avg no. of staff = 114.839 / 15.163 = 7.574 people
productivity = 39800/7.574 = 5255 LOC/person