MANUAL TESTING

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 user
and 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 most
primitive 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, but
is 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 specified
functional 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 fixed
defects. 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 a
method 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 to
design test cases. The tester chooses inputs to exercise paths through the code and determine the appropriate outputs. This is
analogous to testing nodes in a circuit, e.g. in-circuit testing (ICT). White-box testing can be applied at the unit, integration
and system levels of the software process. Although traditional testers tended to think of white-box testing as being done at
the unit level, it is used for integration and system testing more frequently today. It can test paths within a unit, paths
between units during integration, and between subsystems during a system–level test. Though this method of test design can
uncover many errors or problems, it has the potential to miss unimplemented parts of the specification or missing
requirements.

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 derived
through the use of the design techniques mentioned above: control flow testing, data flow testing, branch testing, path
testing, statement coverage and decision coverage as well as modified condition/decision coverage. White-box testing is
the use of these techniques as guidelines to create an error free environment by examining any fragile code. These
White-box testing techniques are the building blocks of white-box testing, whose essence is the careful testing of the
application at the source code level to prevent any hidden errors later on. These different techniques exercise every visible
path of the source code to minimize errors and create an error-free environment. The whole point of white-box testing is
the 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 in
changes 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 the
complexity 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 and
some 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 its
internal 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 unit
testing as well

  • Typical black-box test design techniques include:
  • Decision table
  • Equivalence partitioning
  • All pairs Testing
  • Boundary value analysis
  • Cause effect graph
  • State transition testing
  • Use case testing
  • User story testing
  • Domain analysis
  • Combining technique