Article

The Power of Testing

Publish date: Tuesday May 20, 2008

Testing is one of the most important part of the application development process. The main reason of doing tests is to find software bugs. The other reason is to make sure that application is consistent with the specification and that it fulfills user's needs. Testing can be divided into several types, for example Structural Testing (White Box Testing) in which tester checks code, algorithms, and data structures or Functional Testing (Black Box Testing) carried out without examining code and structure internal behavior. There is also Gray Box Testing in which user looks into the internal code but only for designing test cases and, after that, testing is done normally on the level of black box testing. Nevertheless, no matter what testing method is applied, it cannot be proved beyond any doubt that the application has absolutely no bugs. But after comprehensive tests having gone well we can expect the application to be foolproof.

 

In general, testing is the last part of the programming process taking place after some functionality has been implemented, some feature has been changed or before the application has been shipped to the customer. Though this commonly used method is not the only one. In some programming models like Extreme Programming or Agile Software Development, Test Driven Development was introduced. Within this methodology test cases are written first by programmers or software engineers to focus on potential future problems and automate testing process. Such a broad approach to the development cycle can improve the quality of code, eliminate possible bugs and shorten the time of programming not wasted on future corrections. Code can be regularly checked in the process at clearly defined phases and milestones. This allows to evaluate and approve each deliverable stage of the project before moving further.

 

Testing can be divided into different levels: Unit Testing (test small parts of the application e.g. modules, components, classes), Integration Testing (verify the interaction between small components of software), System Testing (test completely integrated system and check if it fulfills the requirements) and System Integration Testing (verify the integration of external third party systems). There are also some other types of testing: Performance Testing to check if system can handle large amounts of users or data, Usability Testing to check if user interface is clear and friendly, Security Testing to prevent from hacker intrusions and unauthorized access to data. Another interesting type of testing is Regression Testing. It leads to uncovering regression bugs. Regression tests are done because some functionality that worked in the past has stopped working or no longer works in the same way as the consequence of changes to the application. This may be also caused by some new circumstances which appeared during the lifetime of the software and were not known while software development process was underway.

 

The last type of testing I would like to mention in this article is Alfa and Beta testing. Alfa Testing is carried out by tester team at the developer’s side before releasing the application to the customer. It is a kind of the internal acceptation of the developed product. Beta Testing can be done after Alfa Testing has been completed. The final version of software named Beta Version is delivered to a group of users outside the programming team. They use it like end users through a period of time and give their feedback about the product.

Author: Marcin Zaparty

All Articles Click here to see All Articles

Introduction to C# generics

10/30/2008 - by Sebastian Nowakowski

ave you ever thought of dynamically defining class variable type? Or maybe define Method argument type during execution? If yes, and you still have no idea how to do it, you've come to the right place. Ladies and gentlemen, I'd like to introduce to you our hero - C# generics.

Introduction to C# genericsmore >

Why use ASP Translator

9/9/2007 - by MaƂgorzata Szabelska
Malgorzata Szabelska

We have developed a first user-friendly tool for translating ASP.NET web sites which is multiple-language supported and easy to deploy. It supports ASP.NET 1.1 & 2.0.

 Why use ASP Translatormore >
In-store video advertisement netro.play In-store video advertisement Online payment processing gateway netropay.com Online payment processing gateway Tracking & rating with .NET shipping components supremetracking.com Tracking & rating with .NET shipping components
Copyright Netrosoft @ 2007