Software Quality - csactor

Breaking

csactor

computer science , software engineering ,information system and information technology lesson series like data structure and algorithm , computer networking , programming , database , web development , operating system , information system , digital marketing and business study.

Wednesday, March 20, 2019

Software Quality


Software Quality

What is software?

  Organized information in the form of operating systems, utilities, programs, and applications that enable computers to work. Software consists of carefully-organized instructions and code written by programmers in any of various special computer language.

Software errors, faults and failures



Software Errors


Software errors are sections of the code that are partially or totally incorrect as a result of a grammatical, logical or other mistake made by a systems analyst, a programmer, or another member of the software development team.

• An error can be a grammatical error in one or more of the code lines, 

• or a logical error in carrying out one or more of the client’s requirements. 

• An error may or may not be detected during the coding or testing of the program before it is released to a customer.

Software Faults

Software faults are software errors that cause the incorrect functioning of the software during a specific application. 

• A software fault occurs as a result of an error that remains in the executing program. 

• However, not all software errors become software faults. 

• Not all faults however are detected and the software may continue executing without any obvious problems.

Software Failure

Software faults become software failures only when they are “activated”, that is, when a user tries to apply the specific software section that is faulty. Thus, the root of any software failure is a software error.


Causes of software errors


1. Faulty requirements definition 

2. Client–developer communication failures 

3. Deliberate deviations from software requirements 

4. Logical design errors 

5. Coding errors 

6. Non-compliance with documentation and coding instructions 

7. Shortcomings of the testing process 

8. Procedure errors 

9. Documentation errors


Faulty requirements definition

The faulty definition of requirements, usually prepared by the client, is one of the main causes of software errors. 

 Erroneous definition of requirements 

 Absence of vital (necessary or essential) requirements 

 Incomplete definition of requirements 

 Inclusion of unnecessary requirements, functions that are not expected to be needed in the near future.


Client–developer communication failures

Misunderstandings resulting from defective client developer communication are additional causes for errors that prevail in the early stages of the development process. 

 Misunderstanding of the client’s instructions 
 Misunderstanding of the client’s requirements changes presented to the developer


Deliberate deviations from software requirements

In several circumstances, developers may deliberately deviate from the documented requirements. 

• The developer reuses software modules taken from an earlier project without sufficient analysis of the changes and adaptations needed to correctly fulfill the new requirements. 

• Due to time or budget pressures, the developers decides to omit part of the required functions in an attempt to cope with these pressure.


 Logical design errors

Software errors can enter the system when the professional who design the system- system architects, software engineers, analysts etc. formulate the requirements. 

 Definitions that represent software requirements by mean of erroneous algorithms. 

 Process definitions that contain sequential errors 

 Erroneous definition of boundary conditions 

 Omission of required software system states. 


Coding errors

A broad range of reasons cause programmers to make coding errors. These include, 

• misunderstanding the design documentation, 

• linguistic errors in the programming languages,

 • Errors in the applications of CASE and other development tools 

• Errors in data selection

Non-compliance with documentation and coding instructions

Almost every development unit has its own documentation and coding standards that define the content, order and format of the documents, and the code created by team members.

 Shortcomings of the testing process

Shortcomings of the testing process affect the error rate by leaving a grater number of errors undetected or uncorrected. 

• Incomplete test plans leave untreated portions of the software or the application functions and states of the systems 

• Failures to document and report detected errors and faults 

• Failures to promptly correct detected software faults as a result of inappropriate indications of the reasons for the fault.


Procedure errors

Procedures direct the user with respect to the activities required at each step of the process. 

They are of special importance in complex software systems where the processing is conducted in several steps, each of which may feed a variety of types of data and allow for examination of the intermediate results.


No comments:

Post a Comment