Monday, 31 March 2014

Comparison of White Box Testing , Black Box Testing and Grey Box Testing:


1) White Box Testing Technique:
                   It is the detailed investigation of internal logic and structure of the code. In white box testing it is necessary for a tester to have full knowledge of source code.
2) Black Box Testing Technique: 
                  It is a technique of testing without having any knowledge of the internal working of the application. It only examines the fundamental aspects of the system and has no or little relevance with the internal logical structure of the system.
3) Grey Box Testing Technique:
                 White box + Black box = Grey box , it is a technique to test the application with limited knowledge of the internal working of an application and also has the knowledge of fundamental aspects of the system. 


Black Box Testing
Grey Box Testing
White Box Testing
Analyses fundamental aspects only i.e. no proved edge of internal working
Partial knowledge of internal working
Full knowledge of internal working
Granularity is low
Granularity is medium
Granularity is high
Performed by end users and also by tester and developers (user acceptance testing)
Performed by end users and also by tester and developers (user acceptance testing)
It is performed by developers and testers
Testing is based on external exceptions – internal behavior of the program is ignored
Test design is based on high level database diagrams, data flow diagrams, internal states, knowledge of algorithm and architecture
Internal are fully known
It is least exhaustive and time consuming
It is somewhere in between
Potentially most exhaustive and time consuming
It can test only by trial and error method
Data domains and internal boundaries can be tested and over flow.
Test better: data domains and internal boundaries









Friday, 28 March 2014

Structural white box testing


=>Structural testing

Testing take into account the code, code structure, internal design and how they are coded.
Commonly used techniques for structural testing are:

1. Control Flow/Coverage Testing
a. Statement coverage
b. Branch coverage
c. Decision/Condition Coverage
d. Function Coverage

2. Basis Path Testing
a. Flow Graph Notation
b. Cyclomatic Complexity
c. Deriving Test Cases
d. Graph Matrices

3. Loop Testing
a. Simple Loops
b. Nested loops
c. Concatenated loops
d. Unstructured loop

Static white box testing:



=>Code walkthrough 
This testing is also known as technical code walkthrough, in this testing process a group of technical
people go through the code. This is one type of semi-formal review technique. In Code walkthrough process a high level employees involved such as technical leads, database administrators and one or more peers. The people who involved in this technical code walkthrough they raise questions on code to author, in this process author explains the logic and if there is any mistake in the logic, the code is corrected immediately.

Advantages of Code walkthrough:
The main advantage of code walkthrough is that as a group of technical leads who have experience in programming look through the code, so the defects that are related to database or code can be easily identified. More over this process aid to ensure that program follows the proper coding standards.

Black Box Testing Advantages:


The main advantage of black box testing is that, testers no need to have knowledge on specific
programming language, not only programming language but also knowledge on implementation. In
black box testing both programmers and testers are independent of each other. Another advantage is that testing is done from user’s point of view. The significant advantage of black box testing is that it helps to expose any ambiguities or inconsistencies in the requirements specifications.

Functional Testing and Structural Testing:

Functional Testing: the software program or system under test is observed as a “black box”. The
choice of test cases for functional testing is based on the requirement or design specification of the
software entity under test. Examples of expected results sometimes are called test oracles, include
requirement/design specifications, hand calculated values, and simulated results. Functional testing
mainly focus on external behaviour of the software entity.

Structural Testing: the software entity is viewed as a “white box”. The selection of test cases is
based on the implementation of the software entity. The goal of selecting such test cases is to cause
the execution of specific spots in the software entity, such as specific statements, program branches or paths. The expected results are evaluated on a set of coverage criteria. Examples of coverage criteria include path coverage, branch coverage, and data-flow coverage. Structural testing highlights on the internal structure of the software entity.

Software Testing "The Testing Spectrum"

The Testing Spectrum:

Software testing is involved in each stage of software life cycle, but the way of testing conducted at
each stage of software development is different in nature and it has different objectives.
Unit testing is a code based testing which is performed by developers, this testing is mainly done to
test each and individual units separately. This unit testing can be done for small units of code or
generally no larger than a class.

Integration testing validates that two or more units or other integrations work together properly, andinclines to focus on the interfaces specified in low-level design.

System testing reveals that the system works end-to-end in a production-like location to provide thebusiness functions specified in the high-level design.

Acceptance testing is conducted by business owners, the purpose of acceptance testing is to test
whether the system does in fact, meet their business requirements.

Regression Testing is the testing of software after changes has been made; this testing is done to
make sure that the reliability of each software release, testing after changes has been made to ensure that changes did not introduce any new errors into the system.

Alpha Testing Usually in the existence of the developer at the developer’s site will be done.
Beta Testing Done at the customer’s site with no developer in site.

Functional Testing is done for a finished application; this testing is to verify that it provides all of the behaviors required of it.

Distance-Vector vs. Link-State Protocols

Another way to classify dynamic routing protocols is by what the routers tell each other, and how they use the information to form their routing tables. Most protocols fit into one of two categories.
The first of these categories is distance-vector protocols. In a distance-vector protocol, a router periodically sends all of its neighbor’s two pieces of information about the destinations it knows how to reach. First, the router tells its neighbors how far away it thinks the destination is; second, it tells its neighbors what direction (or vector) to use to get to the destination.
 This direction indicates the next hop that a listener should use to reach the destination, and typically takes the form "send it to me, I know how to get there." For example, RIP route updates simply list a set of destinations that the announcing router knows how to reach, and how far away it thinks each destination is. The receiver infers that the next hop to use is the announcing router. However, an update can also take the form "send it to this other router who knows how to get there." This second form is usually used only when the router that should be used to reach the destination cannot (or will not) speak the routing protocol being used by the other routers. Not all routing protocols support this form of third-party route update.
The other part of the protocol, the distance, is where distance-vector protocols differ. In each case, the protocol uses some metric to tell the receiving routers how far away the destination is. This metric may be a true attempt at measuring distance (perhaps using a periodic measure of the round trip time to the destination), something that approximates distance (such as hop count), or it may not measure distance at all.
Instead, it may attempt to measure the cost of the path to the destination. It may even involve a complex computation that takes into account factors like network load, link bandwidth, link delay, or any other measure of the desirability of a route. Finally, it may include an administrative weight that is set by a network administrator to try to cause one path to be preferred over another.



Wednesday, 26 March 2014

Image Enhancement and Image Analysis Techniques



CONTRAST STRETCHING It is also called as normalization. The simple image enhancement technique that improves the contrast in an image by “stretching” the range of intensity values that it contains to span a desired range of values is contrast stretching.

NOISE FILTERING When we want to remove the unwanted information or things from an image then this technique is used. This technique is also used to remove different types of noises from an image. This technique is interactive. Low pass, high pass, mean, median etc different filters are available. 
Histogram equalization It is a nonlinear stretch that redistributes pixel values so that there is approximately the same number of pixels with each value within a range. The result approximates a flat histogram. Therefore, contrast is increased at the peaks and lessened at the tails.

Tuesday, 25 March 2014

Software Testing:

Software testing is used to evaluate the correctness, completeness and quality of developed computer software. There are two main approaches of software testing. One is white-box testing and the other is black box testing. White-box testing method is used for logical and analytic test in unit test level. Meanwhile black-box testing is used in integration level or system level because black-box test does not need to look into source code but just need to execute a system by using input data and output result.

Even if we select a testing method among black-box testing methods, the test result will be different because the technique specifying requirements and the method extracting test data are different in spite of the same black-box style. If we don’t apply a proper test method for black-box testing, we can’t trust the test result and it produces enormous loss due to a waste of time, manpower and money. Accordingly we need the various comparative studies of test techniques to apply properly in the testing field.
 

Friday, 21 March 2014

Image processing Techniques



In image processing there exist number of techniques. To improve the view of image and remove the unwanted things from the images thses techniques are applied.
The techniques of image processing are as follow:
·         Image representation
·         Image preprocessing
·         Image enhancement
·         Image restoration
·         Image analysis
·         Image reconstruction
·         Image data compression