Coding and Testing of Software in Software Engineering

Coding and Testing

Coding and Testing of Software in Software Engineering –

(1)Coding and Testing – Code Review, Code Walk Through, Code Inspection, White Box Testing, Black Box Testing, Stress Testing

Coding and Testing –

Code Review –

Review basically means “Looking at again or examine again”.

Code review for the module is performed just after a module is successfully compiled and all the syntax errors are eliminated from it.

These are very cost-effective for reducing the coding errorsà it is mainly performed in order to produce very high quality code.



There are two types of code reviews that are performed on the code of a module:

  1. Code Walk Through
  2. Code Inspection         
Walk Through –

Major objective: To FIND ERRORS, any uncover errors in logic, function, or any implementation for representation of the software

4 different types of Walk through:

  • (i) Specification Walkthroughs
  • (ii) Design Walkthroughs                          
  • (iii) Code Walkthroughs
  • (iv) Test Walkthroughs

Code Walk Through –

  • It is basically an informal code analysis technique.
  • Before the arrival of Walk Through meetingàsome members of the development team were given a code for a few days to read and completely understand the code.
  • In this, each member individually selects many test cases and looks for the execution of code by hand (execution through every statement and all function execution) which can also be performed after module has been coded, compiled and all the syntax errors are eliminated.
  • Main objective of Walk Through is to detect all the algorithmic and logical errors in the code.
  • The errors which all of them found are noted and latterly discussed in Walk Through meeting in the presence of coder of the module.
  • Several guidelines are also evolved for making this kind of technique more effective and more useful.

Guideline:

  1. The team which is performing the walk-through should not be way too big or way too smallà it should consist members of 3 to 7.
  2. Discussion should mainly focus on detection of the error (not on fixing the detected errors).
  3. In order to help many develop cooperation, they are also being evaluated in the code walk-through meetingà in which many will not attend.

Steps for Code Walk Through –

  1. Team Makeup – Code inspector team should consist of 2 to 5 members, the code author that is being inspected should not be part of the initial inspection team.
  2. Preparing for Inspection – To prepare for the inspection, for each inspector you need a separate hardcopy of the required source code, At least 250 – 300 source lines should be covered in the source code inspector that must include comments and not include white space and the count of source code lines should be contained in the hardcopy.
  3. Inspection Overview –
  4. Individual Inspection
  5. Meeting
  6. Rework
  7. Follow Up
  8. Record Keeping
  • Review issues list
  • Identify all the problem areas within the product
  • Action Item checklist for all the corrections to be made
  • Review the summary report
  • What was reviewed should be noted?
  • Who reviewed it should also be noted?
  • What were findings and conclusions of the report?

Code Inspection –

The aim of the Code Inspection is to detect (discover) all common types of errors that is caused due to the over sighting and improper programming.

In addition to detecting all the commonly made errors, adherence (attachment) to the coding standards is also being checked during the code inspection.

Some various classical programming errors which can be checked also during code inspection are:

  • Using of uninitialized variables
  • Jumping into loops
  • Zero terminating loops
  • Mismatches between the actual and formal parameters in the procedure calls

Testing –

Why Testing is Important –

  1. To discover what kind of errors are present in the software
  2. For demonstrating that the errors are not present
  3. Show that the intended functions are present
  4. To gain confidence in software’s ability to do tasks what it is required to do so

Black Box Testing: (integration + Validation)

This type of testing in software is conducted so as to make sure that the software itself satisfies its main purpose of development. Hence, in this the software is exercised in all kind of its functional aspects and is deeply analyzed to conclude that it’s all modules, (together) functions to the expectations given to it. Also while exercising the software again, the bugs which are somehow adhered with that normal functioning of the software remains uncovered (so that they can be rectified in the upcoming future).

White box Testing: (unit + integration)

This type of testing mainly focus on testing all the internal frame work of the software i.e., here, every individual unit of the given software is tested along with the way each unit combines with others for bringing up the required functionality of the software. Hence, all the bugs associated during this testing remain uncovered.

STRESS TESTING


Stress testing is also known as endurance testing. This is design to evaluate system performance when it is over stressed for short periods of time. These tests are like black-box tests which are designed to impose (enforce) a huge range of abnormal and even an illegal input conditions so as to stress all the capabilities of the software. 
Input data volume, input processing time, input data rate, utilization of the memory, etc, are also tested beyond the designed capacity.

(just going through to understand that there is no need to write below examples in the exam) 

For an example, there is an operating system that is supposed to support over15 multi programmed  jobs, the system is over stressed by attempting to run over 15 jobs simultaneously. A real-time system may be tested to determine the effects of simultaneous arrival of various high-priority interrupts.

Program Testing –

It means Testing a program consisting a sets of test inputs and checking if the program behaves normally, The aim of the program testing is to find all the problems in the software.

It consists of the following –

1)Failure – It is basically manifestation of error or bugs.

2)Test Case – This is triplet of I,S,O in which I -data input , S – state of the system , O – expected output

3)Test Suite – It is set of all test cases

Speak Your Mind

*