Tuesday, March 23, 2010

Software Testing

software testing is not a new thing now a days, every company big or small is considering
the s.t.team as a crucial team to whole project success. the probability that companies not
using s.t. is minimal but the real point is that does s.t. is contributing to success of any project. the fact of the matter is that s.t. is not just a formality to complete but the a full different approach with which the software is seen. using and implementing s.t. is one great task to do which require a approach called creative destruction. creative destruction is looking at the software from the point of view of breaking it. this approach immensely helps in finding defects in software and further improve it. s.t. is also a rational approach with which the user requirements are seen. a user requirement is functional and non functional in nature i.e. requirements of customer are fulfilled the way he wanted is the functional requirement. And non-functional requirement means with the functionality customer wanted from the software additional to functional requirements a software should comply to standards and policies of the customer as well as maker of the software. non functional

includes performance, user friendliness, security, compatibility of the software.

why software has bugs?

It is imperative question that when a good development team is given a software to build around the customer requirement, why do bugs appear in the first place. every programmer does his part very well and most of the time will provide a functioning code, still this well functioning code can have bugs. why? and How? the answer is simple: he has provided a functioning code but not according to requirements of the customer. In our daily life we come across many softwares and thus many software bugs. Actually bug is not a technical word and a tester should not say a incorrect result or operation as bug, the actual word is DEFECT. there are many things that cause a software to have a bug. these are( this list is not exhaustive)

1) when the the requirements provided by the customer are unclear/ambiguous.
2) as complexity of software increases, no of bugs also increases. so complexity is main issue to tackle. we should not lessen the complexity of any software but we should focus on making excellent testing for such software.