Software Testing Presentation in Cegonsoft Pvt Ltd...
Embed Size (px)
Transcript of Software Testing Presentation in Cegonsoft Pvt Ltd...
- 1.Software TestingPresented by: Chithra & Sureka
2. What is Software Types of Software and SDLC Spectacular Software Failures and Why software usually has faults? Quality Testing Software Testing and BUG Software Testing Types, Techniques, Classifications, Levels and STLC Difference Between Manual & Automation Automation Testing Tools Software Testing Job Market Role of Software Tester Skills required to Become a Software Tester 10 reasons why you are not getting job in software testing ? Specialization has come to stay in testing career Why Testing in cegonsoft? How we Different form Others? How Saturdays Classes will be helpful for Testers to get a Job? Launch Plan 3. Software Set of rules / programs that provides instructions to computer to tell What to do, when to do, how to doSoftware Engineering Study of applying engineering to build softwareTypes of Software System Software System software is any computer software which manages and controls computer hardware so that application software can perform a task. Application Software Application that we develop for others 4. Project Based Companies TCS, CTS, Infosys, WiproProduct Based Companies IBM, HP, Temenos, First AmericanExample 2 shops pillow shop, tailor shop 5. Software Development Life cycle The process of developing a software product formally&logically. It describes stage of software development process with different methodologies. 6. Plan Organize Design Develop Test 7. Car - manufactured and given to the customer 8. What is Software Testing The process used to identify the correctness, completeness and quality software application & executing under positive and negative conditions by manual or automated means. It checks for the: Specification Functionality Performance Generate high quality test cases, perform effectivete tests, and issue correct and helpful problem reports. 9. History The separation of debugging from testing was initially introduced by Glenford J Myers in 1979. a successful test is one that finds a bug Debugging Oriented (until 1956) Demonstration Oriented (1957-1978) Testing done to check if software is satisfying requirements- debugging and testing was distinguished separately Destruction oriented (1979-1982) process of executing the Program with intent of finding errors 10. Evaluation Oriented (1983-1987) Detect faults -finding errors in requirement, design and implementation Prevention Oriented From 1988 Prevent faults -finding errors in requirement, design and implementation TestingDebuggingFinding and Locating a defectFixing the defectDone y testing teamDone by Development teamIntension behind it is to find as Intension is to remove those many as defects as possible. defects. 11. Software Testing Life Cycle (STLC) 12. Software Quality Confirms the Functional and nonfunctional requirements providing the defect free products meeting the customer satisfaction. 13. QUALITY ATTRIBUTES There are 6 quality attributes: Functionality Reliability Usability Efficiency Maintainability Portability 14. Functionality The ability of the product to function (to work efficiently) as per the user requirements. Example: bike Consider a bike, Verify the start functionality works as expected. Reliability The ability of the product to continue to function, over time and over its full range of use, without failing or causing failure. Example Verify the start functionality works how long like it worked in the beginning 15. Usability Simply define as User friendliness and Whether the application is fit for use Verifying the application is able to access by the end users Example: mobile phone Efficiency Processing Speed, Time Taken to execute the task. Example How fast the web page is loading How fast the data gets retrieved 16. Maintainability The ability of the system to undergo changes easily. Also includes the data manipulation Example How easy the features can be added and updated in the application Portability The ability of the system to adapt in various operating systems. Example C Programming can be executed in Microsoft windows OS and Unix OS 17. Software quality is further divided into Quality Assurance Quality control Quality AssuranceQuality ControlDefect Prevention.Defect Detection.Process OrientedProduct OrientedIdentifies weaknesses in processes and improves them.Identifies defects for the primary purpose of correcting defects. 18. What Do We Test We will perform testing first on major, important, critical and popular features and after we will test minor functionalities 19. Testing Methodologies Functional Testing Non Functional Testing Black box testing White box testing 20. Black box testing No knowledge of internal program design or code required. Tests are based on requirements and functionality.White box testing White-box testing (also known as clear box testing, glass box testing, transparent box testing, and structural testing) is a method of testing software that tests internal structures or workings of an application which is testing the source code / program developed. Performed to verify the Non Functional requirements of the application 21. Functional Testing types The identification of functions that the software is expected to perform and verifying whether the software is working as per the requirement Functions are tested by feeding them input and examining the output It can be done both Manually or automated using tools. Smoke testing Sanity testing Exploratory testing 22. Smoke Testing: smoke testing is to verify the major functionalities of the application Eg:login, inbox, compose mail Sanity Testing: sanity testing is to verify minor or each functionality in the particular application Eg: check box radio button etc in inbox . Compatablity Testing: It is done to verify how the system is compatible in various operating system, platforms and browsers 23. Explora tory Testing: how the software works and to ask questions about how it will handle easy and difficult situations the tester should know more about the product and he wants to explore more number of test cases to find out how the software is working AD HOC Testing: This is not structured testing method and also it is a least formal method it is used to do testing as soon as possible 24. NON- FUNCTIONAL TYPES Performance Stress Load Scalability Usability Security Portability Reliability 25. Performance testing Performance testing allows testers to judge how well an application or website performs under specific circumstances. Measuring the time taken, the scalability and reliability of an action is key to performance testing. There are three objectives (three S) of Performance testing to observe and evaluate; Speed, Scalability and Stability 26. Load testing- Testing an application under heavy loads. Example: If the capacity of the lift is 10 people testing it with 10 people is called load testingStress testing- Stress Testing help us to observe the stability of the application.Endurance Testing- Endurance testing reveals about memory utilization when you load your test for prolong executions.Spike Testing- Spike Testing is performed by sudden increase/decrease in load and observing the behavior of the application. 27. Scalability Testing-is the testing of a software application for measuring its capability to scale up/ out- in terms of any of its non-functional capability - be its user load supported, the number of transactions, the data volume etc. Recovery testing-Testing how well a system recovers from crashes, HW failures or other problems. Install/uninstall testing-Testing the application is able to install and un install in various operating system and platforms 28. Testing Levels Unit testing Integration testing System testing Acceptance testing 29. UNIT TESTING Tests each module individually.Follows a white box testing (Logic of the program).Done by developers. Lowest level of testing 30. INTEGRATION TESTING Once all the modules have been unit tested, integration testing is performed. It is systematic testing. Produce tests to identify errors associated with interfacing 31. Component integration testing Ensures that the individually unit work together as whole and the data flow across unit as per the requirement Done after two are more models are developed and successfully unit tested Both black box and white box testing can be used Performed by both developers and testers Entry criteria is after completing the unit testing Exit criteria If the integration between the modules are working fine 32. Approaches in component integration testing Top down approach Bottom approach Big bang approach 33. Top-down approach Here the top level modules are tested first and lower level modules are tested separately Here Stubs are used to stimulate if some lower level modules are not available Stubs wont communicate 34. Bottom-Up Approach In this approach bottom most modules are tested first and then moving upward step by step Here Drivers are used to stimulate if some higher level modules are not available Drivers will communicate 35. Big Bang Approach Here all the units are most of the unit are tested at one go Most of the defects can be uncovered early in the test process Used when testing team receives entire software in a bundle 36. SYSTEM TESTING In this level we are going to validate the entire system is working as per the requirement after completing the Integration testing This level involves testing the whole application This is done by testers Individual module may work as desired but it may fail as system Some of the scenarios will be covered only in this level 37. In this level both Black Box and White Box technique can use Performed by independent Testing team Entry Criteria is after completing unit and integration testing Exit Criteria is after the whole system is working as per the requirementExample Consider yahoo mail website after completing unit and integration testing here we are going to test the application in whole whether all the modules are as per requirement like verifying after completing login we are able to compose a mail and we are able to access the inbox 38. SYSTEM INTEGRATION TESTING In this level we are going to verify the interface of the application with other systems is working Some of the external devices and system Lan /van communications middleware Intranet / Internet Printers 39. In this level we are following two approaches Risk based Identifying the system integration points which are critical to business Prioritize them and perform sequentially Divide and Conquer Test the other applications first Test the connections Combine incrementally 40. USER ACCEPTANCE TESTING Testing done by clients and end users There are two types Alpha testing Beta testing Alpha testing In this process client will come to our place and validate the application is working as per the brs (business requirement specification) 41. Beta testing Here the application developed is tested in client location and validate the application is working as per the brs (business requirement specification) Validates Whether the application is fit for use Performed after st , sit or in parallel Done by customer, Business user and Independent testing team 42. Manual &Automation testing Manual Testing It is the process of testing the application manually by creating test case This process is done by executing the test case manually It is cost effective Mostly preferred for one time testing 43. Automation This process is done using tools Tools will create test script and it will execute the test It is not cost effective &some special training is required This process is useful when functionality is to be repeatedly tested Save lot of time Sometimes few defects may miss 44. What ???? isan ERROR??.is a Bug?? .is Fault, Failure ?? 45. Bug, Fault & Failure.. A person makes an Error That creates a fault in software That can cause a failure in operation Error : An error is a human action that produces the incorrect result that results in a fault. Bug : The presence of error at the time of execution of the software. Fault : State of software caused by an error. Failure : Deviation of the software from its expected result. It is an event. 46. Bug Life Cycle Tester finds the bug and report it to Test LeadBugTest Lead confirms that it is a valid BugNew DeferredAssigned ResolvedRe-openVerified Closed 47. When to Stop testing The Important factors to decide when to stop testing are Critical and key Test cases are completed Testing budget of the project Functional coverage and Code coverage meeting the Requirement as per the Benchmark Defects rate level falls below the specified level High priority bugs are solved 48. Role of a SoftwareTester. Find bugs as early as possible and make sure they get fixed. To understand the application well. Study the functionality in detail to find where the bugs are likely to occur. Study the code to ensure that each and every line of code is tested. Create test cases in such a way that testing is done to uncover the hidden bugs and also ensure that the software is usable and reliable