Wednesday, December 10, 2008

Various Kinds of Testing

Different Types of Testing

Static V/s Dynamic Testing

• Development V/s Independent Testing

• Black v/s White box Testing

• Automated v/s Manual

• Sanity, smoke & Acceptance Testing

• Regression Testing

• Exploratory and Monkey Testing

• Debugging v/s Bugging
Dynamic V/s Static testing
Dynamic testing is the testing that involves testing, running and using the software whereas
Static testing is testing something that’s not running i.e. examining and reviewing it.

For example: Inspecting a car without running is the static testing while test driving a car is the dynamic testing.
Dynamic testing-When we run the Software.

Static testing-When system is not running.
Development V/s Independent Testing

Development Testing denotes the aspect the aspects of test design and implementation most appropriate for the team developers to undertake. In most cases test execution initially occurs with the developer testing group who designed and implemented the test, but it is a good practice for the developer to create their tests in such a way so as to make them available to independent testing groups for execution.

Independent testing denotes the test design and implementation most appropriately performed by someone who is independent from the team of developers. In most cases test execution initially occurs with the independent testing group that design and implement the test, but the independent tester should create their testes to make them available to the developer testing groups for execution.
Development testing - In which developer himself test the software.
Independent Testing-Group of people and they are concerned with the development part.
Black Box Vs White Box Testing
Black box testing also knows as Behavioral testing is a software testing technique in which the internal workings of the item being tested are not known to tester.
For example, When black box testing is applied to software engineering, the tester would only know the “legal “inputs and what the expected outputs should be, but not how the program actually arrives at those outputs. It is because of this, black box testing can be considered as the testing with respects to the specifications, and no other knowledge of program is necessary.
Black box testing attempts to finds errors in the following categories:-
  • Incorrect or missing functions.
  • Interface errors.
  • Errors in data structures or external database access.
  • Initialization and termination errors.
Black box testing treats the software as a "black box"—without any knowledge of internal implementation. Black box testing methods include:

Equivalence Partitioning
Boundary Value Analysis
All-Pairs Testing
Fuzz Testing
Model-Based Testing
Traceability Matrix
Exploratory Testing
Specification-Based Testing.

White box testing
White box testing is when the tester has access to the internal data structures and algorithms including the code that implement these.
Types of white box testing
The following types of white box testing exist:
· API testing (application programming interface) - testing of the application using public and private APIs
· Code coverage - creating tests to satisfy some criteria of code coverage (e.g., the test designer can create tests to cause all statements in the program to be executed at least once)
· Fault injection methods - improving the coverage of a test by introducing faults to test code paths
· Mutation testing methods
· Static testing - White box testing includes all static testing
Test coverage
White box testing methods can also be used to evaluate the completeness of a test suite that was created with black box testing methods. This allows the software team to examine parts of a system that are rarely tested and ensures that the most important function points have been tested.
Two common forms of code coverage are:
· Function coverage, which reports on functions executed
· Statement coverage, which reports on the number of lines executed to complete the test

They both return code coverage metric, measured as a percentage.

Testing levels
Unit testing
Integration testing
System integration testing
Regression testing
Acceptance testing
Alpha testing
Beta testing

Regression testing
Regression means testing “again n again”.
Regression testing focuses on finding defects after a major code change has occurred. Specifically, it seeks to uncover software regressions, or old bugs that have come back

Links to other posts


Software Development said...

Hi i like your blog so much it's really useful for me thank you very much once again

Software Development

Kamini Sharma said...


It's very nice & user-friendly blog. But you have explained only 3 types testing. Can you explain other types too.

It would be great, if you can help us in defining key points to be kept in mind while performing Manual & Automated Testing.

neetu said...

You have mentioned only 3 types. Could please provide more types too. Thanks for sharing the information. I really liked your blog.Software Testing Services

shivu said...

let me introduce my self as i shiva kumar and i searching testing jobs as fresher of experience i need info how to log the defect

Thanks u provide so much information on testing
and my mail id

thanks a lot

Nandini said...

hi this is nandini 2010 passout completed my testing course, looking for a job pls help me. my mail id is


Nandini said...

hi this is nandini 2010 passout completed my testing course, looking for a job pls help me
and i need complete manual testing tutorials pls help me. my mail id is


kishore said...

Hai i like ur information i completed MCA with testing course looking for a job my ID is
thank you said...

Read all the related Posts:

64 Software Manual Testing Interview Questions

Answers To Common Job Interview Questions

Behavioral Questions In Interviews

Questions to Ask at an Interview

Competency based Interview Questions

Read all the related Posts:

How to avoid missing defect in Software Testing?

Defect Management Process

What is the difference between a Test Strategy and Test Plan?

Beginners Guide to ETL Testing

Step by step guide from Test Case Development to Test Execution

Vimal Chauhan said...

very nice post How to install Quality centre

Cub Training said...

It was very nice article and it is very useful to Manual Testing learners.We also provide Cub training software online training.

renu said...

Hey, your post is worth to read over and thanks for sharing. I have bookmarked this post. Want to know about software testing and its services, visit here-

Rahul Sharma said...

Nice information thanks for sharing. The world wide web is surrounded by expert hackers if your website is not secured, they can easily crack your website and theft your personal business information. To come out from this situation take a help of Avyaan, a progressive website security services company in India.

Ramya k said...

Thanks for the great information in your blog Selenium Training in Chennai

sbr trainings said...

Nice one and recommanded.very clear explanation best regards from sbrtrainings

Manual testing TESTING online

Zinavo Bangalore said...

Its truly supportive for me, anticipating for all the more new post. Continue Blogging! Website Designing Bangalore | Web Design Companies

Bhavya Kumar said...

My friend Suggest me this blog and I can say this is the best blog to get the basic knowledge.Thank you so much for this Selenium Training in Chennai

Sherlin Jones said...

Software testing is the process of evaluation a software item to detect differences between given input and expected output. Also to assess the feature of A software item. Testing assesses the quality of the product. Software testing is a process that should be done during the development process. In other words software testing is a verification and validation process.
Unit Testing
Integration Testing
Functional Testing
System Testing
Stress Testing
Performance Testing
Usability Testing
Acceptance Testing
Regression Testing
Beta Testing

Google's Top Site for Selenium Training Course

Sgraph Infotech said...

Thanks for sharing such an useful information about testing course.
Manual Testing for beginners training