Archive

Posts Tagged ‘testing’

Performance Testing and Regression Testing

June 2nd, 2010 admin 3 comments

Performance Testing and Regression Testing

Software testing or Testing is an examination conducted to present the stakeholders with data regarding the quality of the service or product under test. This type of software testing as well provides in insight on the independent views and objectives of the software to permit the business to understand all the risks involved during the implementation of the software.
Based on the testing method employed, Software testing can be put into practice at any point of time in the development process. Although, most of the efforts for testing occur after the requirements are defined and the process for coding has been completed.

This article describes two types of testing methodologies.

1. Performance Testing
Performance testing is performed to determine how quick a system or sub-system executes under a particular amount of workload. It can also provide to verify and validate other quality traits of the system, such as reliability, scalability and resource usage.

In the field of Software Engineering, performance testing comes under the testing category which is carried out to how fast a particular aspect of the system under observation performs, given a fixed amount of workload. This sort of testing is a subset of Performance Engineering (up-and-coming computer science practices build to get performance into the architecture and design of a system, prior to the actual effort of coding). There are various purposes which performance testing can serve:
It can compare given two systems and finds out which one is performing better
It can demonstrate whether or not the system meets the required performance criteria.
It can calculate which parts of the system under observation cause the system to perform badly.

2. Regression Testing
This type of testing is any software testing which seeks to find out software errors by partly re-testing a modified program. The intention of this type of testing is to provide a kind of assurance that no additional errors were added during the process of fixing the existing problems. Regression testing is generally used to proficiently examine the system by systematically choosing the appropriate suite of tests which are required to sufficiently cove all of the affected changes.
Widespread methods of regression testing comprise of rerunning earlier run tests and scrutinizing whether previously fixed faults have re-emerged. One of the chief reasons for performing regression testing is that it’s often tremendously difficult for a programmer to outline out how a change in one part of the software will reverberate in other parts of the software.

Ad hoc testing
This term is commonly used to represent software testing without any documentation or planning. The tests are made to run only once, unless a defect is discovered. This type of testing is more of a part of exploratory testing. Here, the tester seeks to find errors by any means that seems appropriate to him/her.

Unit Testing
This type of testing is a software verification and validation method where a programmer tests if individual units of system are fit for utilization. A unit is the least testable part of an application. In procedural programming, a unit might be an individual procedure or function.

Advantages

The advantage of performing Performance and Regression testing are:
Reusable: Can reuse tests on diverse versions of an application, even if the user interface alters
Repeatable: Can check how the software responds under repeated execution of the identical operations.
Programmable: Can program complicated tests that bring out concealed information from the application.
Cost Reduction: Cost is reduced since the amounts of resources for regression test are reduced.
Reliable: Tests carry out precisely the equivalent operations each time they are run, thereby eradicating human error.
Comprehensive: Can build a suite of tests that wraps every feature in the application.
Better Quality Software: Can run additional tests in fewer time with less resources
Fast: Automated Tools run tests considerably faster as compared to the human users.

Incoming search terms for the article:

Software testing part I.

August 12th, 2009 admin No comments

There are no commercial software released to the market without testing.
Testing is an important process in software development.The big or
well-known software company place importance on software testing equal to
software implementation.
At present there are many type of software testing method but I summarize the
widely used testing method as following…

1.Unit test
Unit test is the testing functional
(Or testing in detail of each function in the system) to ensure
that each individual function in the system can work well.
Unit testing is very important in software development because
it is the method for finding the functional problems (It can decrease
the time in finding bugs in the posterior process).
2.Integration test
Integration test is the testing that take each unit to
combine altogether and then test the coherence between each unit to
ensure that the communication between each unit in the system can
be done correctly.
3.System test
System test is the testing of the whole system to ensure that
the totally work-flow of the system is correct.It is also
an important test that have to do in software development process
(Normally system test is done as the last test of all
testing procedure).
4.Acceptance Test
Acceptance test is the testing of customer or user who will
use the developed software.It is the test for satisfaction of the
user or customer.This testing is done after System test.

The important testing that you must emphasize on them are
Unit testing and Integration testing because many defect or bugs
can be found by these two testing method.

Testing is not necessary to be done by tester but developer
can also do the testing.Normally the Unit testing is done by
developer because the majority of this testing use the test case
that depend on the implementation, so nobody can do this testing
better than developer.However the real tester have a responsibility
for doing the Integration test and System test because…

– These two kinds of testing must do in long time.

– To prevent the bias if the developer is also the tester at the
same time.(The developer who write the code maybe
rather sure that the code they wrote is correct and will
ignore some minor part of code that have to test)

– The real tester has more time to design the test document
and test case. He/She must know clearly in the target system
that will be tested,so He/She can do the testing better than
developer.

This is part I of software testing story.In the next part (part II)
I will write about black box and white box testing,test first method and
how to design the test plan.

Thank you very much,
Jitkasem Pintaya.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes