Thursday, April 26, 2012
Explain Test plan, Test Strategy and Test Scenario?
Posted by
Sunflower
at
4/26/2012 01:52:00 PM
0
comments
Labels: Application, Approach, Complex, Components, Criterion, Development, Entry, Exit, Outline, Requirements, Software testing, Specifications, Tasks, Test Plan, Test Scenario, Test Strategy, Testers, Tests, Work flow
|
| Subscribe by Email |
|
Saturday, April 14, 2012
What are the advantages and limitations of a mock object?
Mock objects are nowadays quite popular with the testers. The mock objects are now being used widely for conducting unit testing and also in many software development processes like the test driven development.
- The mock objects are known for their mimicking behaviour of the other non mock or original objects for which they have been created.
- The mock objects are used under the context of the object oriented programming.
- They are nothing but the fake objects that are simulated in a way as to mimic the behavior of the real objects in a way that is properly controlled and defined.
- The behavior of most of the non mock or real objects is tested against the behavior of a mock object.
- You can compare the mock object with a crash test dummy that is used by the car designers to the impact of the vehicle on the human body.
Reasons for Use
Few of them have been mentioned below:
1. The real object provides non deterministic result like current temperature and time.
2. The real object has the states that cannot be easily recreated or reproduced such as a network error.
3. The real object is quite slow such as a data base that needs initializing before the commencing of the test.
4. The real object does not exist currently.
5. The real object tends to change its behaviour.
6. The real object is to include the information for the testing purposes.
Advantages of Mock Object
- One of the characteristic of the mock objects is that they possess the same interface as that of the real objects that they mimic.
- With such an arrangement the client stays unaware of whether he is using the real object or the mock object.
- With the use of mock objects it becomes easy for the programmer to specify which and all methods will be invoked and in what order and it can also be specified which parameters are to be passed to the mock objects.
- All this is done by using the mock object frame works.
- The mock objects can even mimic the behaviour of the complex objects, for example the network socket.
- The use of mock objects can help the programmer in various ways.
- The programmer can determine whether the object that is under test responds well to the variety of situations it is put in works properly or not.
Limitations of Mock Object
- Use of mock objects can lead to close coupling of the several unit tests similar to that in the actual implementation of the code that is under testing.
- If a programmer is using the mock object frame work, the order of and number of times the mock methods are to be invoked on a mock object can be specified.
- If the code is subsequently refactored, it may fail even though the contract of the previous implementation is followed in the method.
- The unit tests are known to test only the external behaviour of the mock methods rather than testing its internal implementation.
- Therefore, maintenance needed for the tests increases if there is an overuse of the mock objects.
- Mock objects need to model the real objects perfectly well which becomes difficult if the real object has not been written yet.
Posted by
Sunflower
at
4/14/2012 12:19:00 PM
0
comments
Labels: Advantages, Behavior, Characteristics, Code, Complex, Dummy, Limitations, Methods, Mock objects, Objects, OOP, Programmer, Re-factoring, Simulate, Software testing, Testers, Tests, Unit Testing
|
| Subscribe by Email |
|
Tuesday, March 20, 2012
How is password cracking done?
Password as we all know is some secret string of some characters that is typically used for the authentication purpose and as a means of identity proof.
WHAT IS PASSWORD?
- Password is way through which you access your some accounts and resources.
- A password is not meant for the other except the account holder.
- Passwords have been in use since ancient history and of course the password theft or cracking also!
- Nowadays passwords are more known for their use in the log in process to various systems like an operated system, ATMs, cell phones, email accounts and so on.
- It is not necessary that a password should be some meaningful word; rather it can be anything silly that is probably difficult to be guessed by the others.
- There are many types of passwords like passphrase (password formed by more than one word), PIN (personal identification number, numerical password).
- Passwords are again very much vulnerable since they are not as secure as their cryptographic counterparts i.e., protocols.
- These days password theft, password spoofing etc is quite common.
FACTORS AFFECTING THE SECURITY OF PASSWORD
Before we explain to how a password is cracked, you should know what all the factors affect the security of a password.
- Any password protected system is provided protection against the viruses, Trojans etc.
- Physical security measures like shoulder surfing are also implemented.
- Many a times less extreme measures are also used like:
1. Side channel attack
2. Extortion and
3. Rubber hose cryptanalysis
HOW SECURITY OF PASSWORD PROTECTED SYSTEM IS DETERMINED?
- The security of a password protected system is often determined by the rate at which the attacker or hacker can guess the password.
- To overcome this threat a “time out” of a few seconds can be implemented or a fixed number of chances should be given to type in the correct password.
- Many of the computer systems are now implementing these techniques.
- In some systems the cryptographic hash of the password gets stored which makes the password accessible to an attacker.
- The attacker can obtain the actual password from this hash password value.
- Passwords with high guessing rates are commonly used for cryptographic keys generation process.
HOW PASSWORD CRACKING IS DONE?
- Password cracking is recovering of the passwords from the stored or transmitted data in a computer system.
- There are many approaches developed to crack a password:
1. Guessing
This is perhaps the most common approach and does not require any special skills.
2. Changing the password
This method is second on the list of password cracking methodologies. When a user forgets his/ her password, the system allows the changing of the password following an authentication process.
3. Brute force cracking
This type of cracking involves trying every possible password till the right one is achieved.
4. Dictionary attacks
This method is also very much common and involves trying of the candidate passwords using a cracking dictionary.
5. Pattern checking
6. Word list substitution
PURPOSE FOR PASSWORD CRACKING
- The purpose for the cracking of password can be a positive one, for example, the user of a particular account might have forgotten his password and could not access his account.
- The purpose for the cracking of password can be negative one i.e., for gaining unauthorized access to a computer system, mischief purposes etc.
Time taken to crack a password is directly proportional to the strength of its character set or bits.
- The complex a password, the longer it will take to crack it.
- In some password cracking processes, the system is made to generate the similar types of passwords.
- Such passwords are called candidate passwords.
- Password cracking rate depends on the availability of the hash and the limitations of the software authentication.
Posted by
Sunflower
at
3/20/2012 03:00:00 AM
0
comments
Labels: Approach, Attacker, attacks, Authentication, Complex, Crack, Factors, hacker, Identity, Negative, Password, Password cracking, Positive, Protection, Recover, Security, Store, Time, Transmit, Virus
|
| Subscribe by Email |
|
Wednesday, March 14, 2012
What are major activities in database testing?
Before going to the main topic i.e., the major activities that are carried out in data base testing, we will first have an insight on what is data base testing actually.
WHAT IS DATABASE TESTING?
- Data base testing as it suggests itself, it is the testing of the data or values retrieved from the data base of that software system or application under testing.
- The retrieved data should match exactly with the data mentioned in the records of the data base.
- Data base testing is not an easy thing to carry out.
- It calls for a great need of expertise in reading the data base record tables, writing procedures and queries for the data base.
- Data base testing works well with all sorts of application softwares be it any application written either in SQL or Oracle languages.
- But normally, data base testing finds it way in the testing of applications that work with all sorts of sensitive data like finance, banking or health insurances etc.
- Such applications require extensive data base testing since any error in the retrieved data can cause the users lot to suffer.
MAJOR ACTIVITIES OF DATABASE TESTING
Now we are going to discuss about the working of the data base testing or what all are the major activities taking place in a data base testing.
- A lot of understanding and knowledge of the software system or application under the testing is required i.e., the tester needs to know all about the type of data base being used by the software system or application.
- All the existing data tables in the application data base are figured out.
- All the possible queries are written for the figured out tables to be executed.
- All the tables are tested individually for the verification and validation of the data contained in them.
- For complex data bases the queries are obtained from the developer and the functionalities are tested.
- The data base of a software system or application is indeed its back bone and needs to be tested thoroughly.
- In a data base testing not only the data base undergoes testing, but also the features and functionality of the software system or application.
- As if this is not enough, all the actions taking place like deletion or addition are also tested.
- The added values or data are checked against the records of the data base i.e., whether or not they are exactly same.
- The deleted is checked for whether or not it has been really deleted from the data base.
- Every action being performed is tested for its efficiency as it will affect the overall well being of the data base.
- These days with the introduction of the business logic, the data bases have become more complex.
- Though the business logic makes the whole data base complex in nature, it cannot be neglected since it plays a very crucial role in the implementation of the applications.
- After the implementation of the business rules or logic, the data base values are again checked for their correctness.
- The coupling of the data bases to the libraries also poses a problem for the data base testing besides the following:
1. Data base schemas
2. Data base tables
3. Verification of the data base after every execution of test cases.
4. Cleaning up of the data base for every new test case execution.
5. Carrying out the whole data base testing manually is absolutely impossible or perhaps a nightmare.
6. Writing short test codes that are easy to understand.
One needs to carry out data base testing very carefully and with understanding since any faltering can disrupt the whole testing process.
Posted by
Sunflower
at
3/14/2012 11:17:00 PM
0
comments
Labels: activities, Addition, Application, Complex, Data, Database, Database Testing, Defects, Delete, Deletion, Errors, Features, Functionality, Queries, Records, Software testing, SQL, Tables, Tester, Tests
|
| Subscribe by Email |
|
Tuesday, February 21, 2012
What is meant by application testing cycle?
An application testing cycle states what all the activities are to be carried out in the testing. Although different organizations might be following different procedures or test plans for testing the software applications, they all follow the same application testing cycle. They draft their plans based on a common testing cycle. This is basically done to maintain the standards of testing.
APPLICATION TESTING CYCLE
The application testing cycle that we are going to discuss here is a typical test cycle for the organizations that base their application’s development on water fall model.
1. Analysis of Requirements
- Since this is the first phase in the development cycle of an application, the testing should begin from here itself.
- After the identification of the requirements of the application, the testers and developers together determine what all the requirements should be tested.
2. Drawing up the Test Plan
- The whole testing is planned and it includes the test plan, the test strategy and test environment creation.
- Testing is a very complex process.
- Therefore a plan is needed so that there is no messing around.
- The test plans are usually of a high level.
3. Development of Test
- A procedure for carrying out the test is designed.
- Other things like test cases, test scenarios, test scripts and test input data are also made ready.
- This phase also includes the verification of the test cases.
- The automated test cases are scripted.
- This phase is commonly called as the construction and the verification phase.
4. Execution of the Test
- The test cases are executed by the tester as per the test plan and any error or bug found is reported and documented at the same time.
5. Reporting of Test
- A final report on the carried out test is prepared which contains all the observations made and also the testing details.
- This report is submitted to the development team.
6. Analysis of the Test Results
- The results of the test are then analyzed by the whole development team in the presence of the client.
- The client and the development team together decide which issues are to be resolved and which are to be rejected.
- Risks to the application are identified and a risk assessment is prepared.
- Features and functionalities of the application software are validated.
7. Retesting of the Defects
- After resolving all the issues stated by the client, they are once again reviewed by the development if in case they have caused some other bug.
- This is commonly called as resolution testing.
8. Regression Testing/Final Testing
- This is the last but one phase of the application testing cycle and very important.
- This testing is done after making all the major as well as minor fixes in the application in order to ensure that the application is still working properly.
- If any changes are made to the application, at the same time the documentation is also updated.
- The verification of the application is done under the production conditions.
- Metrics of the test efforts are also prepared in this phase.
9. Closure of the Test
- As we know that for every test exit criteria is defined.
- When the test meets these criteria the testing is declared close and all the reports and documentations are archived.
- These archived reports are used for future reference.
- A line of attack is identified and used to prevent such similar bugs and errors in the future applications.
- The whole testing process is evaluated and ways are sort to make it better.
- The test environment is cleaned up and the restoring of all the testing machines and tools to the baseline is also done.
Posted by
Sunflower
at
2/21/2012 01:30:00 PM
0
comments
Labels: activities, Application, Application testing, Application testing cycle, Complex, Cycle, Defects, Design, Development, Efforts, Errors, Phases, Requirements, Strategy, Test Cycles, Test Plan
|
| Subscribe by Email |
|
Saturday, January 14, 2012
What are different principles of communication?
Effective communication forms the most important part of the human interaction. Its importance can be hardly over looked. Each and every individual who forms a part of a team ought to know the principles of effetive communication in order to work and talk with the rest of the members of the organization and be listened to.
Here communication principles have been explained from different view poiints including litening and speaking.
Communication as we all know is a 2- way process of giving and receiving information through any channel.
The following basic principles apply everywhere irrespective of who the speaker or the listener are:
- Know your topic
- Know your purpose
- Know your audience
- Anticipate objections
- Present a clear picture
- Follow through on what you say in regard to your topic.
- Achieve credibility with your audience.
- Present what you want to say in different catchy ways
- Communicate a little at a time
- Develop a practical way to get feedback from your audience
- Use multiple and effective communication techniques
Communication is a complex process and sometimes even our own thoughts and opinions prove to be a major barrier in the way of effective communication.
Communication between different team members can be influenced by various environmental factors that actually don’t have anything to do with the content of the message.
Some of those factors have been listed below:
- Nature of the place or the room i.e., how cold or warm it is etc.
- Distractions like what is going on at that place.
- Reputation of the speaker.
- Appearance or the personality of the speaker.
- Knowledge of the listener about the topic.
- Language used.
According to a research, people remember most of what they hear and see rather reading or only seeing. To deal effectively with the decision makers, it is important to know and understand their opinions and interests.
Asking following questions will prove to be a great help:
- Whom to persuade?
- Who will make decisions about the change?
- What are the past experiences of the decision makers?
- What is current attitude of the decision maker?
- What is the most effective way to approach decision maker?
- What are the work styles of other team members?
- What programs will the new decision improve?
- How will the decision benefit the decision maker?
While making a formal presentation to the rest of the organization, the following principles hold good:
- Do not over state your case.
- Make appropriate use of understatement.
- Persuasion should be clear and simple.
- Be ready to back up facts or claims.
- Incorporate most anticipated objections.
- Use visuals aids appropriately.
- Try to find out what the other members think about your opinion.
Importance of Idea
- A good idea must always be recognized.
- The idea should be sold to those who can use it effectively.
- Organization must be convinced that the idea has enough merit to be acted upon. - Getting and giving feedback is also another important part of the communication process.
- Be patient and listen to the complete message.
- Don’t ever prejudge the incoming message.
- It’s well said that if you listen then you will be the most listened to!
- Good listeners demonstrate alertness.
- Always keep your attention directed towards the message and judge the content of the message.
- Distractions seriously impair listening.
- Always think critically and efficiently.
- Message should be conveyed in such a way that it discourages rejection and encourages retention.
Posted by
Sunflower
at
1/14/2012 02:17:00 PM
0
comments
Labels: 2-way process, Affect, Communication, Complex, Content, Effective, Environmental, Factors, Feedback, Ideas, Importance, Listen, Message, Nature, Opinions, Organization, Principles, Speak
|
| Subscribe by Email |
|
Thursday, October 6, 2011
Some details about Pointers in C...
There was a need for a kind of variable that could store the address of another variable, so that the value of he variable could be directly accessed through its memory address and could be manipulated more easily and in a short span of time. The “pointer” is such a variable invented. It can be defined as a variable which stores the address of another variable. A pointer can be declared easily as shown below:
int *ptr1;
The “int” keyword is used to tell compiler that the pointer “ptr1” will store the memory address of an integer type variable. The symbol “*” called asterisk is used to tell the compiler that the variable “ptr1” is actually a pointer and that it will store the address of the variable it is pointing to irrespective of the bytes it will require to store the memory address. The pointer “ptr1” is said to point to an integer variable. N the above declaration we didn’t provide ptr1 with a value i.e., it’s empty now. If the declaration is made outside the function, the pointer “ptr1” will be initialized to a value that will not point to any of the variables or objects in a C program. Pointers initialized in this manner are said to have a null value or are called as “null” pointers. Null pointers are very useful in many of the C programs as they prevent system crash. A null pointer is implemented using a macro. The macro used is called “NULL” macro. If you set the value of a pointer using the above mentioned macro through an assignment statement as shown below:
Ptr1 = NULL;
It is assured that the pointer is now having a null value or it has become a null pointer. A null pointer can be tested using the below given statement
if (ptr 1== NULL);
Now suppose we want to store the address of an integer a in the above declared pointer “ptr1”, we will use the following statement:
ptr1 = &a;
Before proceeding further, we should now that a pointer has two values attached to it. One is the “l value” and the other one is the “r value”. L value is where the address of the variable pointed to is stored. R value stores the value of that variable. Now, the function of the “&” operator is to retrieve this l value of the variable a. the assignment operator copies the address of the variable a to the pointer “ptr1”. Now the pointer “ptr1” is said to point to variable “a”.
The “*” operator is also called the dereferencing operator and is used for de-referencing as follows:
*ptr 1 = 10;
The above statement will copy the value “10” to the address of variable a pointed to by the pointer “ptr1”. The above assignment statement can be written in another way as shown below:
Printf ( “ % d \n ”, *ptr1 );
The above statement will also print the value stored in the pointer on the screen as output.
Pointers are very much essential nowadays in programs. They solve basically two problems avoiding many other problems that may follow. First problem that they solve is that they make it easy to share information and data through and from the different sections of the memory. Secondly, they solve the problem of having complex structures. They make it easy to have linked data structures namely linked lists and queues and also binary trees. Pointers reduce the complexity of the program and there are many things that one can do using only pointers. Pointers are by no doubt a powerful C construct.
Posted by
Sunflower
at
10/06/2011 06:17:00 PM
0
comments
Labels: C, C Language, Compiler, Complex, Complexity, Data, Functions, Memory, Objects, Pointers, Points, Programs, Storage, Structures, Values, Variables
|
| Subscribe by Email |
|
Wednesday, January 12, 2011
Model Driven Architecture (MDA) - Advantages and MDA Process
The MDA is a new way of writing specifications, based on a platform-independent
model.
Why should we use Model Driven Architecture
- Portability
- Interoperability
- Domain facilities provide much wider interoperability.
- MDA allows to model the functionality and behavior only once, therefore saves a lot of time.
- Requirements are always changing.
- New technology is arising.
- Require to integrate old system with new system, and any other system in future.
- MDA makes it easier to integrate applications and facilities across middle-ware boundaries.
Model Driven Architecture Process
THE BASIC PROCESS
- To construct a MDA application, the first step is to create a computation independent model(CIM) by a business analyst.
- The CIM is transformed into platform independent model(PIM) by enterprise architect.
- The resulting PIM has to be targeted to a platform to complete the build process.
- The transformation of a PIM to a PSM will be done by a platform specialist.
THE COMPLEX PROCESS
The process from computation independent model to platform specific model can be a bit more complex.
- Between the models, there can be some gaps present which makes transformation difficult.
- As a result, you can have interrelated models having different layers of abstraction.
- One consequence is that a single layer of abstraction can have horizontal transformations. Consider the example where a PIM is converted multiple times into more detailed PIMs. And there are vertical transformations in addition to vertical transformation of models.
Posted by
Sunflower
at
1/12/2011 09:02:00 PM
0
comments
Labels: Complex, Details, Development, Focus areas, Goals, Independent, MDA, Model Driven Architecture, Organization, Platforms, Portable, Simple Process, Software, Specific, Specification, Structure
|
| Subscribe by Email |
|