Friday, April 24, 2009

Quality Assurance

The amount and complexity of software produced today stagger the imagination. Software development strategies have not kept pace, however, and software products fall short of meeting application objectives. Consequently, controls must be developed to ensure a quality product. Basically, quality assurance defines the objectives of the project and reviews the overall activities so that errors are corrected early in the development process. Steps are taken in each phase to ensure that there are no errors in the final software.

User Acceptance Testing

 An acceptance test has the objective selling the user on the validity and reliability of the system. It verifies the system's procedures" operate to system specifications and that integrity of vital data is maintained. Performance of an acceptance test is actually the user's show. User motivation and knowledge are critical for the successful performance of the system. Then a comprehensive test report is prepared. The report indicates the system's tolerance, performance range, error rate, and accuracy. 

System Documentation.

All design and test documentation should be finalized and entered in the library for future reference. The library is central location for maintenance of the new system. The format, organization, and language of each documentation should be in line with system standards.

System Testing

System testing is designed to uncover weaknesses that were not found in earlier tests. This includes forced system failure and validation of the total system as it will be implemented by its user(s) in operational environment. Generally, it begins with low volumes of transactions based on live data. The volume is increased until the maximum level for each transaction type is reached. The total system is also tested recovery and fallback after various major failures to ensure that no data lost during the emergency. All this is done with the old system still operation. After the candidate system passes the test, the old system is discontinued.

String Testing

 Programs are invariably related to one- another interacts in a total system. Each program is tested to see whether it conforms to related programs in the system. Each portion or' the system is test against the entire module with both test and live data before the entire System is ready to be tested.

Program Testing

 A program represents the logical elements of system. For a program to run satisfactorily, it must compile and' test data correctly and tie in properly with other programs. Achieving an error-free program is the responsibility of the programmer. Program testing checks for two types of errors: syntax and logic. A syntax error is a program statement that violates one or more rules of the language in which it is written. Improperly defined field dimension or omitted key words are comma syntax errors. These errors are shown through error messages generated. The computer. A logic error, on the other hand, deals with incorrect data fields, out-of-range items, and invalid combinations. Since diagnostics d not detects logic errors, the programmer must examine the output carefully for them.

When a program IS tested, the actual output is compared with expected output. When there is a discrepancy, the sequence of instructions must be traced to determine the problem. The process is facilitated by breaking the program down into self-contained portions, each of which can be checked at certain key points.The idea is to compare program values against desk-calculated values to isolate the problem.

Thursday, April 23, 2009

Types Of System Tests

After a test plan has been developed, system testing begins by testing program modules separately, followed by testing "bundled" modules as a unit. A program module may function perfectly in isolation but fail when interfaced with other modules. The approach is to test each entity with successively larger ones, up to the system test level.

System testing consists of the following steps:
1. Program(s) testing.
2. String testing.
3. System testing.
4. System documentation.
5. User acceptance testing.