After development of software it is necessary to test the software and find errors. Debugging and testing process are two important phases. This article briefly states various testing carried out in software engineering
It is virtually impossible for a software developer to foresee how much the customer will ready use program. Instructions for use may be misinterpreted ,strange combinations of data may be regularly used ;output that seemed clear to be the tester may be unintelligible to a user in the field When the custom software is built for one customer, a series of acceptance test can range from an informal “test drive” to planned and systematically executed test of series.
In fact the acceptance testing can be conducted over a period of week or months thereby uncovering cumulative errors that might degrade the system over time. If software is developed within time as a product to be used by a many customer, it is impractical to perform formal acceptance test with each one. Most software product builder’s use a process called alpha testing to uncover errors that only end user seems able to find it.
The alpha testing is conducted at the developer site by the end-user the software is used in a natural setting with the developer “looking over the shoulder “of typical users and recording errors and usages problem. Alpha testing is conducted in environment.
The beta testing is conducted at the end user sites .unlike alpha testing the developer is generally not present. Therefore the beta testing is alive applications of the software in an environment that cannot be controlled by the developer. The end-user keep record of all problems that are encountered during beta testing and reports these to the developer at regular intervals.
As a result of problem reported during beta testing, software engineers make modifications and then prepare for releases of the software development product to the entire customer base.
A classic system testing problem if any fingerprinting .this occurs when an errors are not known to the other for the problem. System testing includes various stages and different tests whose primary purpose is to fully exercise the computer dependent system. Although each test is used for different purpose and different ways all work to verify that system elements have been properly integrated and perform allocated allocation.
Many computer based system must recover from faults and resume processing within a pre specified time. in some cases a system must be fault that is processing faults must be not cause overall system function to halt . In other cases we can see a system failure must be corrected within specified time or serve economic damage will occur.
Recovery system is a system test that forces the software to fail in a variety of ways and verifies that recovery is properly performed .if recovery is automatic, re-utilization check pointing mechanism data recovery, and data is evaluated for correctness if recovery requires human intervention the mean time to repair is evaluated to determine whether it is within acceptable limits.
Any computer based system that Manages sensitive information or causes actions that can improperly harm individuals is a target for improper or illegal penetration. Penetration incude number of activities: hackers who attempt to penetrate systems for sport disgruntled employees who attempt to penetrate for various means his personal causes of money causing damage to assets to penetrate for illicit personal gain.
Security testing verifies that production mechanism built into a during security testing, the tester has to do important and tough task who desires to get into the system. The tester may attempt to acquire passwords through external clerical mean system will in fact protect it from improper penetration.
The system with custom software designed to break down any defenses that have been constructed may overwhelmed the system thereby denying service to others may purposely cause the system errors, get into during the recovery may browse through insecure data hoping to find the key to system entry
Given a span of time and satisfying resources good security testing will ultimately penetrate a system the role of the system designer is to make penetration cost more than the value of the information that will be obtained.
Stress testing are designed to confront programs with abnormal situations.stess testing works in following manner that demands resources I abnormal quantity frequency or volume .for example Specialties may be designed that generates ten interrupts’ per seconds when one or two is the average rate
Input or values enter by the user data rates may be higher in rhe order by an order of magnitude to determine how much input functions will respond Test cases that require maximum memory or other resources are executed Test cases that may be because memory management problems are designed Test cases that may cause expensive hunting for disk resident data are created essentiality the tester attempts’ to overwhelm the program.
For real time and embedded system software that provided required function but does not conform to the performance requirements is unacceptable .performance testing is designed to test the run time performance of software within the context of an integrated system.
Performance testing occurs through all steps in the testing process. For each level unit that is each module is testedof an individual module may be accessed as tests are conducted however it does not until all system elements are fully integrated the true performance of a system can be ascertained.
Smoke testing is an integration approach that is commonly used when software produces are being developed It is designed as spacing mechanism for the time critical projects, using its project on frequent basis. The smoke testing has the following phases of activities.
1. Software component that have been translated into acceded are integrated into a “build”.
A series of the test is designed to expose errors that will keep the build from properly its function.
3. The build is integrated with other builds and the entire product in test daily. the integration approach may be top down or bottom up
Verification and validations
Software testing is a an action that can be systematically planned and s[specified .verification occurs as a consequence of successful testing .that is when a test case hides an error ,debugging is process or an action that results in the removal of the error.
As per the customer requirement, we validate the system that follows the predefined rules we iterate the system till we get the continuous specified by the customer .this process of satisfying customer satisfaction is called verification.