Software Testing:-
It is the process used to help identify the correctness, completeness, security and quality of developed computer software.
Basically testing is of two types say black box and white box
Black box testing:-
Black box being an external view of the test object.
Types of black box testing
I)functional testing:- In this type of testing, the software is tested for the functional requirements. The tests are written in order to check if the application behaves as expected. Although functional testing is often done toward the end of the development cycle, it can and should, be started much earlier. Individual components and processes can be tested early on, even before it's possible to do functional testing on the entire system. Functional testing covers how well the system executes the functions it is supposed to execute including user commands, data manipulation, searches and business processes, user screens, and integrations. Functional testing covers the obvious surface type of functions, as well as the back-end operations (such as security and how upgrades affect the system).
II)Stress testing:- Stress test is repeated until a level of stress is reached that is higher than expected to be present at a customer site. Race conditions and memory leaks are often found under stress testing.
III) Load testing :- Load testing does not aim to break the system by overwhelming it, but instead tries to keep the system constantly humming like a well-oiled machine.
IV) Ad-hoc:-This type of testing is done without any formal Test Plan.
V)Exploratory testing:- This testing is similar to the ad-hoc testing and is done in order to learn/explore the application. Yet it doesn't get much respect in our field. It can be considered as “Scientific Thinking” at real time
VI)Usability testing:- This testing is also called as ‘Testing for User-Friendliness’. This testing is done if User Interface of the application stands an important consideration and needs to be specific for the specific type of user.
VII) Smoke test:- This type of testing is also called sanity testing and is done in order to check if the application is ready for further major testing.
VIII)Recovery test:- Recovery testing is basically done in order to check how fast and better the application can recover against any type of crash or hardware failure etc.
IX)Volume test:- Volume testing is done against the efficiency of the application. Huge amount of data is processed through the application (which is being tested) in order to check the extreme limitations of the system.
X)Domain test:- Domain testing is the most frequently described test technique. Some authors write only about domain testing when they write about test design. The basic notion is that you take the huge space of possible tests of an individual variable and subdivide it into subsets that are (in some way) equivalent. Then you test a representative from each subset.
XI)Scenario test:- Scenario tests are realistic, credible and motivating to stakeholders, challenging for the program and easy to evaluate for the tester. They provide meaningful combinations of functions and variables rather than the more artificial combinations you get with domain testing or combinatorial test design.
XII)Regression test:- Regression testing is a style of testing that focuses on retesting after changes are made. In traditional regression testing, we reuse the same tests (the regression tests). In risk-oriented regression testing, we test the same areas as before, but we use different (increasingly complex) tests. Traditional regression tests are often partially automated. These note focus on traditional regression.
XIII) User acceptance test:- In this type of testing, the software is handed over to the user in order to find out if the software meets the user expectations and works as it is expected to. In software development, user acceptance testing (UAT) - also called beta testing.
XIV)Alpha test:- In this type of testing, the users are invited at the development center where they use the application and the developers note every particular input or action carried out by the user. Any type of abnormal behavior of the system is noted and rectified by the developers.
White box testing:-
white box being an internal view
I)Unit testing:-The developer carries out unit testing in order to check if the particular module or unit of code is working fine. The Unit Testing comes at the very basic level as it is carried out as and when the unit of the code is developed or a particular functionality is built. Unit testing deals with testing a unit as a whole.
II)Static and dynamic analysis:- Static analysis involves going through the code in order to find out any possible defect in the code. Dynamic analysis involves executing the code and analyzing the output.
III)Statement coverage:- In this type of testing the code is executed in such a manner that every statement of the application is executed at least once. It helps in assuring that all the statements execute without any side effect.
IV)Branch coverage:- No software application can be written in a continuous mode of coding, at some point we need to branch out the code in order to perform a particular functionality. Branch coverage testing helps in validating of all the branches in the code and making sure that no branching leads to abnormal behavior of the application.
V)Security testing:- Security testing is carried out in order to find out how well the system can protect itself from unauthorized access, hacking – cracking, any code damage etc. which deals with the code of application. This type of testing needs sophisticated testing techniques.
VI)Mutation testing:- A kind of testing in which, the application is tested for the code that was modified after fixing a particular bug/defect. It also helps in finding out which code and which strategy of coding can help in developing the functionality effectively.
Source and reference
Tuesday, May 25, 2010
Testing and types of testing
Thursday, May 13, 2010
Interactive map of linux
http://www.makelinux.net/kernel_map?src=ldd3
Friday, April 30, 2010
Installation and usage of netperf
As name implies netperf is used to estimate network performance in various respects using tcp and udp. There is lot of help available in net, just do a simple search is enough.
What ever iam providing here is a simple installation procedure and a small examples.
$wget ftp://ftp.netperf.org/netperf/netperf-2.4.5.tar.bz2
$./configuration
$make
$su
#make install
There is a latest version is availabel but i got some issues after installation and went back to this version insted of debugging. (Lack of time).
For simple test run
#netserver
This will run netperf server, this first time run at local machine.
Now run
#netperf
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to localhost.localdomain (127.0.0.1) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.01 3684.63
Now these are the statistics when server and client are running on same machine.
Lets try on remote machine(192.168.2.190).
[root@remote net]#netserver
Starting netserver at port 12865
Starting netserver at hostname 0.0.0.0 port 12865 and family AF_UNSPEC
Now server is ready and starting client at local machien is required.
[root@localhost net]# netperf -H 192.168.2.196
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.2.196 (192.168.2.196) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.23 94.15
Oh!! throughput 94.15 ofcource expected value will be less compared to localhost.
There is lot of options available with this.
What ever iam providing here is a simple installation procedure and a small examples.
$wget ftp://ftp.netperf.org/netperf/netperf-2.4.5.tar.bz2
$./configuration
$make
$su
#make install
There is a latest version is availabel but i got some issues after installation and went back to this version insted of debugging. (Lack of time).
For simple test run
#netserver
This will run netperf server, this first time run at local machine.
Now run
#netperf
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to localhost.localdomain (127.0.0.1) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.01 3684.63
Now these are the statistics when server and client are running on same machine.
Lets try on remote machine(192.168.2.190).
[root@remote net]#netserver
Starting netserver at port 12865
Starting netserver at hostname 0.0.0.0 port 12865 and family AF_UNSPEC
Now server is ready and starting client at local machien is required.
[root@localhost net]# netperf -H 192.168.2.196
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.2.196 (192.168.2.196) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.23 94.15
Oh!! throughput 94.15 ofcource expected value will be less compared to localhost.
There is lot of options available with this.
Saturday, March 6, 2010
Dead Donkey.. Nice one...
The Dead Donkey!!
City boy, Raj, moved to the village and bought a donkey from an old farmer for Rs.1000. The farmer agreed to deliver the donkey the next day.
The next day the farmer drove up and said, "Sorry Raj-ji, but I have some bad news. The donkey died while I was bringing him here."
Raj replied: "Well then, just give me my money back."
The farmer said: "Can't do that either. I went and spent it already."
Raj said: "OK then, just unload the donkey."
The farmer asked: "What you are going to do with a dead donkey?!"
Raj: "I'm going to raffle him off." (Note: Raffle is like lottery - a group of people draw lots each paying the same amount for a ticket and there is a big prize for the people who win.)
Farmer: "You can't raffle off a dead donkey!"
Raj: "Sure I can. Watch me. I just won't tell anybody he's dead."
A month later the farmer met up with Raj and asked, "What happened with that dead donkey?"
Raj: "I raffled him off. I sold 500 tickets at Rs.10 each and made a profit of Rs.4990 with the donkey worth Rs.1000 as the prize."
Farmer: "Didn't anyone complain?"
Raj: "Just the guy who won. So I gave him back his Rs.10"
Moral of the story - No situation is so bad that it cannot be turned around. You need to just think hard, sorry! smart .
City boy, Raj, moved to the village and bought a donkey from an old farmer for Rs.1000. The farmer agreed to deliver the donkey the next day.
The next day the farmer drove up and said, "Sorry Raj-ji, but I have some bad news. The donkey died while I was bringing him here."
Raj replied: "Well then, just give me my money back."
The farmer said: "Can't do that either. I went and spent it already."
Raj said: "OK then, just unload the donkey."
The farmer asked: "What you are going to do with a dead donkey?!"
Raj: "I'm going to raffle him off." (Note: Raffle is like lottery - a group of people draw lots each paying the same amount for a ticket and there is a big prize for the people who win.)
Farmer: "You can't raffle off a dead donkey!"
Raj: "Sure I can. Watch me. I just won't tell anybody he's dead."
A month later the farmer met up with Raj and asked, "What happened with that dead donkey?"
Raj: "I raffled him off. I sold 500 tickets at Rs.10 each and made a profit of Rs.4990 with the donkey worth Rs.1000 as the prize."
Farmer: "Didn't anyone complain?"
Raj: "Just the guy who won. So I gave him back his Rs.10"
Subscribe to:
Posts (Atom)