Designed by : Aarthi Sneha 1 Software Testing NTC Infotec.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Testing Workflow Purpose
Requirements Specification and Management
System Integration Verification and Validation
Software Quality Assurance Plan
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Stepan Potiyenko ISS Sr.SW Developer.
Documentation Testing
Computers: Tools for an Information Age
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
Software Testing Prasad G.
 What is Software Testing  Terminologies used in Software testing  Types of Testing  What is Manual Testing  Types of Manual Testing  Process that.
Agile Testing with Testing Anywhere The road to automation need not be long.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Introduction to Computer Technology
Test Design Techniques
Release & Deployment ITIL Version 3
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 14 Systems Analysis and Design: The Big Picture.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
S/W Project Management
Extreme Programming Software Development Written by Sanjay Kumar.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Testing Lifecycle Practice
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
CompSci 230 Software Design and Construction
Best Practices By Gabriel Rodriguez
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Software Testing Life Cycle
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Software Engineering Management Lecture 1 The Software Process.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Lecture 7: Requirements Engineering
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Systems Analysis and Design in a Changing World, Fourth Edition
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Software Testing Process By: M. Muzaffar Hameed.
MANUAL TESTING KS SESSION PRESENTED BY 26/11/015 VISHAL KUMAR.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
July, 2008 Impati – Software Test Solutions. July, Contents Testing Service Overview and Approach Test Services and Industries Key Services Offering.
LOGO TESTING Team 8: 1.Nguyễn Hoàng Khánh 2.Dương Quốc Việt 3.Trang Thế Vinh.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Software Requirements Specification Document (SRS)
Software Quality Assurance and Testing Fazal Rehman Shamil.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Manual Testing Concepts Instructor: Surender. Agenda  Content: 1. Testing Overview I. What is testing II. Who does testing III. When to Start Testing.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
SELF INTRODUCTION 1. SOFTWARE TESTING By Navin and Bidyut 2.
 System Requirement Specification and System Planning.
Items to consider before automating an application
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Engineering (CSI 321)
TESTING TOOLS MANUAL APPROACH BY J.ADI SESHU.
SOFTWARE TESTING OVERVIEW
Software Testing.
Software Testing Testing process, Design of test cases.
Quality Management Perfectqaservices.
Software Testing.
Software Quality Assurance
Applied Software Implementation & Testing
Software life cycle models
Software Testing Lifecycle Practice
Testing, Inspection, Walkthrough
Presentation transcript:

Designed by : Aarthi Sneha 1 Software Testing NTC Infotec

Designed by : Aarthi Sneha 2 Software Testing

Designed by : Aarthi Sneha 3 Testing Evolution The ability to produce software in a cost-effective way is the key factor that determines the effective functioning of the modern systems. To produce cost effective software a number of activities were in practice. The attitude towards Software testing underwent a major positive change in the recent years. In 1950’s when machine languages were used testing is nothing but debugging.1960’s Compilers were developed, testing started to be considered as a separate activity from debugging. In 1970 ‘s when Software engineering concepts were introduced software testing began to evolve as technical discipline Over the last two decades there has been an increased focus on the better, faster, cost-effective, secured software. This has increased the acceptance of testing as a technical discipline and also a career choice.

Designed by : Aarthi Sneha 4 Goals of the Testing  Minimize bugs and work around.  Ensure business processes are tested and application is useable.  Ensure data are valid.  Aim for no user surprises at go-live.  Confirm that system performance is acceptable.  Ensure data security is satisfied.  Validate what worked by testing and documenting.

Designed by : Aarthi Sneha 5 Software Testing Life Cycle  Test Planning.  Test Analysis.  Test Design.  Construction and Verification.  Testing Cycles.  Final Testing and Implementation.  Post Implementation.

Designed by : Aarthi Sneha 6 12 Essential Steps of STLC 1. Static Testing – Review of Documents. 2. Dynamic Testing – Requirement Changes - should be documented. 3. Development and Testing Environment – made clear to the QA by Dev Team. 4. Prepare Test Case, Test Scenarios – Execute Test by QC. 5. Report of Bugs prepared by the Testers – Review by QA /QC before handling to Dev Team.

Designed by : Aarthi Sneha 7 12 Essential Steps of STLC 6. Release of Bug Reports to Dev Team. 7. Discussion between QA and Dev Team for fixing time to clear the bugs. 8. Feedback from Dev Team on reported bugs (Time required to fix all the bugs). 9. Any changes made to fix the bug should be made clear to QA by Dev Team. 10. Testing Team then ReTests or Verifies the bugs fixed by the Dev Team.

Designed by : Aarthi Sneha 8 12 Essential Steps of STLC 11. Submitting the retesting bug report to the Test Manager and after this step 5 to step 10 are followed until the product has reached a stage where it can be released to customer. 12. Criteria for ending the testing should be defined by management or Test Manager – when all bugs are reported and fixed. ( Major bugs – which affect the Business of the Client ).

Designed by : Aarthi Sneha 9 Testing Strategy (Methodology) A test strategy describes the overall approach, objectives, and direction of the testing effort. The purpose of a testing strategy or methodology is to limit risks and to ultimately deliver the best possible software to the customer.

Designed by : Aarthi Sneha 10 Stages of the Testing Life Cycle Test Preparation phase.(Before Testing Begins ) Unit Test Phase. CRP Phase.( Conference Room Pilot – Optional ) Integration Test Phase. System Test Phase. User Acceptance Phase.

Designed by : Aarthi Sneha 11 Testing Types E.g. Document Review Testing Types StaticDynamic Black box Testing White box Testing Functional Testing Performance Testing Load Testing Structural Testing

Designed by : Aarthi Sneha 12 Testing Approach Manual Testing. oTester will test the application with his/her error guessing and logical knowledge of that application. oNo tool is needed. Automation Testing. oTester will test the application with the help of Tools. oTesting can be done repeatedly.

Designed by : Aarthi Sneha 13 Difference between Manual & Automation Testing Manual Automation

Designed by : Aarthi Sneha 14 Manual Testing Advantages 1. Manual testing can be used in both small and big project, 2. Easily we reduce and added our test case according to project movement. 3. It is covered in limited cost. 4. Easy to learn for new people who are entered in manual testing. 5. Manual is more reliable than automated (in many cases automated not cover all cases) Disadvantages 1. GUI object size difference and color combination etc is not easy to find out in manual testing. 2. Actual load and performance is not possible to cover in manual testing for large number of users. 3. Running test manually is very time consuming job.

Designed by : Aarthi Sneha 15 Automation Testing Advantages 1- Easy to cover up all cases in a limited time period. 2- You check all type of case like load, performance of software by using tool In case of Regression testing (Repeatedly testing), it is a best choice. 4- When a website requires immediate evaluation, automated testing should be used. Automated testing saves a huge amount of time. Testing results for a webpage can be obtained in short of time period. 5- Automated testing can be performed on different operating systems simultaneously. 6- Automated tools are easy for volume testing. 7- Automated testing is good for website for those projects, which have not time constraints. Disadvantages 1. It is huge time taking work, all test case convert into script & case of updating test script. 2. Automation testing is more expensive work as comparing with manual testing 3. Language wise there is many tools to test various type of software, means all tools not support to all language of software. 4. Information that is conveyed with green and red is hard to find not only to the blind but also to users who are colorblind. Automated testing tools cannot detect this and other color-related issues. 5. Automated tool may not identify missing heading tags since it cannot read the content. 6. Is although a testing tool can detect attributes for graphics, it cannot determine if the attributes are descriptive enough. The same applies to frame titles and field labels. Only a human tester can provide feedback on these issues. 7. The tool cannot determine whether a website is comprehensible and functional if Browsers do not support style sheets and scripts or if users disable them. 8. It is not support to testing any video and mp3 file.

Designed by : Aarthi Sneha 16 Bug Life Cycle

Designed by : Aarthi Sneha 17 Testing Methods Functional Testing  Software is tested for the functional requirements.  Checks if it behaves as expected. Performance Testing  Process of determining the speed or effectiveness of a computer, network, software program. Load Testing  Application is tested against heavy loads or inputs at what point its performance degrades.

Designed by : Aarthi Sneha 18 Automation Tools Few Automation tools are listed here 1. Functional Testing Tools  QTP – Quick Test Professional ( HP )  Selenium – ( Open Source Tool )  Winrunner ( HP ) 2. Performance & Load Testing Tools  Load Runner ( HP )  Jmeter ( Open Source Tool )

Designed by : Aarthi Sneha 19 Testing Vs Debugging Testing 1. Testing is focused on identifying the problems in the product. 2. Done by Tester. 3. Need not know the source code. Debugging 1. Debugging is to make sure that the bugs are removed or fixed. 2. Done by Developer. 3. Need to know the source code.

Designed by : Aarthi Sneha Specific ways to Improve Testing Requirement Phase 1. Involve Testers from the Beginning. 2. Verify the Requirements. 3. Design Test Procedures as soon as Requirements are Available. 4. Ensure that Requirement Changes are communicated.

Designed by : Aarthi Sneha Specific ways to Improve Testing Requirement Phase 5. Beware of Developing and Testing based on an Existing System. 6. Understand the Task at Hand and the Related Testing Goal.

Designed by : Aarthi Sneha Specific ways to Improve Testing Test Planning 7. Consider the Risk. 8. Base Testing Efforts on a Prioritized Feature Schedule. 9. Keep Software Issues in Mind. 10. Acquire effective Test Data. 11. Plan the Test Environment. 12. Estimate Test Preparation and Execution Time.

Designed by : Aarthi Sneha Specific ways to Improve Testing The Testing Team 13. Define Roles and Responsibilities. 14. Require a mixture of Testing Skills, Subject-matter Expertise and Experience. 15. Evaluate the Tester’s Effectiveness.

Designed by : Aarthi Sneha Specific ways to Improve Testing The System Architecture 16. Understand the Architecture and Underlying Components. 17. Verify that the System Supports Testability. 18. Use Logging to Increase System Testability. 19. Verify that the System Supports Debug and Release Execution Modes.

Designed by : Aarthi Sneha Specific ways to Improve Testing Test Design and Documentation 20. Divide and Conquer. 21. Mandate the Use of a Test Procedure Template and Other Test Design Standards. 22. Derive effective Test Cases from Requirements. 23. Treat Test Procedures as “Living” Documents 24. Utilize System Design and Prototypes. 25. Use Proven Testing Techniques when designing Test-Case scenarios.

Designed by : Aarthi Sneha Specific ways to Improve Testing 26. Avoid Including Constraints and Detailed Data Elements within Test Procedures. 27. Apply Exploratory Testing. Unit Testing 28. Structure the Development Approach to Support Effective Unit Testing. 29. Develop Unit Tests in Parallel or Before the Implementation. 30. Make Unit-Test Execution Part of the Build Process.

Designed by : Aarthi Sneha Specific ways to Improve Testing Automated Testing Tools 31. Know the Different types of Testing Support Tools. 32. Consider Building a Tool Instead of Buying one. 33. Know the Impact of Automated Tools on the Testing Effort. 34. Focus on the needs of your Organization. 35. Test the Tools on an Application Prototype.

Designed by : Aarthi Sneha Specific ways to Improve Testing Automated Testing : Selected Best Practices 36. Do not Rely Solely on Capture / Playback. 37. Develop a Test Harness when necessary. 38. Use Proven Test-Script Development Techniques. 39. Automate Regression Tests when Feasible. 40. Implement Automated builds and Smoke Tests.

Designed by : Aarthi Sneha Specific ways to Improve Testing Non Functional Testing 41. Do not make Non-Functional Testing an Afterthought. 42. Conduct Performance Testing with Production sized Databases. 43. Tailor Usability Tests to the Intended Audience.

Designed by : Aarthi Sneha Specific ways to Improve Testing Non Functional Testing 44. Consider All Aspects of Security, for specific Requirements and System-Wide. 45. Investigate the System’s Implementation to plan for Concurrency Tests. 46. Set up an Efficient Environment for Compatibility Testing.

Designed by : Aarthi Sneha Specific ways to Improve Testing Managing Test Execution 47. Clearly Define the Beginning and End of the Test – Execution Cycle. 48. Isolate the Test Environment from the Development Environment. 49. Implement a Defect - Tracking Life Cycle. 50. Track the Execution of the Testing Program.