Static testing refers to testing non-operating parts - inspections and reviews. White box testing refers to access code and can view and review. The static white box test is subject to the condition that the software design, architecture, and code are found in the conditions of not being executed, so that the process of finding software defects. Sometimes it also has a structural analysis. The reason for the static white box test, first discovering software defects as soon as possible; in addition to the way of ideas for applying test cases, they don't have to know the code details, according to the review note, you can determine the features that may have problems range.
Formal review - the process of performing white box testing
The formal review implications, the conversation between programmers, the strict examination of the code belongs to this process. There are main four basic elements: - Determine the problem. The purpose of the review is not only an error, but also the missing project. All criticism should refer to the code, not its creator. - Compliance with the rules to review a fixed rule, it may set the code quantity of the review, spend time, and note the content object to help partners determine their own goals and understand their role. - Preparing for each partner need to understand your responsibilities and obligations, and actively participate in the review. - Writing the Report Review Panel must make a written report for summarizing the results of the review and make the report easy to develop groups.
The type of formal review 1. The first formal review of the colleague review convegen group is the easiest way. It is a discussion of the type of "all opinions". Often only on programmers and testers who write code and other one of the other two programmers and testers of the examiner. 2. The disclosure statement is a next step in reviewing normalization of colleagues. The programmer writes code is like 5 groups or other similar programmers or testers formally expressed, one by one, or one by one, explaining how the code works and why. Reviewers should receive a software copy before review to check and write notes and issues, ask questions during the review process. The number of participants is more than colleagues review. Therefore, it is very important to prepare and comply with rules. 3. The inspection test is the most formal review type, which has highly organized, requiring every participant to be trained. The test and colleagues reviewed different people who expressed code (expressioners or readers), no longer the original programmer. This forces him to learn and understand the materials to be expressed, making it possible to make different views and explanations. The duties in the inspector is to review the code from the perspective of different perspectives (such as users, testers or product support staff), pointing out software defects. After the inspection meeting, the inspector may repeatedly discuss the deficiencies they have discussed, and jointly prepare a written report with the Chairman of the Conference to clearly solve the work that must be done.
Coding standards and specifications
Reasons for standards or specifications: - Reliability. It turns out that code defect will be less - readability, maintenance. - Portability. If the code is in line with the equipment standard, it will be easy to migrate to another platform.
The standard consists of four main parts: - Title. Describe the topic. - Standard (or specification). Describe the content, which is explained which allows which is not allowed. - explain. Give the reason for the specified standard. Convince programmers. - Example. This is not required.
Note: Standard / specification and style is not a matter. The latter is not a defect.
Through code review list 1. Data reference errors refer to software defects caused by variables, constants, arrays, strings, or records that do not correctly initialize usage and reference methods. Such as: variable is not initialization, array and string subscript, the subscript operation omission of the array [0], the variable and the assignment type inconsistent, the referenced pointer does not allocate memory ... 2. Data declaration error data declaration software defects The reason is an incorrect statement or use variables and constants.
3. Computation error calculations or operational errors are basic mathematical logic issues. Calculation cannot obtain the expected result. Such as: different data types or variable calculations of different data types but long, during calculation, or calculation results overflow, the value of the destination variable is less than the value of the assignment expression, the divisor / mode is 0, the value of the variable exceeds meaningful The range (if the calculation result is not in the range of 0-1) ...
4. Compare errors less than, greater than, equal to, not equal, true, false. Compare and judgment errors are probably a boundary condition problem. Such as: confusion is less than or less than or equal to, the operand in logical expression is not a logical value ...
5. Control Process Error Control Process Errors The reason is that the control structure such as loop in the programming language does not work as expected. It is usually caused by calculation or compare errors directly or indirectly. Such as: module or loop cannot be terminated, there is a code that has never been executed, due to the accidental entry cycle due to variable assignment errors ...
6. Subprogram Parameters Error Subprogram Parameter Error The source is incorrect software that is incorrect. For example: the actual transmission parameter type or order is inconsistent with the definition, change the parameters that are only used as input values ...
7. Enter / Output Errors include file read, accept keyboards or mouse inputs, and write errors to output devices such as printers or screens. For example: software does not strictly abide by the dedicated format of external devices read and write data, the file or periphery does not exist or do not process when the error is ready, and the expected error is not processed in the expected manner. The error prompt information is not correct / not accurate……
8. Other check software use other foreign languages? Handling the range of character sets (ASCII or Unicode)? Do you need a transplant? Do you consider compatibility? Does the warning or prompt information when compiling?