In this article, we will throw some light on some of the very basic terms of Testing, to learn and work over any technology or tool. One must know about each and every concept and basic terms of that technology. With testing, let's start with the Test case.
Test Case
A Test Case is a set of conditions or variables under which any tester checks that the software he is testing is working correctly or not.
A test case can be categorized into two classes:
- Formal Test case
- Informal Test Case
Formal Test case
Okay, what a formal test case says is that if we want to test that all the requirements of the application is accomplished then there must be at least two test cases for each requirement; Positive and Negative.
If a requirement has sub-requirements then it is necessary that these sub-requirements must also have two test cases. In formal Test cases, we give input input and the output we obtained is compared with the expected output. This is the formal way of testing any application.
Informal Test case
In the case of informal test cases, we generally use that case which have written for the program which belongs to the similar class of the program which is under test.
There is an another type of testing which is called Scenario Testing. In scenario testing, testers use hypothetical stories to resolve the complex problems of a test system. These tests are not like test cases actually because test cases are usually single step but scenario testing always covers n number of steps.
Test Case Format
In any test case, the expected result or output is provided which can be compared by the resultant output we obtain during test.
Except all these things may also contain its identification, category of test, order of execution of test steps with the whole description of the test case. It also contains checkboxes to show the status like whether the test has already automated or it still needs to be automated.
Unit Testing
In Unit Testing, we test small units of source code. This type of testing is generally produced by white box testers. Unit Testing is very useful as testing the smallest unit of any source codes improves its chances to detect bugs easily as compared to testing the whole code at one time.
What we do, is we just break the complete source into many unbreakable pieces.
Each piece is now isolated to another piece (although all are the part of the same source code). Unit testing has its disadvantages also; one of them is that it is not able to catch higher level errors.
Also using Unit Testing after integrating two units would not be a wiser idea as it can lead to lots of confusion during testing because if we find any flaw or bug in integrated units you are not able to find that between the two units when one has that bug.
Also it can be the bug which exists in the interfacing of two. So it is also an another drawback of Unit Testing but still it is considered as a very useful tool for testing.
While we do unit testing, first we should write a set of functional tests. And we should always focus on one component at a time. What we need to take care of that our tests should be effective plus we should try to use a minimum code.
Although using so much of coding is nowhere restricted but to make our code smart we should try to do the least amount of coding that it is supportive of conducting an effective test. If we are talking about Unit Testing then we can also bring the case of concurrent code.
Unit Tests require separation of the instantiation of the object graph from the business logic under test.
Resources
Basics of Manual testing
Basics of Software testing