Anda di halaman 1dari 2

1.

Software Testing Software testing is the process of exercising a system or system component by ma nual or automated means to verify that it satisfies the specified requirements, or to identify differences between expected and actual results. S/W testing has two methods: 1. Manual Testing 2. Automation Testing 1. Manual Testing: Manual testing is the process of manually testing software fo r defects. It requires a tester to play the role of an end user, and use most of all features of the application to ensure correct behavior. Manual Testing is a process where in a tester often follows a written test plan that leads them thr ough a set of important test cases. A test case in software testing is a set of conditions under which a tester will determine whether an software application i s working correctly or not. In order to fully test that all the requirements of an application are met, there must be at least two test cases for each requireme nt: one positive test and one negative test. 2. Automation Testing :The use of software to control the execution of tests, th e comparison of actual outcomes to predicted outcomes, the setting up of test pr econditions and other test control and test reporting functions. The principle o f automated testing is that there is a program (which could be a job stream) tha t runs the program being tested, feeding it the proper input, and checking the o utput against the output that was expected. Once the test suite is written, no human intervention is needed, either to run the program or to look to see if it worked; the test suite does all that. Software testing is an investigation conducted to provide stakeholders with info rmation about the quality of the product or service under test. Software testing can be stated as the process of validating and verifying that a software progra m/application/product: 1. meets the requirements that guided its design and development; 2. works as expected; and 3. can be implemented with the same characteristics. Testing is of 2 types: 1. White Box Testing: This type of testing is usually performed by the developer himself. In this, a brief knowledge of the coding, logic used, algorithms appli ed are required. This is performed to check the coding mistakes. 2. Black Box Testing: This type of testing is performed by the tester. This is p erformed to check the functionality of the software. The developer gives the com piled code also called Build , in the .exe form, to the tester and the tester checks th e functionality of the software. For this, the tester need not to know about the logic used, source code, algorithms etc. He prepares the test cases and on the basis of the test cases the testing is performed.

Types of Black Box Testing: Functional Testing: Testing software based on its functional requirements. It co vers how well the system executes the functions it is supposed to execute includ ing user commands , data manipulation, searches and business processes, user scr eens and integrations. Smoke Testing: It is surface level testing to verify that build provided by deve lopment to QA is ready to accept for further testing.

Sanity Testing: It is surface level testing where QA engineer verifies that all the menus, functions, commands available in the product are working fine. Regression Testing: It seeks to uncover new errors, or regressions, in existing functionality after changes have been made to the software. Integration Testing: Integration testing is performed to verify the interaction between all the components. System Testing: It is performed to verify the working of the whole system all to gether. Usability Testing: Usability testing is performed to verify how user friendly th e product is for use. Compatibility Testing: Compatibility testing is performed to verify the compati bility of the software with different applications, browser and versions of dif ferent applications. Configuration Testing: It includes either or both of the following : 1. Testing the software with the different possible hardware configurations. 2. Testing each possible configuration of the software Concurrency Testing: Multi-user testing geared towards determining the effects o f accessing the same application code module or database records. Identifies and measures the level of locking deadlocking and use of single-threaded code and l ocking semaphores. Importance of Testing: Detect the existence of bugs. Ensure expected functionality. Increase Customer satisfaction. Reduce legal liability. Ensure compliance with the Specifications.

Anda mungkin juga menyukai