SELF INTRODUCTION 1. SOFTWARE TESTING By Navin and Bidyut 2.

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Testing Relational Database
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
Presentation by Prabhjot Singh
Testing and Quality Assurance
Software Quality Assurance Plan
Software Testing 3 Damian Gordon.
Software Testing By Marcin Starzomski :P. What is Testing ? Testing is a process used to help identify the correctness, completeness and quality of developed.
Software Architecture Prof.Dr.ir. F. Gielen
Automation Testing Presentation Phil Hunter Phil Hunter - Automation Presentation 1.
Illinois Institute of Technology
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
Introduction to Software Testing
Introduction to Computer Technology
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Extreme Programming Software Development Written by Sanjay Kumar.
Software Testing. Recap Software testing – Why do we do testing? – When it is done? – Who does it? Software testing process / phases in software testing.
Software testing.
Trend Quality Assurance Edward Tsai 蔡木本 趨勢科技全球軟體研發部協理 April 22, 2003.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Software Testing. Introduction Testing is often left to the end of the project which is generally not a good idea. Testing should be conducted throughout.
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.
Chapter 1: Introduction to Software Testing Software Testing
TESTING.
Software Testing Life Cycle
CPIS 357 Software Quality & Testing
Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
SOFTWARE TESTING Scope of Testing  The dynamic Indian IT industry has always lured the brightest minds with challenging career.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.

What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Chapter SIX Implementation, Testing and Pragmatics Making it a reality.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Software Testing Process By: M. Muzaffar Hameed.
Testing, Testing & Testing - By M.D.ACHARYA QA doesn't make software but makes it better.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
MANUAL TESTING KS SESSION PRESENTED BY 26/11/015 VISHAL KUMAR.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
July, 2008 Impati – Software Test Solutions. July, Contents Testing Service Overview and Approach Test Services and Industries Key Services Offering.
Software Engineering Saeed Akhtar The University of Lahore.
LOGO TESTING Team 8: 1.Nguyễn Hoàng Khánh 2.Dương Quốc Việt 3.Trang Thế Vinh.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
WHAT IS USER ACCEPTANCE TEST? HOW IT IS DIFFERENT FROM SYSTEM TESTING?.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 CP586 © Peter Lo 2003 Multimedia Communication Multimedia Development Team.
CS 325: Software Engineering February 16, 2016 Designing a Design Class Diagram Design Class Diagrams DCD: Restaurant Example DCD: ATM Example Software.
Manual Testing Concepts Instructor: Surender. Agenda  Content: 1. Testing Overview I. What is testing II. Who does testing III. When to Start Testing.
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
Testing Integral part of the software development process.
Introduction to Software Testing Part1 Summary & Terms
Items to consider before automating an application
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Engineering (CSI 321)
SOFTWARE TESTING OVERVIEW
Software Testing.
Software Testing.
Applied Software Implementation & Testing
Introduction to Software Testing
Lecture 09:Software Testing
IT6004 –SOFTWARE TESTING Class :IV IT-VII SEM Handled by ,
Baisc Of Software Testing
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

SELF INTRODUCTION 1

SOFTWARE TESTING By Navin and Bidyut 2

CONTENT OF THIS SESSION 1.Introduction to Software Testing 2.Concepts of Software Testing 3.Software Testing as Career 4.Skills to success in this field 3

INTRODUCTION TO SOFTWARE TESTING 1.Software Testing & Software Testing Life Cycle (STLC) 2.Importance of Software Testing in SDLC 4

5

“Testing is the process of executing a program with the intention of finding errors.” “Testing can show the presence of bugs but never their absence.” 6

SOFTWARE TESTING LIFE CYCLE Software Testing Life Cycle (STLC) is the testing process which is executed in systematic and planned manner In STLC process, different activities are carried out to improve the quality of the product 7

CONCEPTS OF SOFTWARE TESTING 8

TYPES OF TESTING Manual Testing Manual testing includes testing a software manually, i.e., without using any automated tool or any script In this type, the tester takes over the role of an end-user and tests the software to identify any unexpected behavior or bug. There are different stages for manual testing such as unit testing, integration testing, system testing, and user acceptance testing. 9

Automation Testing Automation testing, which is also known as Test Automation, is when the tester writes scripts and uses another software to test the product. Automation Testing is used to re-run the test scenarios that were performed manually, quickly, and repeatedly. It increases the test coverage, improves accuracy, and saves time and money in comparison to manual testing. 10

Software Testing Tools The following tools can be used for automation testing:  HP Quick Test Professional  Selenium  IBM Rational Functional Tester  SilkTest  TestComplete  Testing Anywhere  WinRunner  LaodRunner  Visual Studio Test Professional  WATIR 11

METHODS OF TESTING White-Box Testing: White-box testing is the detailed investigation of internal logic and structure of the code. White-box testing is also called glass testing or open-box testing. In order to perform white-box testing on an application, a tester needs to know the internal workings of the code. The tester needs to have a look inside the source code and find out which unit/chunk of the code is behaving inappropriately. 12

Black-Box Testing The technique of testing without having any knowledge of the interior workings of the application is called black-box testing. The tester is oblivious to the system architecture and does not have access to the source code. Typically, while performing a black-box test, a tester will interact with the system's user interface by providing inputs and examining outputs without knowing how and where the inputs are worked upon. 13

GREY-BOX TESTING Grey-box testing is a technique to test the application with having a limited knowledge of the internal workings of an application In software testing, the phrase the more you know, the better carries a lot of weight while testing an application Mastering the domain of a system always gives the tester an edge over someone with limited domain knowledge Unlike black-box testing, where the tester only tests the application's user interface; in grey-box testing, the tester has access to design documents and the database 14

TESTING LEVELS Levels of testing include different methodologies that can be used while conducting software testing. The main levels of software testing are:  Functional Testing  Non-functional Testing 15

FUNCTIONAL TESTING This is a type of black-box testing that is based on the specifications of the software that is to be tested The application is tested by providing input and then the results are examined that need to conform to the functionality it was intended for Functional testing of a software is conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. 16

NON-FUNCTIONAL TESTING Non-functional testing involves testing a software from the requirements which are nonfunctional in nature but important such as performance, security, user interface, etc. 17

LEVELS OF TESTING Unit Testing Integration Testing Validation Testing  Regression Testing  Alpha Testing  Beta Testing Acceptance Testing 18

UNIT TESTING This type of testing is performed by developers before the setup is handed over to the testing team to formally execute the test cases. Unit testing is performed by the respective developers on the individual units of source code assigned areas The developers use test data that is different from the test data of the quality assurance team. The goal of unit testing is to isolate each part of the program and show that individual parts are correct in terms of requirements and functionality. 19

INTEGRATION TESTING Integration testing is defined as the testing of combined parts of an application to determine if they function correctly. Integration testing can be done in two ways: Bottom-up integration testing and Top- down integration testing 20

SYSTEM TESTING System testing tests the system as a whole. Once all the components are integrated, the application as a whole is tested rigorously to see that it meets the specified Quality Standards This type of testing is performed by a specialized testing team. System testing is important because of the following reasons: System testing is the first step in the Software Development Life Cycle, where the application is tested as a whole. The application is tested thoroughly to verify that it meets the functional and technical specifications. The application is tested in an environment that is very close to the production environment where the application will be deployed. System testing enables us to test, verify, and validate both the business requirements as well as the application architecture. 21

REGRESSION TESTING Whenever a change in a software application is made, it is quite possible that other areas within the application have been affected by this change Regression testing is performed to verify that a fixed bug hasn't resulted in another functionality or business rule violation The intent of regression testing is to ensure that a change, such as a bug fix should not result in another fault being uncovered in the application. 22

Regression testing is important because of the following reasons: Minimize the gaps in testing when an application with changes made has to be tested. Testing the new changes to verify that the changes made did not affect any other area of the application. Mitigates risks when regression testing is performed on the application. Test coverage is increased without compromising timelines. Increase speed to market the product. 23

ACCEPTANCE TESTING This is arguably the most important type of testing, as it is conducted by the Quality Assurance Team who will gauge whether the application meets the intended specifications and satisfies the client’s requirement. The QA team will have a set of pre-written scenarios and test cases that will be used to test the application. Acceptance tests are not only intended to point out simple spelling mistakes, cosmetic errors, or interface gaps, but also to point out any bugs in the application that will result in system crashes or major errors in the application. 24

ALPHA TESTING This test is the first stage of testing and will be performed amongst the teams (developer and QA teams). Unit testing, integration testing and system testing when combined together is known as alpha testing. During this phase, the following aspects will be tested in the application: Spelling Mistakes Broken Links Cloudy Directions The Application will be tested on machines with the lowest specification to test loading times and any latency problems. 25

BETA TESTING This test is performed after alpha testing has been successfully performed. In beta testing, a sample of the intended audience tests the application. Beta testing is also known as pre-release testing Beta test versions of software are ideally distributed to a wide audience on the Web, partly to give the program a "real-world" test and partly to provide a preview of the next release 26

SOFTWARE TESTING AS CAREER “It is a myth that software testing is inferior to development” -There are many myths about pursuing a career in software testing - it is not considered a challenging career path, on par with software services in terms of growth and compensation. -Let us take a fresh view of what this field has to offer globally - the changing trends in the market, the skill sets required, and the growth and career opportunities that are available to a software test engineer. 27

Breaking the first myth Most organizations recognize software testing as an independent professional discipline. Software Testing not only brings objectivity and transparency to the defect reporting process, but also improves the core business strategy. 28

Looking at the global trends in the software testing field, we see that the market opportunity for the Indian testing companies is huge. Currently, the Indian software testing industry holds close to 50% of the global testing market. The Indian market requires almost 35,000 testers to bridge the gap, which will continue to increase to almost 1,65,000 in the year

SKILLS TO SUCCESS Testing has established itself as a highly attractive profession. But in order to become a good tester, it is important to constantly update skills. We have invested significantly in helping our professionals obtain international testing certifications, such as ISTQB, CSTE, PMP, and so on, and domain certifications. Like any other skill, analytical skills and communication can also be improved by practice, such as solving puzzles, taking challenges or reading books to improve one’s aptitude 30

Question and Answer !! 31