Manual Testing Is A Process Of Finding Out The Defects Or Bugs In A Software Program. In This Method The Tester Plays An Important Role Of End User And Verifies That All The Features Of The Application Are Working Correctly.
1.What is Manual Testing? Explain it.
Manual Testing is the process of manually testing software for defects. It requires a tester to play the role of an end userand use most of all features of the application to ensure correct behavior.
In Manual Testing , Testers manually execute test cases without using any automation tools. Manual testing is the mostprimitive of all testing types and helps find bugs in the software system.
Any new application must be manually tested before its testing can be automated. Manual testing requires more effort, butis necessary to check automation feasibility.
Manual Testing does not require knowledge of any testing tool. One of the Software Testing Fundamental is “100%Automation is not possible”. This makes Manual Testing imperative.
The goal of Manual Testing is to ensure that the application is error free and it is working in conformance to the specifiedfunctional requirements. Test Suites or cases ,are designed during the testing phase and should have 100% test coverage.
It also makes sure that reported defects are fixed by developers and re-testing has been performed by testers on the fixeddefects. Basically, this testing checks the quality of the system and delivers bug-free product to the customer.
2.Explain in detail about White box Testing Techniques
White box testing (also known as clear box testing, glass box testing, transparent box testing, and structural testing) is amethod of testing software that tests internal structures or workings of an application, as opposed to its functionality (i.e.black box testing). In white-box testing an internal perspective of the system, as well as programming skills, are used todesign test cases. The tester chooses inputs to exercise paths through the code and determine the appropriate outputs. This isanalogous to testing nodes in a circuit, e.g. in-circuit testing (ICT). White-box testing can be applied at the unit, integrationand system levels of the software process. Although traditional testers tended to think of white-box testing as being done atthe unit level, it is used for integration and system testing more frequently today. It can test paths within a unit, pathsbetween units during integration, and between subsystems during a system–level test. Though this method of test design canuncover many errors or problems, it has the potential to miss unimplemented parts of the specification or missingrequirements.
White-box test design techniques include the following code coverage criteria:
Control flow testing
Data flow testing
Branch testing
Statement coverage
Decision coverage
Modified Coverage/decision coverage
Prime path testing
Path testing
White-box testing is a method of testing the application at the level of the source code. These test cases are derivedthrough the use of the design techniques mentioned above: control flow testing, data flow testing, branch testing, pathtesting, statement coverage and decision coverage as well as modified condition/decision coverage. White-box testing isthe use of these techniques as guidelines to create an error free environment by examining any fragile code. TheseWhite-box testing techniques are the building blocks of white-box testing, whose essence is the careful testing of theapplication at the source code level to prevent any hidden errors later on. These different techniques exercise every visiblepath of the source code to minimize errors and create an error-free environment. The whole point of white-box testing isthe ability to know which line of the code is being executed and being able to identify what the correct output should be.
White-box testing is one of the two biggest testing methodologies used today. It has several major advantages:
Side effects of having the knowledge of the source code is beneficial to thorough testing.
Optimization of code by revealing hidden errors and being able to remove these possible defects
Gives the programmer introspection because developers carefully describe any new implementation.
1. Provides traceability of tests from the source, allowing future changes to the software to be easily captured inchanges to the tests.
2. White box tests are easy to automate.
3. White box testing give clear, engineering-based, rules for when to stop testing
Disadvantages
Although white-box testing has great advantages, it is not perfect and contains some disadvantages:
1. White-box testing brings complexity to testing because the tester must have knowledge of the program,including being a programmer. White-box testing requires a programmer with a high level of knowledge due to thecomplexity of the level of testing that needs to be done.
2. On some occasions, it is not realistic to be able to test every single existing condition of the application andsome conditions will be untested.
3. The tests focus on the software as it exists, and missing functionality may not be discovered.
3.Write about Black Box Techniques
Black box testing is a method of software testing that examines the functionality of an application without peering into itsinternal structures or workings. This method of test can be applied to virtually every level of software testing: unit,integration, system and acceptance. It typically comprises most if not all higher level testing, but can also dominate unittesting as well