Black box testing
takes an external perspective of the test object to derive testcases. These tests can be functional or non-functional, though usually functional. The test designer selects valid and invalid input and determines the correctoutput. There is no knowledge of the test object's internal structure. This method of test design is applicable to all levels of
: unit,integration, functional testing, system and acceptance. The higher the level, andhence the bigger and more complex the box, the more one is forced to use blackbox testing to simplify. While this method can uncover unimplemented parts of the specification, one cannot be sure that all existent paths are tested.
is any type of software testing which seeks to uncoverregression bugs. Regression bugs occur whenever software functionality thatpreviously worked as desired, stops working or no longer works in the same waythat was previously planned. Typically regression bugs occur as an unintendedconsequence of program changes.
of regression testing include re-running previously run testsand checking whether previously fixed faults have re-emerged.
Gray Box Testing:
Grey box testing is the combination of black box and whitebox testing. Intention of this testing is to find out defects related to bad design orbad implementation of the system.In gray box testing, test engineer is equipped with the knowledge of system anddesigns test cases or test data based on system knowledge.For example, consider a hypothetical case wherein you have to test a webapplication. Functionality of this web application is very simple, you just need toenter your personal details like email and field of interest on the web form andsubmit this form. Server will get this details, and based on the field of interest picksome articles and mail it to the given email. Email validation is happening at theclient side using Java Scripts.In this case, in the absence of implementation detail, you might test web formwith valid/invalid mail IDs and different field of interests to make sure thatfunctionality is intact.But, if you know the implementation detail, you know that system is makingfollowing assumptions
Server will never get invalid mail ID
Server will never send mail to invalid ID
Server will never receive failure notification for this mail.