what is the importance of software testing in software development and software engineering?
below are few answers from my friends who are software test engineer:
in simple words, to supply the client error as well bug free product.
If you don't find the bugs by testing your software, the customer will find them. Since the customer is the one who ultimately pays your salary, you're better off finding and fixing them first.
Because the cost of fixing a bug is more if it is found in later stage of a project than it is found earlier.
The better you test the better is your company's credibility in the eyes of the customer
Without testing you cannot get the Quality product(Bug Free) and without the product having quality(customer satisfaction)you cannot have Quality customers.
It is important to check errors(bug) to be sold on clients, as simple as that!!!
Software testing has becomethe part of development and it is better to start testing from the development phase in order to avoid difficultiy by correcting the bug at the last stage.
Software testing is essential to identify the hidden errors.With software testing we can deliver qualitative software to the customer.
Testing is the process through which our intention to find bugs in the software.
Importance of testing in software development life cycle is to improve reliability, performance and other important factors, which may define under SRS (software requirement specification). Customer can wait more for software release, but they don't like to work with defected software.
To acheive the customer satisfaction through excellence in the services / products delivered,Quality plays a vital role and quality can be aceived / ensured by testing only.
In the age of Competitive market, only that Product exists that is of good quality and good quality can be achieved only through the testing.
its increases efficiency,cost control and productivity.and so and so to find the defect of the product or software.
By testing your software you not only ensure a bug free application, but also the developer becomes aware of common bugs and eventually learn avoid bugs in future releases by simply removing these bugs.
------------------------------------------------------------------------------------
Software Testing is usually viewed as a low-grade task in comparison with Software Development. Although software coding is a significant phase in the life cycle of any software product; testing activity & its great significance can’t be undermined. Testing is an extremely important phase of SDLC immediately after which the software product goes into production & flaws in the application come to the surface when the application actually starts functioning in the real world.
Therefore, importance of software testing phase just can’t be undermined since this is an important phase where we gain a reasonable level of confidence that that we are delivering a quality products to the customer.
It does not imply that quality assurance activity is limited to the Testing phase only. In fact ensuring & maintaining the quality of any product is a continuous process practiced right from the day 1 of the SDLC.
During the testing phase, the software product is subjected to various rigors & is subjected to several types of testing like functional testing, stress testing, performance testing etc. and validate whether the software product functions as desired or not.
It is important to understand that the customers get delighted by getting a quality software which in turn help in getting more business. Thus testing is such an important activity in creating delight for the customer, it has less words to explain.
In-spite of great importance of testing, software community is living with some of the misconceptions about software testing, which are discussed below.
Testing is often considered as a thankless job.
While developers say with pride: "Wow!! My code is running in production", testers usually don’t say "Wow!! The code that I tested is running in production"!!! This attitude can also be justified if we consider some examples of the usual talk that goes on among colleagues/peers/friends in the IT circle, like:
Mr. A: Which project are you working on?
Mr. B (Tester): Currently. I'm in a Testing project.
Mr. A: Oh...Umm...OK...
Mr. A: Mr. C, how about you?
Mr. C (Programmer/Developer): A Development & Maintenance project
Mr. A: Oohh?? What technology? Which platform? What’s the project all about?? … And so on
Even though there's no denying the fact that Construction/Coding is a very significant phase in the life cycle of any software product, the role of Testing as an activity should be given its due importance, because of the main reason, among others, that its the phase of SDLC just before a software product goes to production; i.e.; when your software product/application actually starts functioning in real world.
Therefore, it’s the only phase where you can ensure & gain a reasonable level of confidence that that you are delivering quality products to the customer.
This does not mean that quality assurance starts in the Testing phase. Ensuring & Maintaining quality is a continuous process which should be practiced right from Day 1 of the SDLC cycle.
In other words, during testing phase, you can "bang" your product in different ways, by which I refer to different kinds of testing like functional testing, stress testing, performance testing & so on, and validate whether the software product works fine.
Needless to say, delivering quality software delights customers & helps in getting more business. That said about the importance of Testing, we will now proceed to look into some perceptions or “myths” about software testing which prevails, in general, among the IT community
Testing is done to demonstrate that there are no errors/bugs/defects in the software product being developed
No. Not at all!! Though this is one way of conveying the meaning, it takes us away from the main objective of testing
Testing is the process of uncovering defects... The objective of any tester should be to
try his best to crack the code. This should not be seen as a destructive activity which points fingers at or find faults with the developers. In fact, testing should be considered as a healthy feedback mechanism to the developer community so that they can make maximum use of the defects found during testing, analyze them, find the root cause & devise appropriate preventive mechanisms. Actually, the defects found during testing helps improving the quality of the code!
A tester should never work under the assumption that the system works!! The software product should be tested with the intent of finding errors. The test, which when executed reveals a defect in the software, is a success. Though Testing, by itself, does not improve the quality of the software product, it is an indicator of the quality. Rather that considering Testing
as a separate phase in the SDLC, it should be an activity which is integrated into each & every phase. The intent should be to Analyze & Test, Design & Test, Develop & Test, Fix Defects & Test more...!!
Testing is done to ensure that the software/application does what it is supposed to do
True enough!! But it’s not just that...The software should also not do what it is not supposed to do. Good test cases are the only way to establish a reasonable level of confidence on the software product. The Tester should think of all possible scenarios based upon the test requirements or test plan. Though there are various methods to prepare a large number of test cases like Equivalence Partioning, Boundary Value Analysis and so on, a lot depends on one's own intuition to come up with some good cases which reveals defects in the software
Testing is easy...!!!
Sometime back, I conducted a short class on Software Testing to a group of new recruits. While we were discussing about different type of projects, one participant said that he is very interested in a testing career. When asked the reason for his interest, prompt came the answer: “Testing is very easy, that’s why!!” This holds good only in some situations.
Though it’s simple to prepare straightforward test cases, at times testing can be a real challenging task.
Any production issues will, in many cases, backfire first to the testing teams. Why was this scenario not covered in the test plan??
Therefore, a Tester should develop the capability to look or think beyond the requirements mentioned in the test plan or specifications.
This is very important in case of System Testers who are responsible for ensuring that the software product works appropriately from "end-to-end ".
Testing does not offer any opportunities for career growth.
There are a wide range of roles that one can take up, if opting for a Testing career.
Pursuing a testing career offers more scope for improving Business/Domain knowledge.
It enables one to adopt a holistic approach of the entire software system instead of concentrating on just a unit or module.
A good number of testing certifications are offered by reputed institutes, which helps you attain a strong foundation in this career path.
This does not mean that you don’t have all these opportunities at all if you are a Developer.
It can be said that a Testing career has its own plus points. It entirely depends on one's own interests!
Testers do not perform well in development projects (or Testers are poor in coding)
Tester or not, the expertise on developing quality code depends upon one's own programming skills and constant or continuous learning in that area.
Some people, though in testing projects, take time out of their work to improve their programming skills by contributing to coding efforts or taking up projects voluntarily.
Thus, being a Tester does not prevent you in any way from being an expert Programmer or Vice Versa!!!
One way to narrow the communication gap between Tester & Developer community is to include the Testing teams, right from the Requirements/Design Stage meetings so that everyone involved in the life cycle of developing a software product can take part in the discussion & offer valuable suggestions.
This is evident from the below lines, which wonderfully describes the importance of Testing
More than the act of testing, the act of designing tests is one of the best bug preventers known. The thinking that must be done to create a useful test can discover and eliminate bugs before they are coded - indeed, test-design thinking can discover and eliminate bugs at every stage in the creation of software, from conception to specification, to design, coding and the rest. -Boris Beizer, Software Testing Techniques, "Creating a Software Engineering Culture" by Karl Eugene Wiegers"
No formal training is needed to work in a Testing project... Anyone can be a Tester!
True enough, anyone can be a Tester...but, only a good Tester can come up with quality Test cases (just like how an expert Developer can write quality Code).
It is essential that proper training is imparted to everyone joining Testing projects. This would not only helps one to understand the importance of Testing, but also tune one's mind to the requirements of becoming a good Tester, which would greatly contribute to a good career in Testing
SPONSORED LINKS


Comments :
0 comments to “Resources in Software Testing - Resource related misconceptions”
Post a Comment