×
Keep asking yourself. "How bad do you want it? how bad?"
--Your friends at LectureNotes
Close

Note for Software Testing Methodologies - STM By Jalaiah Saikam

  • Software Testing Methodologies - STM
  • Note
  • JNTUK KAKINADA - JNTUK
  • Computer Science Engineering
  • 16 Topics
  • 6258 Views
  • 159 Offline Downloads
  • Uploaded 1 year ago
0 User(s)
Download PDFOrder Printed Copy

Share it with your friends

Leave your Comments

Text from page-2

In this phase testing process is changed from 'testing is to show the absence of errors' to 'testing is to find more and more errors'. This phase separated debugging from testing and stressed on the valuable test cases if they explore more bugs. Evolution – Oriented Phase (1983-1987): With the concept of early testing, it was realized that if the bugs were identified at an early stage of development, it was cheaper to debug them as compared to the bugs found in implementation or post-implementation phases. This phase streses on the quality of software products such that it can be evaluated at every stage of development. In fact, the early testing concept was established in the form of verification and validation activities which help in producing better quality software. Prevention – Oriented Phase (1988-1995): The evaluation model stressed on the concept of bug prevention as compared to the earlier concept of bug detection. With the idea of early detection of bugs we can prevent the in implementation or furthet phases. The prevention model includes test planning, test analysis, and test design activities playing a major role, while the evaluation phase mainly relies on analysis and reviewing techniques other than testing. Process – Oriented Phase(1996 onwards): In this phase testing was established as a complete process rather than a single phase (performed after coding) in the SDLC. The testing process starts as soon as the requirements for a project are specified and its runs in parallel to SDLC. Moreover, the model for measuring the performance of a testing process has also been developed like CMM. The model for measuring the testing process is known as Testing Maturity Model (TMM). The evolution of software testing was also discussed by ?Hung Q Nguyen and Rob Pirozzi in three phases namely Software Testing 1.0, Software Testing 2.0 and Software Testing 3.0. Software Testing1.0: In this phase, Software testing was just considered a single phase to be performed after coding of the software in SDLC. No test organization was there. A few testing tools were present but their use was limited due to high cost. Management was not concerned with testing, as there was no quality goal. Software Testing2.0: In this phase, Software Testing gained importance in SDLC and the concept of early testing also started. Testing was evolving in the direction of planning the test resources. Many testing tools were also available in this phase. Software Testing3.0: In this phase, Software Testing is being evolved in the form of a process which is based on strategic effort. It means that there should be a process which gives us a roadmap of the overall testing process. Moreover, it should be driven by quality goals so that all controlling and monitoring activities can be performed by the mangers. Thus the management is actively involved in the testing phase. 2

Text from page-3

Myths & Facts: Myth: ―Testing is a single phase in SDLC‖ Truth: It is a myth that software testing is just a phase in SDLC and we perform testing only when the running code of the module is ready. But in reality, testing starts as soon as we get the requirement specifications for the software and continues even after implementation of the software. Myth: ―Testing is easy‖ Truth: The general perception is that, software testing is an easy job, wherin test cases are executed with testing tools only. But in reality, tools are there to automate the tasks and not to carry out all testing activities. Testers job is not easy, as they have to plan and develop the test cases manually and it requires a thorough understanding of the project being developed with its overall design. Myth: ―Software development is worth more than testing‖ Truth: This myth prevails in the minds of every team member and even in fresher’s who are seeking job. As a fresher, we dream of a job as a developer. We get into the organization as a developer and feel superior to other team members. But testing has now become as established path for job- seekers. Testing is a complete process like development, so the testing tam enjoys equal status and importance as the development team. Myth: ―Complete testing is possible‖ Truth: Complete testing at the surface level assumes that if we are giving all the inputs to the software, then it must be tested for all of them. But in reality, it is not possible to provide all the possible inputs to test the software, as the input domain of even a small program is too large to test. This is the reason why the term 'Complete Testing' has been replaced with 'Effective Testing'. Myth: ―Testing starts after program development‖ Truth: Most of the team members who are not aware of testing as a process, still feel that testing cannot commence before coding. But this is not true, as the work of the tester begins as soon as we get the specifications. The tester performs testing at the end of every phase in SDLC in the form of verification and validation. Myth: ―The purpose of the testing is to check the functionality of the software‖ Truth: Today all the testing activities are driven by quality goals. Ultimately, the goal of testing is also to ensure quality of the software. There are various things related to quality of the software, for which test cases must be executed. Myth: ―Anyone can be tester‖ Truth: As an established process, software testing as a career also needs training for various purposes such as to understand 1) Various phases of SDLC, 2) Recent techniques to design test cases, 3) various tools and how to work on them. 3

Text from page-4

Goals of Software Testing: Short-Term or Immediate Goals: These goals are the immediate results after performing testing. These goals may be set in the individual phases of SDLC. Bug Discovery: The immediate goal of testing is to find errors at any stage of software development. More the bugs discovered at an early stage, better will be success rate of software testing. Bug Prevention: From the behavior and interpretation of bugs discovered, everyone in the software development team gets to learn how to code safely such that the bugs discovered should not be repeated in later stages or future stages. Long-Term Goals: Quality: 4

Text from page-5

Since software is also a product, its quality is primary from the user’s point of view. Therefore, the first goal of understanding and performing the testing process is to enhance the quality of the software product. The software should be passed through a rigorous reliability analysis to attain high quality standards. Customer Satisfaction: Software Testing Reliability Quality Customer Satisfaction If we want the customer to be satisfied with the software product, then testing should be complete and thorough. Testing should be complete in the sense that it must satisfy the user for all the specified requirements mentioned in the user manual as well as the unspecified requirements which are otherwise understood. Risk Management: Software Testing Reliability Quality Customer Satisfaction Risk Factors: -Cost -Time -Resources -Critical Features Risk is the probability that undesirable events will occur in a system. These undesirable events will prevent the organization from successfully implementing in business initiatives. It is the tester’s responsibility to evaluate business risks (such as cost, time, resources and critical features) and make the same a basis for testing choices. Testers should also categorize the levels of risk after their assessment (like low-level risk, high risk, moderate risk). Post Implementation Goals: Reduced Maintenance Cost: The maintenance cost of any software product is not physical cost, as the software does not wear out. The only maintenance cost in a software product is its failure due to errors. Post release errors are costlier to fix, as they are difficult to detect. Improved Software Testing Process: A testing process for one project may not be successful and there may be scope for improvement. Therefore, the bug history and post implementation results can be analyzed to find out snags in the present testing process. 5

Lecture Notes