Wednesday, 7 August 2013
Tuesday, 6 August 2013
Black Box vs Grey Box vs White Box
Black Box testing:Specific knowledge of the application's code/internal structure and
programming knowledge in general is not required. The tester is aware of
what the software is supposed to do but is not aware of how it does it. For instance, the tester is aware that a particular input returns a certain, invariable output but is not aware of how the software produces the output in the first place.
White Box Testing: is a method of testing software that tests internal structures or workings of an application, as opposed to its functionality. White-box testing is a method of testing the application at the level of the source code
| S.N. | Black Box Testing | Grey Box Testing | White Box Testing |
|---|---|---|---|
| 1 | The Internal Workings of an application are not required to be known | Somewhat knowledge of the internal workings are known | Tester has full knowledge of the Internal workings of the application |
| 2 | Also known as closed box testing, data driven testing and functional testing | Another term for grey box testing is translucent testing as the tester has limited knowledge of the insides of the application | Also known as clear box testing, structural testing or code based testing |
| 3 | Performed by end users and also by testers and developers | Performed by end users and also by testers and developers | Normally done by testers and developers |
| 4 | Testing is based on external expectations - Internal behavior of the application is unknown | Testing is done on the basis of high level database diagrams and data flow diagrams | Internal workings are fully known and the tester can design test data accordingly |
| 5 | This is the least time consuming and exhaustive | Partly time consuming and exhaustive | The most exhaustive and time consuming type of testing |
| 6 | Not suited to algorithm testing | Not suited to algorithm testing | Suited for algorithm testing |
| 7 | This can only be done by trial and error method | Data domains and Internal boundaries can be tested, if known | Data domains and Internal boundaries can be better tested |
Thursday, 1 August 2013
Cryptographic Hash Function
A cryptographic hash function is a hash function; that is, an algorithm that takes an arbitrary block of data and returns a fixed-size bit string, the (cryptographic) hash value, such that any (accidental or intentional) change to the data will (with very high probability) change the hash value. The data to be encoded are often called the "message," and the hash value is sometimes called the message digest or simply digest.
As a minimum, it must have the following properties:
Given a hash h it should be difficult to find any message m such that h = hash(m). This concept is related to that of one-way function. Functions that lack this property are vulnerable to preimage attacks.
Given an input m1 it should be difficult to find another input m2 such that m1 ≠ m2 and hash(m1) = hash(m2). Functions that lack this property are vulnerable to second-preimage attacks.
It should be difficult to find two different messages m1 and m2 such that hash(m1) = hash(m2). Such a pair is called a cryptographic hash collision. This property is sometimes referred to as strong collision resistance. It requires a hash value at least twice as long as that required for preimage-resistance; otherwise collisions may be found by a birthday attack.
As a minimum, it must have the following properties:
- Pre-image resistance
Given a hash h it should be difficult to find any message m such that h = hash(m). This concept is related to that of one-way function. Functions that lack this property are vulnerable to preimage attacks.
- Second pre-image resistance
Given an input m1 it should be difficult to find another input m2 such that m1 ≠ m2 and hash(m1) = hash(m2). Functions that lack this property are vulnerable to second-preimage attacks.
- Collision resistance
It should be difficult to find two different messages m1 and m2 such that hash(m1) = hash(m2). Such a pair is called a cryptographic hash collision. This property is sometimes referred to as strong collision resistance. It requires a hash value at least twice as long as that required for preimage-resistance; otherwise collisions may be found by a birthday attack.
Subscribe to:
Posts (Atom)