system and acceptance testing,recovery testing,security testing,performance testing in software engineering - csmates.com

System and Acceptance Testing

System and Acceptance testing is the final process in the testing processes. It is concerned with the execution of the test cases to evaluate the whole system with respect to the user's requirements. A system test checks for unexpected interactions between the units and modules, and also evaluate the system for compliance with functional requirements. 
system and acceptance testing, recovery testing, security testing, performance testing

An acceptance test is a process of executing the test cases agreed with the customer as being an adequate representation of user requirements. These are often called the Black-box tests.

These terms make reference to the tests being unconcerned with the internal structure of the code. They are concerned with analyzing the performance of the code with respect to the test suite.

At any stage in the software, life-cycle errors may be discovered. This may lead to changes in design and/or code update resulting in a re-application of any of unit, integration, system, or acceptance tests.

The process of re-testing a unit during its development is called the Revision test. This is similar to a regression test that occurs during maintenance when a system or unit verifies that modifications have not caused unintended side effects and that the system or unit still complies with the current specification.

This type of test involves an examination of the whole computer system: all the software components, all the hardware components, and any interfaces.

The whole computer-based system is checked not only for validity but also for meeting objectives. It should include the following types of testing.

  • Recovery Testing
  • Security Testing
  • Reliability Testing

Recovery Testing

Recovery testing uses test cases designed to examine how easily and completely the system can recover from a disaster. It is desirable to have a system capable of recovering quickly and with minimal human intervention. It should also have a log of activities happening before the crash and a log of messages during the failure and upon re-start.

Security Testing

Security testing involves testing the system in order to make sure that unauthorized personnel or other systems can't gain access to the system and information or resources within it. Programs that check for access to the system via passwords are tested along with any organizational security procedures established.

Software quality, reliability, and security are tightly coupled. Flaws in software can be exploited by intruders to open security holes. With the development of the internet, software security problems are becoming even more severe.

Many critical software applications and services have integrated security measures against malicious attacks. The purpose of security testing of these systems include.
  • Identifying and removing software flaws that may potentially lead to security violations.
  • Validating the effectiveness of security measures.

Performance testing

Every software system has its implicit performance requirements. The software should not take infinite time or resources to execute. The software system should be free from Performance Bugs.

"Performance bugs" sometimes are used to those design problems in software that cause the system performance to degrade.

The goal of performance testing can be the performance bottleneck identification, performance comparison, and evaluation, etc.

Performance has always been a great concern and a driving force of computer evolution. Performance evaluation of a software system usually includes:
  • Resource usage.
  • Throughput
  • Stimulus-response time
  • Queue lengths detailing the average or the maximum number of tasks waiting to be serviced by selected resources.

Typical resources that need to be considered include network bandwidth requirements, CPU cycles, Disk space, Disk access operations, and memory usage.

The typical method of doing performance testing is using a benchmark, a program, workload, or trace designed to be representative of the typical system usage.

Performance testing involves monitoring and recording the performance levels during regular and low and high-stress loads. It tests the amount of resource usage under the just described conditions and serves as the basis for making a forecast of additional resources been developed during the planning stage and performance testing is to assure that these objectives are being met. However, these tests may be run in the initial stages of production to compare the actual usage to the forecasted figures.

Post a comment