When you want to succeed as bad as you want to breathe, then you’ll be successful.
--Your friends at LectureNotes

Note for Software Testing Methodologies - STM by shaik shabeer

  • Software Testing Methodologies - STM
  • Note
  • nimra college of engineering and technology - ncet
  • Computer Science Engineering
  • B.Tech
  • 5 Topics
  • 3 Offline Downloads
  • Uploaded 8 months ago
Shaik Shabeer
Shaik Shabeer
0 User(s)
Download PDFOrder Printed Copy

Share it with your friends

Leave your Comments

Text from page-1

ST.ANNS COLLEGE OF ENGINEERING &TECHNOLOGY SOFTWARE TESTING METHODOLOGIES Unit 1 Software Testing Software Testing Terminology and Methodology Software Testing Introduction Evolution Myths & Facts Goals Psychology Definition Model for testing Effective Vs Exhaustive Software Testing Introduction: --Software is becoming complex, but the demand for quality in software products has been increased. --This rise in customer awareness for quality increases the workload and responsibility of the software development team. --That is why software testing has gained so much popularity in the last decade. --Jobs trends have shifted from development to software testing. --Today software quality assurance and software testing courses are offered by many institutions. --Organizations have seperate testing groups with proper hierarchy. --Software development is driven with testing outputs. Evolution: The different phases of software testing are: Debugging Oriented Phase (Before 1957) : This phases is the early period of testing. At that time, testing basics were unknown. Programs were writtena nd then tested by the programmers until they were sure that all the bugs were removed. The term used for testing was checkout, focussed on getting the system to run. Debuging was a more general term at that time. Till 1956, there was no clear distinction between software development, testing and debugging. Demonstration – Oriented Phase (1957-1978): In 1957, Charles Baker pointed out that the purpose of checkout is not only to run the software but also to determine the correctness according to the mentioned requirements. Thus, the scope of checkout of a program increased from program runs t progam correctness. Moreover, the purpose of checkout was to show the absence of errors. Destruction – Oriented Phase (1979-1982):

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 seperated debugging from testing and stressed on the valuable testcases if they explore more bugs. Evolution – Oriented Phase (1979-1982): With the concept of early testing, it was realized that if the bugs were identified at an early stage of deelopment, it was cheaper to debug tham 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 (1979-1982): 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 (1979-1982): 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 Testng 1.0, Software Testng 2.0 and Software Testng 3.0. Software Testng 1.0: In this phase, Software Testing was just cosidered a single phase to be performed after coding of the software in SDLC. No test organizzation was there. A few tesing tools were present but their use was limited due ti high cost. Management was not concerened with testing, as there was no quality goal. Software Testng 2.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 avalilable in this phase. Software Testng 3.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 bea process which gives us a roadmap of the overall tetsing process. Moreover, it should be driven by quality goals so that all controlling and monitoring activities anc be performed by the mangers. Thus the management is actively involved in the testing phase. 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

Text from page-3

requirement speifications for the software and continuous 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 ot carry out all testing activities. Testers job is not easy, as they have to plan and develop the test cases manually andit requires a through 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 freshers 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 tetsing has now become as established path for jobseekers. 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 starst 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 tetsing 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. Goals of Software Testing:

Text from page-4

Short-Term or Immediate Goals: These goals are the immediate results after performing testing. These goals may be set inthe 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 behaviour and interpretation of bugs discovered, everyone in the software development team gets to learn how to code safely such that the bugs dicovered shouls not be repeated in later stages or future stages. Long-Term Goals: Quality: Reliability Software Testing Quality Since software is also a product, its quality is primary from the users 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 rigourous 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 whicha re otherwise understood. Risk Management: Software Testing Risk Factors: -Cost -Time -Resources -Critical Features Reliability Quality Customer Satisfaction

Lecture Notes