Presentation is loading. Please wait.

Presentation is loading. Please wait.

Quality Assurance Functional & Automation Testing

Similar presentations


Presentation on theme: "Quality Assurance Functional & Automation Testing"— Presentation transcript:

1 Quality Assurance Functional & Automation Testing
Rajesh Charles, Project Manager Batch No: Date: jan

2 Agenda (Complete Course)
Introduction Testing Methodologies Manual Testing Practical Workshop Automation Testing Performance Testing SQL for Beginners Quality Center UNIX for Beginners Interview Practice and Mock Interview

3 Agenda (Today’s Class)
What is Testing Why do we need Testing Who does the testing What has to be tested When is testing done How often to test?

4 Introduction to Testing and Why?
Batch No: Date: jan

5 Software testing - Definition
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test What is Quality Software functional quality reflects how well it complies with or conforms to a given design, based on functional requirements or specifications

6 Software testing – Requirements govern Design
Software Requirements Software Requirements is a description of a software system to be developed, laying out functional and non-functional requirements, and may include a set of use cases that describe interactions the users will have with the software. Requirements to Design -- Example Project Manager Developer Tester

7 Sample Project – Requirement , Development, Testing
Business Requirement Add Two numbers and display the Total Design Design Documentation 1 2 Input text box with label Value 1 and Value 2 2 Input type for Value 1 and Value 2 is numeric 3 Code formula : Value 1 + Value 2 4 Submit button to trigger Total

8 Lets Tryout Some Live Testing

9 Question and Answer

10 Introduction to Environment
Date: 6 January 2015

11 What is Environment and Why do we need it
Software environment is the term commonly used to refer to support an application. A software environment for a particular application could include the operating system, the database system, specific development tools or compiler Software environment is the term commonly used to refer to support an application. A software environment for a particular application could include the operating system, the database system, specific development tools or compiler Software environment is the term commonly used to refer to support an application. A software environment for a particular application could include the operating system, the database system, specific development tools or compiler Application Application is a set of programs designed to perform a specific used purpose

12 Software Architecture
A Set of artifacts and relationships between these artifacts, that guide the selection, creation, and implementation of solutions aligned with business goals. 1. Single Tier Architecture 2. Two Tier Architecture 3. Three Tier Architecture Application / Business Layer Data Layer Presentation Layer Internet/Intranet Web Servers Clients App. Servers Database Server

13 Single Tier Architecture
Single tier (or) Monolithic Architecture : When the application is operated by single user it is recommended to go with single tier architecture Data Layer Presentation Layer Application / Business Layer / Data

14 Two Tier Architecture Two tier architecture : When the requirement is sharing data by set of applications, the solution will be two tier architecture.

15 Three Tier Architecture
Three tier architecture : In three tier architecture business logic is maintained independent of client application and database. In this case client application is database independent application. Application / Business Layer Data Layer Presentation Layer Internet/Intranet Web Servers Clients App. Servers Database Server

16 N Tier Architecture Presentation Layer Web Server Layer Application Server Layer Database Server Layer

17 Operating System Windows Linux Unix
We will discuss about Unix/Linux operating system in details under Unix/Linux for Beginners session.

18 Question and Answer

19 Testing Methodologies-- Day 3
Date: 6 January 2015

20 Agenda (Today’s Class – Day 2)
Types of Testing Why do we need different types of Testing Software Life Cycle Software Life Cycle Models Agile Methodology

21 Types of Software Testing
White Box Black Box White box testing is a testing technique that takes into account the internal mechanism of a system. It is also called structural testing and glass box testing Reference: Black box testing is a testing technique that ignores the internal mechanism of the system and focuses on the output generated against any input and execution of the system. It is also called functional testing

22 Black Box Testing 1. Usability Testing 2. Functional Testing
There are 4 Type of Black Box Testing: 1. Usability Testing 2. Functional Testing 3. Integration Testing 4.Performance Testing 5. System Testing 6. Acceptance Testing 7. Regressing Testing 8. Beta Testing Black Box Testing:

23 User Interface Testing
Usability Testing There are 2 Types of Usability Testing: 1. User Interface Testing 2. Manual Support Testing User Interface Testing A. Easy to User B. Look and Feel B. Quick Interface

24 User Interface Testing
A. Easy to User 6 Thumb Rule from Microsoft . Control Should be well Defined . . Control Should Not be Wrapped/Truncated/Overlapped . . . Control Should Provide Complete Description INITCAP Spell Checking System Menu B. Look and Feel C. Quick Interface Manual Support Testing

25 Functional Testing Functional testing is a quality assurance (QA) process and a type of black box testing that bases its test cases on the specifications of the software component under test Types of Functional Testing 1. Positive Functional Testing 2. Negative Functional Testing Typically, functional testing involves the following steps: Identify functions that the software is expected to perform. Create input data based on the function’s specifications. Determine the output based on the function’s specifications. Execute the test case. Compare the actual and expected outputs Functional Testing : Reference : Key Factors in Functional Testing that is common to every application are: 1. Data Entry - Input 2. Data Manipulation 3. Data Storage/Retrieval/Output

26 Let’s Do Some Testing

27 Question and Answer

28 Testing Methodologies-- Day 4 Integration Testing
Date: 15 January 2015

29 Integration Testing Integration testing is testing in which a group of components are combined to produce output. Also, the interaction between software and hardware is tested in integration testing if software and hardware components have any relation. It may fall under both white box testing and black box testing.  Reference: Main Ref :

30 Integration Testing (cont’d)
Integration testing follows two approach known as ‘Top Down’ approach and ‘Bottom Up’ approach as shown in the image below: Reference: Main Ref :

31 Integration Testing (cont’d) – Top Down Approach Scenario
Current Balance $1000 $500 Transfer $500

32 Integration Testing (cont’d) – Top Down Approach Scenario
Big - Bang Login Wait for all modules to be developed 1 Time Consuming Difficult to trace root cause of Bugs Current Balance 2 Deposit Withdraw Transfer 3 4 5

33 Integration Testing (cont’d) – Top Down Approach Scenario
Modules are tested as and when they are ready Current Balance Driver Current Balance Stub Transfer Transfer

34 Integration Testing (cont’d) – Top Down Approach Scenario
Login Stub Current Balance 2 Deposit Withdraw Transfer 3 4 5

35 Integration Testing (cont’d) – Bottom UP Approach Scenario
Login Drivers Current Balance 4 Deposit Withdraw Transfer 1 2 3

36 System Testing System testing is concerned with behavior of the system as a whole Unlike Integration Testing, which focuses on data transfer amongst modules, system testing checks complete end to end scenarios, as the way a customer would use the system. A good example of Test Case would be Apart from Functional, NON-FUNCTIONAL requirements are also checked Reference: Login Current Balance Transfer Logout

37 Acceptance Testing Acceptance test is usually done at client location by the client Focus of Acceptance test is not to find defects but to check whether the system meets their requirements. Acceptance Testing can be done in 2 ways Alpha Testing – A small set of employees of the client Beta Testing – A small set of customers Reference: This is actually with the clients see’s the requirement which is plain text Into actual working system.

38 Question and Answer

39 Software Testing Life Cycle- Day 5
Date: 19 January 2015

40 Agenda Software Testing Life Cycle [STLC]
Software Testing Methodologies – Water Fall Model Software Testing Methodologies – Spiral Model Software Testing Methodologies – Agile Development Agile Methods - Scrum

41 Software Testing Life Cycle [STLC]
Software Testing Life Cycle refers to a testing process which has specific steps to be executed in a definite sequence to ensure that the quality goals have been met. In STLC process, each activity is carried out in a planned and systematic way. Each phase has different goals and deliverables

42 Software Development Life Cycle [SDLC]
A Software Development Life Cycle is essentially a series of steps, or phases, that provide a model for the development and lifecycle management of an application or piece of software.

43 Software Development Life Cycle – cont’d
SUPPOSE, YOU WERE ASSIGNED A TASK TO DEVELOP A CUSTOM SOFTWARE FOR A CLIENT

44 Software Development Life Cycle – cont’d
Plan the programming language like java, .net, php and database which would be suited for this project 1 Test the software to verify that the build is as per the specification given by the client 2 Actually code the software 3 Gather as much information as possible about the Details & specification of the desired software from the client 4

45 Software Development Life Cycle – cont’d
Gather as much information as possible about the Details & specification of the desired software from the client Requirements Design Plan the programming language like java, .net, php and database which would be suited for this project Actually code the software Build Test the software to verify that the build is as per the specification given by the client Test Maintenance

46 Software Development Life Cycle – cont’d
Requirements Software Development Life Cycle Design Waterfall Model Build Test Maintenance

47 SDLC– cont’d [WATERFALL MODEL]
Requirements Mistake in Requirement Design Design to meet Requirement Build Build to meet Design Test Wrong Product Maintenance You will have to start afresh Project

48 SDLC– cont’d [WATERFALL MODEL]
Requirements Requirements Design Design to meet Requirement Build Build to meet Design Test Wrong Product Maintenance You will have to Re-Design to correct Defects

49 SDLC– cont’d [WATERFALL MODEL]

50 User Acceptance Testing Detailed Design/program
SDLC– cont’d [V MODEL] STLC SDLC User Acceptance Test Plan Requirements User Acceptance Testing System / Functional Test Plan Functional Specification Functional/ System Testing Integration Test Plan High Level Design Integration Testing Unit Test Plan Detailed Design/program specification Unit Testing Code

51 SDLC– cont’d [Iterative Model]
Phase 1 Phase 2 Phase 3 Agile Development Rapid Application Development Requirement Requirement Requirement Design Design Design Build Build Build Test Test Test

52 STLC There are numerous development Life cycle model
Development model selected for a project depends on the aim and goal of the Project Testing is not a stand-alone activity and has to adopt with the development model chosen for the project In any model testing should be performed at all levels (requirements to maintenance)

53 Question and Answer

54 Software Testing Life Cycle- Day 6
Date: 19 January 2015

55 SDLC – Spiral Model Spiral Model is a combination of iterative development process model and sequential linear development Model i.e waterfall model with very high emphasis on risk analysis It allows for incremental releases of the product, or incremental refinement through each iteration around the spiral In Spiral Model focus remains in accessing and minimizing project risk by breaking the projects into smaller segments and providing more easy of change in the development process SPIRAL MODEL DESIGN The spiral model has four phases. A software project repeatedly passes through these phases in iterations called Spirals Identification Design Construct/Build Risk Management

56 SDLC – Spiral Model .. cont’d
2.Design Design phase starts with the conceptual design in the baseline spiral and involves architectural design, logical design of the modules. Physical product design and final design in the subsequent spirals 3. Construct or Build Construct phase refers to production of the actual software product at every spiral. In the baseline spiral when the product is just thought of and design is being developed as a POC 1.Identification This phase starts with gathering the business requirements in the baseline spiral. In this subsequent spirals as the product matures. Identification of system requirements and unit requirements are all done in this phase Continuous communication between the customer and the system analyst. 4. Evaluation and Risk Analysis Risk analysis includes identifying, estimating and monitoring technical feasibility and management risk, such as a schedule slippage and cost overrun. After testing the build at the end of first iteration, the customer evaluates the software and provides feedback

57 SDLC – Spiral Model .. cont’d
Advantages of Spiral Model High amount of risk analysis hence, avoidance of Risk is enhanced Continuous and steady approach minimizes the risk or failures Associated with the change in the system Allows extensive use of prototypes Cost estimation is easy and customer has more control Development can be divided into smaller parts for better risk management Requirements can be captured more accurately Good for large and mission-critical projects Strong approval and documentation control Additional Functionality can be added at a later date Software is produced early in the software life cycle Disadvantages of Spiral Model Can be a costly model to use Risk analysis requires highly specific expertise Project’s success is highly dependent on the risk analysis phase. Doesn't work well for smaller projects

58 SDLC – Agile Methodology
Agile development is an alternative to traditional project management where emphasis is placed on empowering people to collaborate and make team decisions in addition to continuous planning, continuous testing and continuous integration 10 Key Principles of Agile Active user involvement is imperative The team must be empowered to make decisions Requirements evolve but the timescale is fixed Capture requirements at a high level; lightweight & visual Develop small, incremental releases and iterate Focus on frequent delivery of products Complete each feature before moving on to the next Testing is integrated throughout the project lifecycle – test early and often A collaborative & cooperative approach between all stakeholders is essential

59 SDLC – Agile Methodology cont’d
Joshua Book Store

60 SDLC – Agile Methodology cont’d
Iterative Incremental Methodology Requirements Gather Product Design Coding Testing

61 SDLC – Agile Methodology cont’d

62

63 SDLC – Agile Methodology cont’d
The team (or part of the team including the product owner) meet regularly to "groom the product backlog", in a formal or informal meeting which can lead to any of the following: removing user stories that no longer appear relevant creating new user stories in response to newly discovered needs re-assessing the relative priority of stories assigning estimates to stories which have yet to receive one correcting estimates in light of newly discovered information splitting user stories which are high priority but too coarse grained to fit in an upcoming iteration In consultation with the customer or product owner, the team divides up the work to be done into functional increments called "user stories”.

64 SDLC – Agile Methodology cont’d
ScrumTeam Tamy ScrumMaster

65 SDLC – Agile Methodology cont’d

66 SDLC – Agile Methodology cont’d

67 SDLC – Agile Methodology cont’d

68

69 SDLC – Agile Methodology cont’d

70 SDLC – Agile Methodology cont’d

71 SDLC – Agile Methodology cont’d

72 SDLC – Agile Methodology cont’d
Benefits of Agile Time-to-Market Certainty Increase Revenue by Focusing on Customer Value

73 Manual Testing https://ehr.kareo.com/login-ui/#/login
BRD:

74 Software Testing Life Cycle [STLC]
Requirement Gathering Test Planning Test Design Test Execution Development Defect Reporting Signoff


Download ppt "Quality Assurance Functional & Automation Testing"

Similar presentations


Ads by Google