Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

TESTING

Download as pdf or txt
Download as pdf or txt
You are on page 1of 82

www.kodnest.

com

MANUAL TESTING
1.What is testing?
The process or method of finding error/s in a software application or program so that
the application functions according to the end user's requirement is called software
testing.
Or
The process of evaluating a system or its components with the intention to find
whether it satisfies the specified/required requirements or no. In other words,
testing is executing a system to identify any gaps, errors, or missing requirements in
contract of the actual requirements.

2.Explain SDLC?
SDLC is a systematic process for building software that ensures the quality and
correctness of the software built. SDLC process aims to produce high-quality software
that meets customer expectations. The system development should be complete in
the pre-defined time frame and cost. SDLC consists of a detailed plan which explains
how to plan, build, and maintain specific software. Every phase of the SDLC life Cycle
has its process and deliverables that feed into the next phase. SDLC stands for
Software Development Life Cycle and is also referred to as the Application
Development life-cycle

The entire SDLC process is divided into the following stages:


Phase 1: Requirement Elicitation and analysis
Phase 2: Feasibility study:
Phase 3: Design:
Phase 4: Coding:
Phase 5: Testing:
Phase 6: Installation/Deployment:
Phase 7: Maintenance:

Requirement collection and analysis:


It is performed by the senior team member with inputs from all the stakeholders and
domain experts in the industry. Planning for the quality assurance requirements and
recognition of the risks involved is also performed at this stage.
This stage gives a clear insight of the scope of the entire project and the anticipated
issues, opportunities, and directives that triggered the project.
Requirements Gathering stage needs team to get detailed and precise requirements.
This helps companies to finalize the necessary timeframe to finish the work of that
system.
Feasibility study:
Once the requirement analysis phase is completed the next SDLC step is to define and
document software needs. This process was conducted with the help the of 'Software
Requirement Specification' document also known as 'SRS' document.

#Code with KodNest Page | 1


Topic : Manual Testing

It includes everything which should be designed and developed during the project
life cycle.

These are the five major feasibilities analyses:


Economic: Can we complete the project within the given budget?
Legal: Can we handle the project as per cyber law and another regulatory
framework/compliance.
Operation feasibility: Can we create operations that are expected by a client?
Technical: Need to verify whether the current computer system can support the
software
Schedule: Decide whether the project can be completed within the given schedule
or not.

Design:
In this phase, the system and software design documents are prepared as per the
requirement
specification document. This helps define the overall system design.
This design phase serves as the input for the next phase of the model.
There are two types of design documents developed in this phase:
High-Level Design (HLD)
An outline of the functionalities of every module and the
Interface relationship and dependencies between modules
Database tables identified along with their key elements
Complete design diagrams along with technology details
Low-Level Design (LLD)
Functional logic of the modules
Database tables, which include type and size
Complete detail of the interface
Addresses all types of dependency issues
Complete input and outputs for every module

Coding:
Once the system design phase gets over, the next phase is coding. In this phase,
developers begin building the entire system by writing code using the chosen
programming language. In this phase, tasks are divided into units and assigned to
the various developers.
In this phase, the developer needs to follow certain predefined coding guidelines.
They also need to use programming tools compiler, interpreter, and debugger to
generate and implement the code.

Testing:
Once the software is complete, it is deployed into a testing environment. The
testing team starts testing the functionalities of the entire system. This is done to
ensure that the entire application works according to the customer's
requirement.
Quality Assurance and testing team may find some bugs/defects which they
communicate to developers. The development team fixes the bug and sends it back
to QA for a re-test. This process is performed until the
Page | 2 #Code with KodNest
www.kodnest.com

software is bug-free, stable, and working according to the business needs of that
system.

Installation/Deployment:
Once the testing phase is over and no bugs or errors are left in the system then the
final deployment process begins. Based on the inputs given by the project head, the
final software is released and checked for deployment issues if any.

Maintenance:
Once the system is installed, and customers start using the developed software, the
following activities occurs.
Bug fixing - bugs are reported because of some scenarios which are not tested at all
Upgrade - Upgrading the application to the newer versions of the Software
Enhancement - Adding some new features to the existing software

3.Explain waterfall model?


The waterfall model is a widely accepted SDLC model. In this approach, the process
of software development is divided into various phases of SDLC. The outcome of the
previous phase acts as the input for the next phase.
This SDLC model is documentation driven, with earlier phases documenting what
needs to be performed in the subsequent phases.

Fig: Water fall model

#Code with KodNest Page | 3


Topic : Manual Testing

Requirement gathering and analysis: At first, all the requirements regarding


the software are collected from the customer and then analyzed. The goal of the
analysis part is to remove incompleteness (an incomplete requirement is the one
in which some of the actual requirements have been deleted) and inconsistencies
(an inconsistent requirement is the one in which some part of the requirement
contradicts some other part).

Feasibility Study: The main goal of this study is to determine whether it would
be financially and technically feasible to develop the software.
The feasibility study involves understanding the problem and then determining
the various possible strategies to solve the problem. The best solution is chosen
and all the other phases are carried out as per this solution strategy.

Design: The design phase aims to transform the requirements specified in the
SRS document into a structure that is suitable for implementation in some
programming languages. In this software design is translated into source code
using any suitable programming language. Thus, each designed module is coded.

INSTALLATION: the product is deployed in the customer environment or released


into the market.

MAINTENANCE: Maintenance is the task performed by every user once the


software has been delivered to the customer, installed, and operational

Advantages
Simple and easy to understand
completed all at once.
Works well for smaller projects where requirements are very well understood.
Clearly defined stages.
Easy to arrange tasks.
Process and results are well documented.

Disadvantages
A high amount of risk
is involved.
Not suited for large and object-oriented projects.
Poor model for long and ongoing projects.

Software Requirements Specification Example


Project: DEMO Document: SRS Author: Requirements Management Tool for
Software and Systems Development. You will see how you can easily manage end-
to-end requirements traceability from user stories to SRS, tests, and architecture.

Page | 4 #Code with KodNest


www.kodnest.com

Table of Contents
Introduction..............................................................................................................................4 1.1
Purpose ......................................................................................................................................4 1.2
Scope ...........................................................................................................................................4 1.3
Product perspective .............................................................................................................4 1.4
Product functions...................................................................................................................5 1.5
User characteristics .............................................................................................................5 1.6
Limitations ...............................................................................................................................5 1.7
Assumptions and dependencies......................................................................................5 1.8
Definitions.................................................................................................................................5 1.9
Acronyms and abbreviations............................................................................................5 2.
Requirements..........................................................................................................................6 2.1
External interfaces................................................................................................................6 2.2
Functions...................................................................................................................................6 2.3
Usability requirements.......................................................................................................12 2.4
Performance requirements...............................................................................................12 2.5
Logical database requirements.......................................................................................12 2.6
Design constraints.................................................................................................................12 2.7
Standards compliance.........................................................................................................12 2.8
Software system attributes ..............................................................................................12 3.
Verification .............................................................................................................................13 4.
Supporting information......................................................................................................13 5.
References................................................................................................................................13 1.

Introduction
1.1 Purpose The main purpose of this document is to provide a working example of a
Software Requirements Specification (SRS)
1.2 Scope This document specifies requirements for a simple application for
requirements management of software and system products. The application allows
users to: • Capture requirements specifications • Manage requirements using custom
attributes • Set up requirements traceability • Browse the requirements traceability
matrix • Comment and review requirements • Filter and search requirements •
Import requirements from MS Word or Excel • Export requirements to DOCX, XLSX,
PDF, HTML, or CSV • Analyse requirements coverage and impact of changes • Print
requirements specifications The application stores documents as human-readable
files with open file format. The application runs offline without connection to any
server. Check all advanced requirements management features it offers now.
1.3 Product perspective 1.3.1 System interfaces the application runs in the latest
version of Chrome or Firefox browser on Windows, Linux and Mac. 1.3.2 User
interfaces the application GUI provides menus, toolbars, buttons, panes, containers,
grids allowing for easy control by a keyboard and a mouse.1.3.3 Hardware

#Code with KodNest Page | 5


Topic : Manual Testing

interfaces 1.3.4 Software interfaces the application allows import a structured MS


Word document via HTML data format. The application allows populating a MS
Word document with project data via HTML data format. The application allows
import/export of a list of requirements from MS Excel sheet via CSV data format.
The application stores project data in JSON format to enable easy integration with
3rd party applications. 1.3.5 Communications interfaces 1.3.6 Memory constraints
1.3.7 Operations 1.3.8 Site adaptation requirements 1.3.9 Interfaces with services
1.4 Product functions are summarized in Section 2. User Stories of NEEDS
document.
1.5 User characteristics
1.6 Limitations
1.7 Assumptions and dependencies
1.8 Definitions Custom Attribute: Additional requirement property capturing
additional requirements properties such as requirements source, status, priority,
verification method, fit criterion, ..., Document: A structured requirements
specification capturing textual requirements for a given product or service. Link:
A directed association between related requirements allows to analyse the
requirement coverage, gaps and impact of changes. Link Type: The property of
traceability allows you to analyse links with different semantics independently,
e.g., satisfaction and verification links.
1.9 Acronyms and abbreviations CSV: Comma Separated Values DNF: Disjunctive
Normal Form
ID: Identifier GUI: Graphical User Interface
HTML: Hypertext Markup Language
SRS: Software Requirements Specification
2. Requirements 2.1 External interfaces 2.2 Functions 2.2.1 File Operations
2.2.1.1 Create Document
[DEMO-SRS-53] The application shall allow users to create a new empty
document.
[DEMO-SRS-54] If the current document contains unsaved changes, then the
application shall allow users to save the changes before closing the document.
2.2.1.2 Open File
[DEMO-SRS-56] The application shall allow users to open a document from a
chosen file. 2.2.1.3 Save Local File
[DEMO-SRS-59] The application shall allow users to save the opened document
into a file. 2.2.1.4 Document Template

Page | 6 #Code with KodNest


www.kodnest.com

[DEMO-SRS-61] The application shall allow users to create a document template file
from the opened document.

[DEMO-SRS-62] Document templates shall store structure of document sections and


definition and values of requirement attributes.
[DEMO-SRS-63] The application shall allow users to create a new document from a
chosen document template file preserving the structure of document sections and the
definition and values of requirement attributes.
[DEMO-SRS-72] The application shall allow users to import a MS Word document
preserving structure of document sections and paragraphs, rich text description of
requirements and images.
[DEMO-SRS-73] The application shall allow users to import a MS Excel table of
requirements preserving section headings, levels, unformatted text description of
requirements and values of custom attributes. 2.2.1.6 Export
[DEMO-SRS-76] The application shall allow users to export the displayed document
view to HTML.
[DEMO-SRS-77] The application shall allow users to export requirements to CSV.
2.2.2 Document View 2.2.2.1 Table of Contents
[DEMO-SRS-80] The application shall display the table of contents containing section
headings organized according to their document tree hierarchy.
[DEMO-SRS-81] When user clicks on a document section in the table of contents then
the application shall focus the section in the requirements table.
[DEMO-SRS-83] The application shall display the document in a requirements table
containing the following columns: ID, Description, Discussion, Links and a column for
each custom requirement attribute.
[DEMO-SRS-84] The ID column of the requirements table shall display unique
requirement identifiers.
[DEMO-SRS-85] The Description column of the requirements table shall display the
section numbers, headings, requirement text descriptions and attachments.
[DEMO-SRS-86] The Discussion column of the requirements table shall display
requirement comments with information about comment author, date and text
ordered by date and time.
[DEMO-SRS-87] The Links column of the requirements table shall display
requirement traceability links grouped by link types.

#Code with KodNest Page | 7


Topic : Manual Testing

[DEMO-SRS-88] The application shall allow users to change width of each


requirements table column.

[DEMO-SRS-190] The application shall allow users to reorder requirements table


columns.

[DEMO-SRS-89] The application shall allow users to show and hide requirements
table columns except the ID column.
[DEMO-SRS-90] The application shall allow users to sort all requirements table
columns except the Discussion and Links columns by ascending or descending
order. 2.2.2.3 Detailed Information
[DEMO-SRS-92] The application shall allow users to show and hide a pane
displaying detailed information about custom attributes, discussion, traceability
links or history of changes of the selected requirement.
[DEMO-SRS-93] While the custom attributes pane is shown, the application shall
display values of all assigned custom attributes for the selected requirement.
[DEMO-SRS-94] While the discussion pane is shown, the application shall display
all comments for the selected requirement ordered by date and time.
[DEMO-SRS-96] While the discussion pane is shown, the application shall allow
users to expand or collapse a selected comment or all displayed comments.
[DEMO-SRS-97] While a displayed discussion comment is expanded, then the
application shall display the date, time, author and description of the comment.
[DEMO-SRS-98] While a displayed discussion comment is collapsed, then the
application shall display the date, time and author of the comment.
[DEMO-SRS-99] While the links pane is shown, the application shall display all
traceability links starting in or leading to the selected requirement grouped by link
types and ordered by ID of the linked object.
[DEMO-SRS-142] When user clicks on a traceability link then the application shall
focus the linked requirement. 2.2.3 Edit Document 2.2.3.1 Document Structure.
[DEMO-SRS-106] The application shall allow users to create a new requirement
and place it in any document section.
[DEMO-SRS-107] When users create a new requirement the application shall
assign it a unique ID which cannot be changed.
[DEMO-SRS-108] The application shall allow users to copy selected requirements
or document sections within the document.
[DEMO-SRS-109] The application shall allow users to move selected requirements
or document sections within the document.
[DEMO-SRS-110] The application shall allow users to mark selected requirements
or document sections as deleted.

Page | 8 #Code with KodNest


www.kodnest.com

[DEMO-SRS-111] The application shall allow users to undelete selected deleted


requirements or document sections.
[DEMO-SRS-112] The application shall allow users to permanently remove selected
deleted requirements or document sections from the document. 2.2.3.2 Requirement
Attributes
[DEMO-SRS-114] The application shall allow users to edit the heading of the selected
section.
[DEMO-SRS-115] The application shall allow users to edit the text description of the
selected requirement.
[DEMO-SRS-116] The application shall allow users to paste an HTML content copied
from MS Word, Excel or applications into the text description of the selected
requirement. 2.2.3.3 Custom Attributes
[DEMO-SRS-119] The application shall allow users to define custom requirement
attributes and assign them a unique cannot be changed.
[DEMO-SRS-121] The application shall allow users to set a type of each custom
attribute as follows: Boolean, integer number, real number, string, date, number or
XHTML.
[DEMO-SRS-191] The application shall allow users to set one or more values for
custom attributes of enumeration type.
[DEMO-SRS-122] When a user changes the type of a custom attribute then the
application shall automatically convert all values of the attribute to the new type.
[DEMO-SRS-157] If the automatic conversion fails for any attribute value, then the
application shall prevent the change of custom attribute type.
[DEMO-SRS-120] The application shall allow users to set an optional name of each
custom attribute.
[DEMO-SRS-192] The application shall allow users to remove custom attributes.
[DEMO-SRS-193] When a user removes a custom attribute then the application shall
unset values of the attribute in all requirements.
[DEMO-SRS-165] The application shall allow users to edit custom attributes of the
selected requirement.
[DEMO-SRS-124] The application shall allow users to attach one or more images or
documents (PDF, Word, Excel, PowerPoint, Visio, …) to the selected requirement.
[DEMO-SRS-126] When a new attachment is added to the document then the
application shall generate its unique attachment ID as a combination of the
requirement ID and the original attachment file name.
[DEMO-SRS-127] The application shall allow users to save attachment files to the
local file system.
#Code with KodNest Page | 9
Topic : Manual Testing

[DEMO-SRS-128] The application shall allow users to update content of


requirement attachments from a selected file.
[DEMO-SRS-129] The application shall allow users to permanently remove
attachments from the document. 2.2.3.5 Comments
[DEMO-SRS-132] The application shall allow users to comment the selected
requirement.
[DEMO-SRS-133] When a user creates a new comment then the application shall
record the current date and time and the author of the comment. 2.2.3.6
Traceability Links Configuration
[DEMO-SRS-135] The application shall allow users to define link types and assign
them a unique ID that cannot be changed.
[DEMO-SRS-156] The application shall allow users to set for each link type its
name and role name of the source and target requirements.
[DEMO-SRS-138] The application shall allow users to remove link types.
[DEMO-SRS-161] When a user removes a link type then the application shall
remove all traceability links of the link type from the document. 2.2.3.7
Traceability Links
[DEMO-SRS-137] The application shall allow users to create directed traceability
links of a chosen link type between selections of requirements or document
sections.
[DEMO-SRS-139] The application shall allow users to change the link type of a
selected link traceability.
[DEMO-SRS-140] The application shall allow users to revert direction of a selected
traceability link.
[DEMO-SRS-141] The application shall allow users to permanently remove a
selected traceability link from the document. 2.2.3.8 Auto Save
[DEMO-SRS-144] The application shall automatically persist all document
changes and restore them when it is restarted.
[DEMO-SRS-160] When user closes the document the application shall clear all
persisted document data. 2.2.4 Filtering 2.2.4.1 Requirements Filter
[DEMO-SRS-147] The application shall allow users to filter requirements
according to a condition in disjunctive normal form (DNF).
[DEMO-SRS-148] The application shall allow users to enter a filtering condition
matching document sections by their number or heading.
[DEMO-SRS-149] The application shall allow users to enter a filtering condition
matching requirements by their text description or a custom attribute.

Page | 10 #Code with KodNest


www.kodnest.com

[DEMO-SRS-150] The application shall allow users to filter requirements with


missing traceability links of a given type. 2.2.4.2 Full Text Search
[DEMO-SRS-152] The application shall allow users to search requirements matching
one or more given keywords in a string or HTML attribute.
[DEMO-SRS-153] While the search mode is active the application shall highlight the
matched requirements and allow user to select the next or previous matched
requirement in the document. 2.2.5 History of Changes
[DEMO-SRS-159] When a user changes a requirement the application shall record the
current date and time and the author of the change.
[DEMO-SRS-101] The application shall display all changes of the selected
requirement ordered by date and time.
[DEMO-SRS-102] Each displayed requirement change shall contain author, date &
time and description of the change.
[DEMO-SRS-103] The application shall allow users to expand and collapse all changes
in the History pane. 2.2.6 Reporting
[DEMO-SRS-163] The application shall allow users to print the displayed
requirements table.
[DEMO-SRS-164] The application shall allow users to create a PDF containing the
displayed requirements table. 2.3 Usability requirements 2.4 Performance
requirements 2.4.1 Start-up Time
[DEMO-SRS-174] The application should display the opened document within 10s
after it is started. 2.4.2 Edit Response Time
[DEMO-SRS-171] The application should display updated values within 1s after user
triggers the edit operation. 2.4.3 Smooth Scrolling
[DEMO-SRS-173] While a user scrolls the requirements table, the application should
not display scrolling jerks longer than 200ms. 2.4.4 Document Size
[DEMO-SRS-170] The application shall allow users to open documents up to 10000
objects and 100 file attachments with total size up to 100MB. 2.5 Logical database
requirements
[DEMO-SRS-194] The application shall encrypt the persistent application data. 2.6
Design constraints 2.7 Standards compliance 2.8 Software system attributes
[DEMO-SRS-195] The application shall run in the latest version of Chrome or Firefox
browsers.
[DEMO-SRS-176] The application shall not send any project data to the Internet.
[DEMO-SRS-199] The application shall sanitize any data input or imported by users.
3. Verification: Verification tests are specified in [DEMO-TESTS] document.

#Code with KodNest Page | 11


Topic : Manual Testing

4. Supporting information
5. References [DEMO-NEEDS]: User Needs [DEMO-TESTS]:
Verification Tests

4. Explain Spiral model.

It is a combination of the waterfall model and the and iterative model. Spiral Model
helps us to adopt software development elements of multiple process models for
the software project based on unique risk patterns ensuring efficient development
process.
The development process in the Spiral model, starts with a small set of
requirements and goes through each development phase for those sets of
requirements. The software engineering team adds functionalities for the
additional requirements increasing spirals until the application is ready for the
production phase.
Advantages
Additional functionality or changes can be done at a later stage
Continuous or repetition development helps in risk management
Development is fast and features are added systematically in Spiral development
There is always a space for customer inputs and feedback
Disadvantages
Risk of not meeting the schedule or budget within deadlines
Spiral development works best only for large projects and also demands risk
assessment expertise

Page | 12 #Code with KodNest


www.kodnest.com

Spiral software development is not advisable for a small project, it might cost them a
lot

5.Explain Prototype model.

The prototyping model is a software development model in which prototype is


built, tested, and reworked until an acceptable prototype is achieved. It also creates a
base to produce the final system or software. It works best in scenarios where the
project's requirements are not known in detail. It is an iterative, trial and error
method that takes place between developer and client.

Requirements gathering and analysis


A prototyping model starts with requirement analysis. In this phase, the
requirements of the software are defined in detail. During this process, the users of
the system are interviewed to know what is their expectation from the system.
Quick design
The second phase is a preliminary design or a quick design. In this phase, a simple
design of the system is created. However, it is not a complete design. It gives a brief
idea of the software to the user. The quick design helps in developing the prototype.
Build a Prototype
In this stage, an actual prototype is designed on the basis of the information collected
from quick design. It is a small working model of the required system.
Initial user evaluation
In this stage, the proposed system is presented to the client for an initial evaluation.
It helps to find out the strength and weaknesses of the working model comments and
feedback are collected from the customer and updated to the developer.
Refining prototype
If the user is not happy with the current prototype, you need to refine the prototype
according to the user's feedback and suggestions.
This phase will not end until all the requirements specified by the customer are met.
Once the customer is satisfied with the developed prototype, a final system is
developed based on the approved final prototype.

#Code with KodNest Page | 13


Topic : Manual Testing

Implement Product and Maintain


Once the final system is developed based on the final prototype, it is thoroughly
tested and deployed to production. The system undergoes routine maintenance
for minimizing downtime and preventing large-scale failures.
Advantages
Customers are actively involved in development. Therefore, errors can be
detected in the initial stage of the development.
Missing functionality can be identified, which helps to reduce the risk of failure as
Prototyping is also considered a risk reduction activity.
Helps team members to communicate effectively.
Customer satisfaction is higher because the customer can feel the right product at
a very early stage.

Disadvantages
Prototyping is a slow and time taking process.
The cost for developing a prototype would cost more and it is inefficient as the
prototype is ultimately thrown away.
Prototyping may encourage excessive change requests.
Sometimes customers may not be willing to participate in the iteration cycle for
longer time duration.
There may be too many variations in software requirements when each time the
prototype is evaluated by the customer.
It is very difficult for software developers to accommodate all the changes
demanded by the customer.
The client may lose interest in the final product when he or she is not happy with
the initial prototype.
Developers who want to build prototypes quickly may end up with building sub-
standard development solutions.

6. Explain V and V model (VERIFICATION AND VALIDATION MODEL)

Page | 14 #Code with KodNest


www.kodnest.com

Verification: It involves a static analysis technique performed without executing


code. It is the process of evaluation of the product= development phase to find
whether specified requirements meet.

Validation: It involves dynamic analysis technique testing done by executing code.


Validation is the process to evaluate the software after the completion of the
development phase to determine whether the software meets customer’s
expectations and requirements.

Advantages
Easy to Understand.
Testing Methods like planning, and test design goes well before coding.
Saves a lot of time. Hence the chance of success over the waterfall model.
Works well for small projects where requirements are easily understood.

Disadvantages
Very rigid and least flexible.
Not good for a large project.
Software is developed during the implementation stage, so no early prototypes of the
software are produced.
If any changes happen in the process, then the test documents along with the required
documents has to be updated.

#Code with KodNest Page | 15


Topic : Manual Testing

7.Explain agile model

AGILE methodology is practice that promotes continuous iteration of


development and testing throughout the software development life cycle of the
project. In the Agile model, both the development and testing activities are
concurrently done
The Agile development methodology is one of the simplest and most effective
processes to turn a vision for a business need into software solutions. Agile is a
term used to describe software development approaches that employ continual
planning, learning, improvement, team collaboration, evolutionary development,
and early delivery.
Advantages
Customer satisfaction by rapid and continuous delivery of useful software.
People and interactions are emphasized rather than processes and tools.
Customers, developers, and testers constantly interact with each other.
Working software is delivered in weeks rather than months.
Disadvantages
In the case of some software deliverables, especially in the large ones, it is difficult
to monitor the effort required at the beginning of the software development life
cycle.
There is a lack of emphasis on necessary designing and documentation.
The project can easily get taken off track if the customer representative is not clear
about final outcome they want.

What is Scrum?
Scrum is a framework that helps agile teams to work together. Using this, the
team members can deliver and sustain the complex product. It encourages the
team to learn through practice and self-organize while working on the problem.
Scum is work done through the framework and continuously shipping values to
the customers.
Its principle and lessons can be applied to all kinds of teamwork. Scrum describes
a set of tools, meetings, and roles that help the team structure.

Page | 16 #Code with KodNest


www.kodnest.com

Scrum and agile are not the same thing because Scrum focused on continuous
improvement, which is a core foundation of agile. Scrum framework focuses mainly
on getting work done.

What are sprints?


Using scrum, a product is built in a series of repetitions called sprints. It breaks down
a big and complex project into small sizes. It makes projects manageable, allows
teams to ship high quality, and work faster. The sprints give more flexibility to adapt
to the changes.

Sprints are a short time period for the Scrum team that works to complete amount of
work. Sprints are the main component of Scrum and agile methodology. The right
sprints will help the agile team to ship better software.

What is a sprint plan?


A sprint plan is an action in Scrum that kicks off a sprint. The primary focus of the
sprint plan is to define what can be delivered in the sprint. It also focuses on how the
work will be performed. It is done in the combination with the whole Scrum team
members.
The sprint is a set of the time period where all the work is to be completed. Before the
start of development, we have to set up the sprint. We have to describe how long it is
required to achieve the sprint goal and from where we have to start.
#Code with KodNest Page | 17
Topic : Manual Testing

The Factors affecting Sprint planning:


The What: The product owner describes the goal of the sprint and the backlog
items which contributes in achieving the said goal.
The How: Agile development team plans it's required work on how to achieve and
deliver sprint goal.
The Who: The product owner defines the goal based on the value that the
customer’s needs. And the developer needs to understand how they can or cannot
deliver that goal.
The Inputs: The product backlog provides the list of input stuff that could
potentially be part of the current sprint. The team looks over the existing work
done in incremental ways.
The Outputs: The critical outcome of sprint planning is to meet described team
goal. The product set the goal of sprint and how they will start working towards
the goal.

What is the product backlog?


A product backlog is a registered list of work for the development team. It is driven
by the roadmap and its requirements. The essential task is represented at the top
of the product backlog so that the team members get to understand what should
be delivered first.

Page | 18 #Code with KodNest


www.kodnest.com

What is the Daily Scrum?


The Scrum Team is used to doing a daily 15-minute time-boxed meeting to track their
task progress. This routine is called Daily Scrum. In the end of the sprint, the team
holds a sprint review to demonstrate the work done and a sprint retrospective to
improve continuously.

What do you understand by the user story in Scrum?


A user story is a tool used in Scrum (Agile software development) that captures a
feature's description from an end-user perspective. A user story is used to create a
simplified description of a user's requirements.

What is the difference between user stories, epics, and tasks?


Following are the differences between user stories, epics, and tasks:
User Stories: User Stories are used to provide the team with a simple explanation of
the business requirements created from the end user's
(Customer) view.
Epic: An epic is a collection of related user stories which are usually large and
complex.
Tasks: A task is the smallest unit in Scrum that is used to track work. It is a
breakdown of user stories further. Usually, a person or a team of two people work on
a task.

AGILE TESTING
Agile testing is a software testing that follows the best practices of Agile
development
.
8.What Does an Agile Tester Do?
Quality Assurance is everyone's responsibility in Agile. So, Agile testers and
developers need to work together.
Agile development is often driven by tests. Developers use Agile testing
methods like test-driven development to write the test first. Then they write
the code that will be verified by the developers and Agile testers should
collaborate before user stories (e.g., requirements) are set.

Once development and testing are underway, communication remains


important. Agile testers should be testing as developers write code. Plus,
developers will probably do some testing. And Agile testers will probably do
some coding.
Both Agile testers and developers must know what has been tested and what
defects still need to be resolved.

Tests come first in Agile development. When we create a user story, we need to
define the acceptance criteria. This drives the testing and validation of the user
stories.

#Code with KodNest Page | 19


Topic : Manual Testing

IN AGILE TESTING PEOPLE USE THE FOLLOWING APPROACHES:

A) Test-Driven Development (TDD)


Test-driven development (TDD) starts with tests. This kind of development
begins by discussing what one wants to test and then creating a user story.
So, we start by writing a unit test. Then we write the user story. Finally, we
write the code until our unit test passes.
TDD is typically used on unit and component tests — which can be done with
automated testing tools. TDD makes sure the features are working as they
should be.

B) Acceptance Test-Driven Development (ATDD)


Acceptance test-driven development (ATDD) is similar to TDD. But ATDD
would start with customer input on functionality. This kind of development
begins by discussing on how the product will be used. So, we do write a user
acceptance test. And then we do write the code until it passes the test.

C)Behavior-Driven Development (BDD)


Behavior-driven development often follows from TDD and ATDD. In
behavior-driven development, the purpose of the development needs to be
associated to a business outcome. So, we'll have a user story — but the user
story needs to answer why in business terms and in BDD, tests are included
in user stories as scenarios.
BDD is also used for Acceptance tests. It verifies the product functions are
necessary for the desired business outcome.

D)Exploratory Testing
Exploratory testing is a kind of testing that lets testers follow their thinking
— rather than a predefined path. It's typically manual testing. We record
what we're doing and save it as a test. And we figure out what exactly it is
that we are testing as we go.
Exploratory testing is typically used to find the hidden risks within a
product. These would be defects that are missed in functional tests done in
TDD.
Benefits of Agile Test Methodology
Agile testing improves the product quality and enables development teams
to release software in shorter cycles.
We'll find and fix errors faster. So, we can lower the risk of finding a bug at
the very end of testing and missing a deadline.

Page | 20 #Code with KodNest


www.kodnest.com

TYPES OF TESTING
1. BLACK BOX TESTING
2. WHITE BOX TESTING
3. GREY BOX TESTING

BLACK BOX TESTING


Black Box Testing is a software testing method in which the functionalities of the
software applications are tested without knowing the internal code structure,
implementation details and internal paths. Black Box Testing primarily focuses on
input and output of software applications and it is entirely based on software
requirements and specifications. It is also known as Behavioral Testing.

TYPES OF BLACK-BOX TESTING


1. FUNCTIONAL TESTING
2. INTEGRATION TESTING
3. SYSTEM TESTING
4. USER ACCEPTANCE TESTING

9.EXPLAIN FUNCTIONAL TESTING


Functional Testing is type of software testing which validates the software system
against the functional requirements/specifications. The purpose of Functional tests
is to test each function of the software application, by providing appropriate input,
and verifying the output against the Functional requirements.

10.EXPLAIN INTEGRATION TESTING


Integration Testing is defined as a kind of testing where software modules are
integrated logically and tested as a group. A typical software project consists of
multiple software modules, coded by different programmers(developers). The aim of
this level of testing is to expose defects in the interaction between these software
modules when they are integrated
TYPES OF INTEGRATION TESTING
1.INCREMENTALL INTEGRATION TESTING
2. NONINCREMENTAL INTEGRATION TESTING

TYPES OF INCREMENTAL INTEGRATION TESTING


1.TopDown Incremental Integration Testing
2.Bottom-Up Incremental Integration Testing

Top-down integration testing:


It is a technique is to simulate the behavior of the lower-level modules that are not
yet integrated. In this integration testing, testing takes place from top to bottom. At
First, high-level modules are tested, then low-level modules and then finally
integrate the lower-level modules to high level to ensure the system is working as
desired.

#Code with KodNest Page | 21


Topic : Manual Testing

Bottom-Up Integration Testing:


In the bottom-up testing, each module at lower levels is tested with higher
modules until all the modules are tested. The main purpose of this integration
testing is, each subsystem is to test the interfaces among various modules
making up subsystem. This kind of integration testing uses test drivers to drive
and pass appropriate data to the lower-level modules.

Mixed / Hybrid Integration Testing –


Mixed /Hybrid integration testing is also called sandwiched integration testing.
A hybrid integration testing follows a combination of top-down and bottom-up
testing approaches. The top-down approach, testing can start only after the top-
level have been coded and unit tested. The In bottom-up approach, testing can
start only after bottom-level modules are ready. Mixed integration testing is also
called sandwiched integration testing.

NON-INCREMENTAL INTEGRATION TESTING/BIG BANG APPROACH


Whenever the relationship between the modules is not clear, non-incremental
integration testing or big bang integration is executed. In this case the data is
created in one module and is combined with all the other modules to perform
testing. Check as well as test the flow of data between them. It is because of this
that non-incremental integration testing is also known as Big Bang Integration.

In this kind of integration testing approach, most of the developed modules are
coupled together to form a complete software system (a major part of the system)
which is then used for integration testing. This method is effective in saving time
in integration testing process. However, if the test cases and their results are not
properly recorded, the entire integration process will be complicated and may
prevent the testing team in getting their targeted goals or results of integration
testing.

ADVANTAGES
Helps testers in saving integration testing time.
Here all components of the software are integrated at once.
Convenient for small systems.

11.EXPLAIN SYSTEM TESTING


SYSTEM TESTING is a level of testing that validates the complete and fully
integrated software product. The purpose of a system test is to evaluate the end-
to-end system specifications. Usually, the software is only one element of a larger
computer-based system. Ultimately, the software is interfaced with other
software/hardware systems. System Testing is actually a series of different tests
whose sole purpose is to exercise the full computer-based system.
System Testing is carried out on the whole system in the context of either
system requirement specifications or functional requirement specifications or in
both the context. System testing tests the design and behavior of the system and
also the expectations of the customer. It is performed to test the system beyond
the bounds mentioned in the software requirements specification

Page | 22 #Code with KodNest


www.kodnest.com

12.EXPLAIN USER ACCEPTANCE TESTING


Acceptance testing, is a testing technique performed to determine whether or not the
software system has met required specifications. The main purpose of this test is to
evaluate the system's compliance with the business requirements and verify if it is
having met the required criteria for delivery to end-users
User Acceptance Testing (UAT) is a kind of testing performed by the end-user or
the client to accept the software system before moving the software application to
the production environment. UAT is done in the final phase of testing after functional,
integration and system testing is done.
Who Performs UAT?
Client
End users

TYPES OF ACCEPTANCE TESTING


Alpha Testing:
Alpha testing is mainly used to determine the product in the development testing
environment by a specialized team of testers usually called alpha testers.

Beta Testing:
Beta testing is used to assess the product by exposing it to the real end-users, usually
called beta testers in their environment. Feedback is collected from the users and
the defects are fixed. Also, this helps in enhancing the product to give a rich user
experience.

13.What is Adhoc testing?


Adhoc Testing is an informal or unstructured software testing type that aims to
break the testing process in order to find possible defects or errors at an early
possible stage. Ad hoc testing is done randomly and it is usually an unplanned activity
that does not follow any documentation and test design techniques to create test
cases.

14.What is Re-Testing?
Re-testing the application means verifying whether the defects have been fixed or not.

15.What is Regression Testing?


Verifying an existing functional and non-functional area after making changes to the
part of a software or addition of new features is termed so.

16.What is Recovery Testing?


Checking whether the system is able to handle some unexpected or unpredictable
situations is called Recovery Testing.

17.What is Installation Testing?


Checking whether we are able to install software successfully (or) not, as per the
guidelines given in the installation document is called Installation Testing.

#Code with KodNest Page | 23


Topic : Manual Testing

18.What is Un-Installation Testing?


Checking whether we are able to uninstall the software from the system
successfully (or) not is called Un-Installation Testing

19.What is Compatibility Testing?


Checking whether the application is compatible with different software and
hardware environment or not is called Compatibility Testing.

20.What is Exhaustive Testing?


Exhaustive testing is a test approach in which all possible data combinations are
used for testing. Exploratory testing includes implicit data combinations present
in the state of the software/data at the start of testing.

21.What is Performance Testing?


Performance testing is a non-functional testing technique performed to determine
the system parameters in terms of responsiveness and stability under the various
workloads. Performance testing measures the quality attributes of the system,
such as scalability, reliability and resource usage.
Performance Testing Techniques:
Load testing - It is the simplest form of testing conducted to understand the
behavior of the system under the specific load. This will result in measuring
important business critical transactions and load on database, application server,
etc.,
Stress testing - It is carried out to find the upper limit capacity of the system and
also to determine how system performs if the current load goes above expected
maximum level.
Soak testing - Soak Testing is also known as endurance testing, performed to
determine the system parameters under continuous expected load. During Soak
tests the parameters such as memory utilization is monitored to detect memory
leaks, other performance issues. The main aim is to discover the system's
performance under sustained use.
Spike testing - Spike testing is performed by increasing the number of users
suddenly by a very large amount and measuring the performance of the system.
The main aim is to determine whether the system will be able to sustain the
workload.

22.EXPLAIN STLC (SOFTWARE TESTING LIFE CYCLE)


Software Testing Life Cycle (STLC) is a sequence of specific activities conducted
during the testing process to ensure software quality goals are met. STLC involves
both verification and validation activities. Contrary to popular belief, Software
Testing is not just a single/isolate activity, i.e., testing. It consists of a series of
activities carried out methodologically to help certify your software product. STLC
stands for Software Testing Life Cycle.

Page | 24 #Code with KodNest


www.kodnest.com

STLC Phases
There are following six major phases in every Software Testing Life Cycle Model
(STLC Model):
Requirement Analysis
Test Planning
Test case development
Test Environment setup
Test Execution
Test execution report

Requirement Analysis:
Requirement Analysis is the first step of Software Testing Life Cycle (STLC). In this
phase quality assurance team understands the requirements like what is to be
tested. If anything is missing or not understandable then quality assurance team
meets with the stakeholders to better understand the detail knowledge of
requirement.

Test Planning:
Test Planning is most efficient phase of software testing life cycle where all testing
plans are defined. In this phase manager of the testing team calculates estimated
effort and cost for the
testing work. This phase gets started once the requirement gathering phase is
completed.

Test Design:
The test team starts with test case development activity here in this phase. Testers
prepares test cases, test scripts (if automation), and test data.
Once the test cases are ready then these test cases are reviewed by peer members or
team lead.

Test Execution:
The test team starts executing the test cases based on the planned test cases. If a test
case result is Pass/Fail then the same should be updated in the test cases.
The defect report should be prepared for failed test cases and should be reported to
the Development Team through a bug tracking tool for fixing the defects.

Defect Tracking
Defect tracking is the process of identifying, isolating and managing the defects.
The bug life cycle is also known as the Defect life cycle. In the Software
Development Process, the bug has a life cycle. The bug should go through the life cycle
to be closed.

#Code with KodNest Page | 25


Topic : Manual Testing

New
When a tester finds a new defect. He should provide a proper Defect document to
the Development team to reproduce and fix the defect. In this state, the status of
the defect posted by the tester is “New”

Assigned
Defects that are in the status of New will be approved (if valid) and assigned to the
development team by Test Lead/Project Lead/Project Manager. Once the defect is
assigned then the status of the bug changes to “Assigned”

Open
The development team starts analyzing and works on the defect fix

Fixed
When a developer makes the necessary code change and verifies the change, then
the status of the bug will be changed as “Fixed” and the bug is passed to the testing
team.

Test
If the status is “Test”, it means the defect is fixed and ready to do test whether it is
fixed or not.

Verified
The tester re-tests the bug after it got fixed by the developer. If there is no bug
detected in the software, then the bug is fixed and the status assigned is “verified.”

Page | 26 #Code with KodNest


www.kodnest.com

Closed
After verified the fix, if the bug is no longer exits then the status of the bug will be
assigned as “Closed.”

Reopen
If the defect remains the same after the retest, then the tester posts the defect using
the defect retesting document and changes the status to “Reopen”. Again, the bug goes
through the life cycle to be fixed.

Duplicate
If the defect is repeated twice or the defect corresponds to the same concept of the
bug, the status is changed to “duplicate” by the development team.

Deferred
In some cases, the Project Manager/Lead may set the bug status as deferred.
If the bug found during the end of the release and the bug is minor or not important
to fix immediately.
If the bug is not related to the current build.
If it is expected to get fixed in the next release.
The customer is thinking to change the requirement.
In such cases the status will be changed as “deferred” and it will be fixed in the next
release.

Rejected
If the system is working according to specifications and the bug is just due to some
misinterpretation (such as referring to old requirements or extra features) then the
Team lead or developers can mark such bugs as “Rejected”.

23.What is a Test Strategy?


Ans. It is a part of a test plan describing how testing is carried out for the project and
what testing types need to be performed on the application.

24.What is a Test Case?


A Test case is a set of pre-conditional steps to be followed with input data and
expected behavior to validate the functionality of a system.

25.What is Business Validation Test Case?


A test case that is prepared to check business condition or the business requirement
is called Business Validation test case.

26.What is a Good Test Case?


A Test case which has the high priority of catching defects is called a Good Test Case.

27.What is Use Case Testing?


Validating a software to confirm whether it is developed as per the use cases or not is
called Use Case testing.

#Code with KodNest Page | 27


Topic : Manual Testing

28.What is a Defect Age?


The Defect Age is the time gap between the date of detection & the date of closure
of a defect is termed so.

29.What is Showstopper Defect?


A Showstopper defect which is not permitting to continue further with testing.

30.What is a Test Closure?


It is the last phase of the STLC, where the management prepares various test
summary reports that explain the complete statistics of the project based on the
testing carried out.

31.What is meant by Entry Criteria and Exit Criteria in Software Testing?


Entry Criteria is the process that must be present when a system begins, like,
SRS – Software
FRS
Use Case
Test Case
Test Plan
Exit criteria ensure whether the testing is completed and the application is ready
for release, like,
Test Summary Report,
Metrics
Defect Analysis Report.

32.What is Concurrency Testing?


This is a multiple user testing to access the application at the same time to verify
the effect on code, module or DB and it is mainly used to identify the locking and
deadlocking situations in the code.

33.What is Web Application Testing?


Web application testing is done on a website to check – load, performance,
security, Functionality, Interface and Compatibility.

34.What is Unit Testing?


Unit testing is done to check whether the individual modules of the source code
are working properly or not.

35.What is Interface Testing?


Interface testing is done to check whether the individual modules are
communicating properly as per the specifications or no. Interface testing is mostly
used to test the user interface of GUI applications.

36.What is Gamma Testing?


Gamma testing is done when software is ready for release with the specified
requirements, this kind of testing is done directly by skipping all the in-house
testing activities.

Page | 28 #Code with KodNest


www.kodnest.com

37.What is Test Harness?


Test Harness is configuring a set of tools and test data to test an application under
different conditions, which involves monitoring the output with the expected output
for correctness.
The benefits of doing Testing Harness are Productivity increase due to process
automation and an increase he product quality.

38.What is Scalability Testing?


This Testing is used to check whether her functionality and performance of a system
are capable enough to meet the volume and size changes as per the requirements.
Scalability testing is done using the load test by changing various software, hardware
configurations, and the testing environment.

39.What is Fuzz Testing?


Fuzz testing is a kind of black-box testing technique, which uses random bad data to
attack a program to check if anything breaks in the application.

40.What is Test-Driven Development (TDD)?


Test-driven development starts with developing test for each one of the features. The
test might fail as the tests are developed even before the development. Development
team then develops and refactors the code to pass the test.
Test-driven development is related to the test-first programming evolved as part of
extreme programming concepts.
Test-Driven Development Process:
Add a Test
Run all tests and see if the new one fails
Write some code
Run tests and Refactor code
Repeat.

#Code with KodNest Page | 29


Topic : Manual Testing

Fig: Test Driven Development

41.What is Quality Control?


Quality control is a set of methods used by organizations to achieve quality
parameters or quality goals and continually improve the organization's ability to
ensure that a software product will meet quality goals.
Quality Control Process:

Page | 30 #Code with KodNest


www.kodnest.com

The three class parameters that control software quality are:


Products
Processes
Resources
The total quality control process consists of:
Plan - It is the stage where the Quality control processes are planned
Do - Use a defined parameter to develop the quality
Check - Stage to verify if the quality of the parameters is met
Act - Take corrective action if needed and repeat the work

42.What is Test Bed?


The test execution environment configured for testing. Test bed consists of specific
hardware, software, Operating system, network configuration, the product under
test, other system software and application software.
Test Bed Configuration:
It is the combination of hardware and software environment on which the tests will
be executed. It includes hardware configuration, operating system settings, software
configuration, test terminals and other support to perform the test.

43.What is a Test Suite?


Test suite is a container that has a set of tests which helps testers in executing and
reporting the test execution status. It can take any of the three states namely Active,
InProgress and completed.

44.When should you go for manual testing over the automation testing?
There are a lot of cases when manual testing is best suited over automation testing,
like:
Short-time projects: Automation testing aims at saving time and resources yet it takes
time and resources to design and maintain them. For example, if you are building a
small promotional website, it can be much more efficient to rely on manual testing.

#Code with KodNest Page | 31


Topic : Manual Testing

Ad-hoc Testing: In ad-hoc testing, there will not be any specific approach. Ad-hoc
testing is a totally unplanned method of testing where the understanding and
insight of the tester is the only important factor. This can be achieved using
manual testing.
Exploratory Test: This type of testing requires the test engineer’s knowledge,
experience, analytical, logical skills, creativity, and intuition. So human
involvement is important in exploratory testing.
Usability Testing: When performing usability testing, the test engineer needs to
measure how user-friendly, efficient, or convenient the software or product is for
the end-users. Human observation is the most important factor, so manual testing
more appropriate here.

45.what is a critical bug?


A critical bug is a bug that has the potential to affect a majority of the functionality
of the built application. It means a large piece of functionality or major system
component is completely broken and there is no workaround to move further.
Application cannot be given to the end client unless the critical bug is addressed.

46.What is the term ‘quality’ mean when testing?


quality software is reasonably defect-free/ bug-free, delivered on time and within
budget, meets requirements and/or expectations, and is maintainable. “Quality”
is a subjective term. It will depend on who the ‘customer’ is and their overall
influence in the scheme of things.

47.How will you determine when to stop testing?


Deciding when to stop testing is difficult.
Many recent software applications are complex and run in such an interdependent
environment, that complete testing can never said to be done.
Some common factors in deciding when to stop testing are:
→Test cases completed with major percentage passed
→Deadlines (release deadlines, testing deadlines, etc.)
→When the test budget is depleted
→Bug rate falls below a certain level
→When Beta or alpha testing is completed

48.What are the advantages of manual testing?


Analyzing the product from the point of view of the end-user is possible only with
manual testing
GUI testing and code review testing can be done more accurately with the help of
manual testing as visual accessibility and preferences are difficult to automate
Easy to learn for a fresher who have just entered into testing
It is highly suitable for short-term projects when test-scripts are not going to be
repeated and reused for thousands of times
Best way to test the project if it is at the early stages of its development

Page | 32 #Code with KodNest


www.kodnest.com

49.When will you consider using Automation Testing Over Manual Testing?
When tests require periodic execution
When Tests include repetitive steps
When Tests need to be executed in a standard runtime environment
When you have less time to complete the testing phase
When there is a lot of code that needs to be repeatedly tested
When Reports are required for every execution

Can automation testing replace manual testing?


Automation testing will not be a replacement for manual testing. No matter how good
automated tests are, we cannot automate everything.
Manual testing helps us to understand the entire problem and explore other angles
of test cases with more flexibility.

50.How many test cases one can execute in a day?


We cannot have a precise number. it totally depends on the test case complexity and
size Some test cases have few test steps and some test cases may have more test steps.
If we are testing simple functionalities like login, we can execute 30 to 40 test cases
If we are testing complex functionality like completing a purchase flow, we can
execute 10 to 12 test cases.

51.What is Test Data?


Test data is the data that is used by the testers to run the test cases

52.What is quality assurance, and what are the various actions that go into it?
A key component of quality assurance is the path-driven method, which examines
whether the product was developed in the right way and in accordance with all
applicable standards. It is also regarded as a safety precaution. It does so by revealing
a flaw in the software development process. It entails specific tasks like document
review, test case review, inspection etc.

53.What is Quality Control and what are the different types of testing involved in
Quality Control?
Quality control is a product-driven approach that verifies that the developed product
conforms to all the specified requirements. It is considered to be a corrective measure
as it tests the built product to find the defects. It constitutes different types of testing
like functional testing, performance testing, usability testing and so on.

54.Define defect density?


The measurement of the density of defects in the application is known as defect
density. It is determined by dividing the total number of flaws found by the
application's or program's total number of lines of code, methods, or classes.

#Code with KodNest Page | 33


Topic : Manual Testing

55.Define defect priority?


The priority of correcting the issue is known as defect priority. The defect
priority is often set on a scale from P0 to P3, with P0 defects having the most
important issue to address.

56.Define defect severity?


The severity of a flaw that affects functionality is referred to as its severity. We
can have multiple levels of defect severity ranging from minor to catastrophic
depending on the organization.

57.Give an illustration of a fault with a low priority and low severity, a low
priority and high severity, a high priority and high severity.
Following are some instances of various priority and severity combinations:
Low priority, low severity: a spelling error on a page that isn't commonly visited
by users.
Application crashing in a very extreme corner case
Low priority, High severity: Changes to the colour of the logo or a misspelling
of the company name
high priority but low severity.
Issue with login functionality is of high priority and severity.

58.What is a stub in integration testing?


There are instances where top-down integration testing starts with top-level
modules but no lower-level modules have been written. When this occurs, dummy
modules called stubs are employed to emulate the operation of actual modules by
giving a hard-coded or anticipated output based on input values.

59.What is a driver in integration testing?


The method uses driver for the operational modules that are down. In the case of
bottom-up integration testing, drivers are used to simulate the top-level modules
in order to test the related modules lower in the hierarchy.

60.What distinguishes bug release from bug leakage?


When the tested software is made available to the public and the end user
discovers defects in it, this is known as bug leaking. These include the bugs that
the testing team failed to find during the testing process. In contrast, a bug release
is when a particular version of the programme is made available to the public
while still having some known defects that will be repaired in subsequent releases.
These kinds of problems are low priority and are shared with end users in the
release notes.

61.Defect Triage? What do you mean by that?


Defect triage is a procedure where defects are ranked in priority according to
several criteria, such as severity, risk, the amount of time needed to fix the fault,
etc. The development team, testing team, project manager,

Page | 34 #Code with KodNest


www.kodnest.com

business analysts, and other stakeholders participate in the defect triage meeting to
determine the importance of correcting the bugs.

62.What is all pair testing?


All pair testing is a type of testing in which the application is tested with all possible
combinations of the values of input parameters.

63.What is failover testing?


Failover testing is a type of testing that is used to verify the application's ability to
allocate more resources (more servers) in case of failure and transfer the processing
part to the back-up system.

64.What is fuzz testing?


Fuzz testing is a sort of testing in which an application is subjected to a huge volume
of random data in order to discover any security flaws and other problems with the
program.

65.What is pilot testing?


Pilot testing is testing carried out as a trial by a limited number of users to evaluate
the system and provide their feedback before the complete deployment is carried out.

66.What is dev-box Testing?


In dev-box testing, a tester performs testing on the developer's system to verify if the
major functionalities of the application are stable and ready for testing.

67.What is mutation testing?


Mutation testing is a sort of white box testing in which the application's source code
is altered to introduce flaws into how it functions. The test scripts are then run-in
order to validate the errors brought on by the mutant code and determine whether
they are correct.

68.How do you define cyclomatic complexity?


The number of separate routes in a programme is what is known as the cyclomatic
complexity of that programme. This metric shows how much work is involved in
testing all of the functionality.
The formula for it is - L -L – N + 2P, where:
L is the total number of graphs
edges.
The number of nodes
is N.
P represents the quantity of unconnected pieces.

#Code with KodNest Page | 35


Topic : Manual Testing

69.Defect cascading?
And. When one fault is brought on by another, this is known as defect cascade. It
occurs when a flaw that leads to another flaw is not discovered by the testing team.

70.In a white box testing, what all the parameters you verify?
In white box testing following parameters are verified.

1. Verification of the security holes in the code


2. Verification of incomplete or broken paths in the code
3. Verification of the flow of structure according to the document specification
4. Verification of the expected outputs
5. Verification of all conditional loops in the code to check the complete
functionality of the application
6. Verification of the line-by-line coding and cover 100% testing

71.How do you perform Risk Analysis?


Risk analysis involves following steps need to be implemented

1. Finding the score of the risk


2. Making a profile for the risk
3. Changing the risk properties
4. Deploy the resources of that test risk
5. Making a database of risk

72.How can you eliminate the product risk in the project?


The simple yet crucial step that can reduce the product risk in the project.

• Verify the specification documents.


• Have discussions about the project with all stakeholders including the
developer.
• As a real user walk around the website.

73.While monitoring the project what all things do you have to consider?
The things that have to be taken into considerations are:

• Is the project on schedule


• Is the project over budget
• Are we working towards the same career goal?
• Have we got enough resources?
• Are there any warning signs of impending problems?
• Is there any pressure from management to complete the project sooner?

74.Why do we use decision tables?


The techniques of equivalence partitioning and boundary value analysis are often
applied to specific situations or inputs. However, if different combinations of

Page | 36 #Code with KodNest


www.kodnest.com

inputs result in different actions being taken, this can be more difficult to show using
equivalence partitioning and boundary value analysis, which tend to be more focused
on the user interface. The other two specification-based techniques, decision tables,
and state transition testing are more focused on business logic or business rules. A
decision table is a good way to deal with combinations of things (e.g., inputs). This
technique is sometimes also referred to as a cause-effect’ table. The reason for this is
that there is an associated logic diagramming technique called cause-effect graphing’
which was sometimes used to help derive the decision table

75.You have designed test cases to provide 100% statement and 100% decision
coverage for the following fragment of code. if width > length then biggest
dimension = width else biggest dimension = length endif the following has
been added to the bottom of the code fragment above. print “Biggest
dimension is” &biggest_dimensionprint “Width:” & width print “Length:” &
length How many more test cases are required?
None, the existing test cases can be used.

76.Repeated Testing of an already tested program, after modification, to discover


any defects introduced or uncovered as a result of the changes in the software
being tested or in another related or unrelated software component:
Regression Testing

77.Given the following code, which statement is true about the minimum number
of test cases required for full statement and branch coverage?
Read p

Read q

IF p+q> 100

THEN Print “Large”

ENDIF

IF p > 50

THEN Print “p Large”

ENDIF
1 test for statement coverage, 2 for branch coverage

#Code with KodNest Page | 37


Topic : Manual Testing

78.What is DRE, exactly?


A potent metric called as DRE (Defect Removal Efficiency) is used to assess test
effectiveness. Using this metric, we may determine how many bugs we have
discovered among the collection of test cases. DRE is calculated using the formula
DRE=Number of bugs discovered during testing/number of bugs discovered
during testing plus number of bugs discovered by a user.

79.What exactly is JIRA?


JIRA is a software solution for issue tracking that was created by Atlassian and is
frequently used for bug tracking, project management, and issue tracking. It is
commonly used in software testing and development.

80.Describe a workflow.
Workflow is described as the progression of a bug or issue through several stages
of its life cycle.

• Open/Created
• WIP (Work in Progress)
• Completed/Closed

81.What does Atlassian JIRA refer to as an issue?


An issue in JIRA could be anything

• such as a software bug and


• it's objective
• a support tickets
• The application for leave

82.Describe the JIRA labeling and linking issue.


• When you label an issue, you can more flexibly categorize it than when you
assign it to a component or version. Then, you can search for issues based on
their labels.
• Using the linking issue tool, you may establish a connection between two issues
that are located on the same or different JIRA servers

83.How are user stories in JIRA developed for an Agile project?


Follow the procedures shown below to generate user stories
for an Agile project in JIRA.

Issues of the epic and story variety are connected to it. To do this, select the "Epic
link" field to be included in the issue creation screen under "Configure Fields" on
the "Create Issue" page.

Alternately, you might create a core User story and list many sub-tasks under it
to create a product backlog.

Page | 38 #Code with KodNest


www.kodnest.com

84.What are the advantages of utilizing JIRA? Why is it used?


Benefits of using JIRA as a project tracking tool include:
• the ability to periodically monitor project progress
• Project management, bug tracking, and feature implementation
are examples of use cases.
• Simple to modify and expand upon
• Platform-independent
• Fair and upfront licencing practises

#Code with KodNest Page | 39


Topic : Manual Testing

Mostly commonly asked test case


Scenarios in interview.
1)ATM-MACHINE
Verify that the slot for ATM Card insertion is as per the standards
Verify that user is displayed with option when card is inserted from proper side
Verify that no option to continue and enter credentials is displayed when card is
inserted correctly
Verify that font of the text displayed in ATM screen is as per the specification
Verify that touch of the ATM screen is smooth and operational
Verify that user is presented with option to choose language for further operations
Verify that user asked to enter pin number before displaying any card/bank account
detail
Verify that there are limited number of attempts up to which user is allowed to enter
pin code
Verify that if total number of incorrect pin attempts gets surpassed then user is not
allowed to continue further- operations like blocking of card etc gets initiated
Verify that pin is encrypted and when entered
Verify that user is presented with different account type options like- saving, current
etc.
Verify that user is allowed to get account details like available balance
Verify that user same amount of money gets dispatched as entered by user for cash
withdrawal
Verify that user is only allowed to enter amount in multiples of denominations as per
the specifications
Verify that user is prompted to enter the amount again in case amount entered is not
as per the specification and proper message should be displayed for the same
Verify that user cannot fetch more amount than the total available balance
Verify that user is provided the option to print the transaction/enquiry
Verify that user user's session timeout is maintained and is as per the specifications
Verify that user is not allowed to exceed one transaction limit amount
Verify that user is not allowed to exceed one day transaction limit amount
Verify that user is allowed to do only one transaction per pin request
Verify that user is not allowed to proceed with expired ATM card
Verify that in case ATM machine runs out of money, proper message is displayed to
user
Verify that in case sudden electricity loss in between the operation, the transaction is
marked as null and amount is not withdrawn from user's account

Page | 40 #Code with KodNest


www.kodnest.com

2)COFFEE VENDING MACHINE


Verify that the dimension of the coffee machine is as per the specification
Verify that outer body as well as inner components material are as per the
specification
Verify that the machine body color as well brand is correctly visible and as per
standards
Verify the input mechanism for coffee ingredients-milk, water, coffee beans etc.
Verify that the quantity of hot water, milk, coffee powder per serving is accurate
Verify that the power/voltage requirements of the machine
Verify the effect of suddenly switching off the machine or cutting the power. Machine
should stop in that situation and in power resumption, the remaining coffee should
not get come out of the nozzle.
Verify that coffee should not leak when not in operation
Verify the amount of coffee served in single serving is as per specification
Verify that the digital display displays correct information
Check if the machine can be switched on and off using the power buttons
Check for the indicator lights when machine is switched on-off
Verify that the functioning of all the buttons work properly when pressed
Verify that each button has image/text with it, indicating the task it performs
Verify that complete quantity of coffee should get poured in single operation, no
residual coffee should be present in the nozzle
Verify the mechanism to clean the system work correctly- foamier
Verify that the coffee served has the same and correct temperature each time it is
served by the machine
Verify that system should display error when it runs out of ingredients
Verify that pressing coffee button multiple times lead to multiple serving of coffee
Verify that there is passage for residual/extra coffee in the machine
Verify that machine should work correctly in different climatic, moistures and
temperature conditions
Verify that machine should not make too much sound when in operation
Performance test - Check the amount of time the machine takes to serve a single
serving of coffee
Performance test - Check the performance of the machine when used continuously
till the ingredients run out of the requirements
Negative Test - Check the functioning of coffee machine when two/multiple buttons
are pressed simultaneously
Negative Test - Check the functioning of coffee machine with lesser or higher voltage
then required
Negative Test - Check the functioning of coffee machine if the ingredient container's
capacity is exceeded.

#Code with KodNest Page | 41


Topic : Manual Testing

3)GOOGLE SEARCH
Verify that the response fetched for a particular keyword is correct and related to the
keyword, containing links to the particular webpage
Verify that the response is sorted by relevancy in descending order i.e., most relevant
result for the keyword is displayed on top
Verify that response for multi word keyword is correct
Verify that response for keywords containing alphanumeric and special characters is
correct
Verify that the link title, URL and description have the keyword highlighted in the
response
Verify auto-suggestion in Google e.g., providing input as 'fac' should give suggestions
like 'Facebook', 'Facebook messenger', 'Facebook chat' etc.
Verify that response fetched on selecting the suggested keyword and on providing
the keyword directly should be same
Verify that the suggestion provided by Google are sorted by most popular/relevant
suggestions
Verify that user can make search corresponding to different categories - web, images,
videos, news, books etc and response should correspond to the keyword in that
category only
Verify that misspelled keyword should get corrected and response corresponding to
the correct keyword should get displayed
Verify that multi word misspelled keywords also get corrected
Verify the performance of search- check if the time taken to fetch the response is
within the ballpark
Verify that total number of results fetched for a keyword
Verify that the search response should be localized that is response should be more
relevant to the country/area from which the search request is initiated
Verify Google calculator service- make any arithmetic request, calculator should get
displayed with correct result
Verify Google converter service- make request like- 10USD in INR and check if the
result is correct
Verify search response for a large but valid strings
Verify that incorrect keywords - keywords not having related result should lead to
"did not match any documents" response
Verify that user can make search using different languages
Verify that for a keyword, some related search terms are also displayed to aid user's
search
Verify that for number of results more than the limit on a single page, pagination
should be present, clicking on which user can navigate to subsequent page's result
Verify Google's advanced search options like- searching within a website, searching
for files of specific extension
Verify if the search is case-insensitive or not
Verify the functionality of "I'm feeling Lucky" search- the top most search result
should get directly returned (but as of now google doodle page link is displayed)

Page | 42 #Code with KodNest


www.kodnest.com

Front End - UI Test Cases of Google Search


Verify that Google Logo is present and center aligned
Verify that the search textbox is center aligned and editable
Verify that search request should get hit by clicking on search button or hitting enter
after writing the search term
Verify that in the search result- webpage's title, URL and description are present
Verify that clicking the search result will lead to the corresponding web page
Verify that pagination is present in case number of results are greater than the
maximum results allowed in a page
Verify that user can navigate to a page number directly or move to previous or next
page using the links present
Verify that different languages links are present and gets applied on clicking the same
Verify that the total number of results for the keyword is displayed
Verify that the time taken to fetch the result is displayed

4)LIFT
Verify the dimensions of the lift
Verify the type of door of the lift is as per the specification
Verify the type of metal used in the lift interior and exterior
Verify the capacity of the lift in terms of total weight
Verify the buttons in the lift to close and open the door and numbers as per the
number of floors
Verify that lift moves to the particular floor as the button of the floor is clicked
Verify that lift stops when up/down buttons at particular floor are pressed
Verify if there is any emergency button to contact officials in case of any mishap
Verify the performance of the floor - time taken to go to a floor
Verify that in case of power failure, lift doesn't free-fall and get halted in the particular
floor
Verify lifts working in case button to open the door is pressed before reaching the
destination floor
Verify that in case door is about to close and an object is placed between the doors, if
the doors sense the object and again open or not
Verify the time duration for which door remain open by default
Verify if lift interior is having proper air ventilation
Verify lighting in the lift
Verify that at no point lifts door should open while in motion
Verify that in case of power loss, there should be a backup mechanism to safely get
into a floor or a backup power supply
Verify that in case multiple floor number button are clicked, lift should stop at each
floor
Verify that in case capacity limit is reached users are prompted with warning alert-
audio/visual
Verify that inside lift users are prompted with current floor and direction information
the lift is moving towards- audio/visual prompt.

#Code with KodNest Page | 43


Topic : Manual Testing

5)LOGIN
Verify that the login screen is having option to enter username and password with
submit button and option of forgot password
Verify that user is able to login with valid username and password
Verify that user is not able to login with invalid username and password
Verify that validation message gets displayed in case user leaves username or
password field as blank
Verify that validation message is displayed in case user exceeds the character limit of
the user’s name and password fields
Verify that there is reset button to clear the field's text
Verify if there is checkbox with label "remember password" in the login page
Verify that the password is in encrypted form when entered
Verify that there is limit on the total number of unsuccessful attempts
For security point of view, in case of in correct credentials user is
displayed the message like "incorrect username or password" instead of exact
message pointing at the field that is incorrect. As message like "incorrect username"
will aid hacker in brute forcing the fields one by one
Verify the timeout of the login session
Verify if the password can be copy-pasted or not
Verify that once logged in, clicking back button doesn't logout user

6)MOBILE MUSIC PLAYER


1. Test GUI first. Like (Play, Pause, Resume, Next, previous, Volume up and Volume
down) basic buttons available.
2. Able to create playlists and songs played on the player as per playlist.
3. Saving music tracks on existing playlists or new playlist.
4. Finding music as per Genre or other categories.
5. Performance of app when connected to different sound systems.
6. How app behaves when it left idle for long time.
7. How app behaves when two or more same kind of app available.
8. Go Legal
9. Any Facebook or Tweet capability of listening music.
10. Play continuously nonstop for linger duration.
11. Stress testing.

7)MOBILE PHONE
Although there can be numerous test cases for mobile and considering smart phones,
there can be even more test cases. But in this document, we will focus mainly on-
Calling, SMS and directory features.
Verify that all the required buttons- numbers 0-9, calling buttons etc are present-
Verify that user can make a call by pressing numbers and hitting calling(green) button
Verify that user can make a call by selecting contact person from phone directory
Verify that user can reject an incoming call
Verify that user can receive an SMS
Verify that user can type and send an SMS
Verify that the dimension of the mobile is as per specification
Verify the screen size of the mobile

Page | 44 #Code with KodNest


www.kodnest.com

Verify that the weight of the mobile is as per the specification


Verify the font type and size of the characters printed on the keypad
Verify the color of the mobile phone's outer body and characters printed on keypad
Verify the pressure required to press a key on the keypad
Verify that spacing between the keys on the keypad are adequate
Check the type of mobile- smart phone or normal
Check if the mobile is colored or black-white
Check the lighting on the mobile screen is adequate- verify in dark day light
Check if mobile phone can be locked out without password or pin
Check if mobile phone can be locked out with password or pin
Verify that mobile phone can be unlocked with or without password
Verify that user can receive call when phone is locked
Verify that receiving a call when phone is locked, doesn't unlocked it after call
completion
Verify that the user can select an incoming call and SMS alert ringtone
Verify that user can make silent or vibrate mode or incoming calls and SMS
Verify the battery requirement of the mobile
Verify the total time taken to charge the mobile completely
Verify the total time for mobile to get completely discharged when left idle
Verify the total talk for mobile to get completely discharged when continuously used
in conversation
Verify the length of charger wire
Verify that mobile can be switched off and ON
Verify that user can store contact details on the phone book directory.
Verify that user can delete and update contact details in the phonebook directory
Verify that Call logs are maintained in the Call Logs
Verify that received and Sent SMSs are saved in mobile
Verify that user can silent the phone during an incoming call
Verify the auto-reject option can be applied and removed on particular numbers.

8)PEN
Verify the type of pen- whether it is ball point pen, ink pen or gel pen
Verify the outer body of the pen- whether it should be metallic, plastic or any other
material as per the specification
Verify that length, breadth and other size specifications of the pen
Verify the weight of the pen
Verify if the pen is with cap or without cap
Verify if the pen has rubber grip or not
Verify the color of the ink of the pen
Verify the odor of the pen
Verify the size of the tip of the pen
Verify the company name or logo of the maker is correct and at desired place
Verify if the pen is smooth
Verify if the pen's ink gets leaked in case it is tilted upside down
Verify if the pen's gets leaked at higher altitude
Verify the type of surfaces the pen can write at
Verify if the text written by pen is erasable or not

#Code with KodNest Page | 45


Topic : Manual Testing

Verify pens and its ink condition at extreme temperature is as per the specification
Verify the pressure up to which the pen's tip can resist and work correctly
Verify the pen is breakable or not at a certain height as the specification
Verify text written by pen doesn't get faded before a certain time as per the
specification
Verify the effect of water, oil and other liquid on the text written by pen
Verify the condition of ink after long period of time is as per permissible
specification or not
Verify the total amount of text that can be written by the pen at one go
Verify the pen's ink is waterproof or not
Verify if the pen is able to write when used against the gravity- upside down
Verify that in case of ink pen, the pen's ink can be refilled again

9) CREDIT CARD
Test card numbers using the correct length and range and card numbers that are
outside the correct length and range.
Test valid expiry dates, invalid expiry dates and invalid date formats.
Test valid CVV numbers, mismatched CVV numbers and blank CVV numbers.
Entering AVS details for configured numeric or alphanumeric formats.
Test swiping of cards from both sides and chips.
Verify that captured card numbers are properly encrypted and decrypted.
Test that the correct amount is being authorized.
Test that merchant and customer copies of the receipts and any vouchers print
properly.
Check that the receipts are printing the proper date, time, card details, authorized
amount etc.
Test that the correct response codes are being returned for approved, declined, on
hold and all other transactions.
Test that you can reprint the receipt for a closed transaction.
Check that you can void a payment before posting it and that after posting a payment
voiding is not allowed.
All information regarding each credit card transaction should be reflected in reports.
Any adjustments made in closed checks should be reflected in the report.

Page | 46 #Code with KodNest


www.kodnest.com

AUTOMATION TESTING
1. What is Automation Testing?
Automation testing or Test Automation is a process of automating the manual process
to test the application/system under test. Automation testing involves the use of a
separate testing tool which lets you create test scripts which can be executed
repeatedly and doesn’t require any manual intervention.

2. What are the advantages of Automation Testing?


Enables parallel execution
Encourages unattended execution
Improves accuracy thereby reducing human-generated errors
Saves time and money
Supports execution of repeated test cases

3. What is Selenium?
Selenium is one of the most popular automated testing tool/suites. Selenium is
designed to perform automation testing of web-based applications and a wide range
of browsers and platforms. Due to its existence in the open-source community, it has
become one of the most accepted tools amongst the testing professionals.

4. Why should Selenium be selected as a test tool?


Selenium is a free and open source
Selenium has a large user base and helping communities.
Selenium has cross Browser compatibility (Firefox, Chrome, Internet Explorer, Safari
etc.)
Selenium has great platform compatibility (Windows, Mac OS, Linux etc.)
Selenium supports multiple programming languages (Java, C#, Ruby, Python, Pearl
etc.)

5. What are the different Selenium components?


Selenium is not just a single tool or a utility, rather a package of several testing tools
and for the same reason, it is referred to as a Suite. Each of these tools is designed to
cater different testing and test environment requirements.
The suite package constitutes the following sets of tools:
Selenium Integrated Development Environment (IDE)
Selenium Remote Control (RC)
Selenium WebDriver
Selenium Grid

#Code with KodNest Page | 47


Topic : Automation Testing

6. What is Selenium IDE?


Selenium integrated development environment (IDE), Selenium IDE is an
automated testing tool that is released as a Firefox plug-in. It is one of the simplest
and easiest tools to install, learn and to go ahead with the creation of test scripts.
The tool is laid on a record and playback fundamental and also allows editing of
the recorded scripts.
Steps to Install Selenium IDE:
Step 1: Go to Browser > Settings > Extensions > open Chrome Web Store > Search
Selenium Ide and install it.

7. What is Selenium Remote Control (RC)


Selenium Remote Control (RC) – Selenium RC is a server that allows a user to
create test scripts in the desired programming language. It also allows executing
test scripts within the large spectrum of browsers.

8. What is Selenium WebDriver.


WebDriver is a web automation framework that allows you to execute tests against
different browsers.

Chrome Driver

WebDriver
IE Driver Opera Driver

Gecko Driver

Fig: web Driver

Page | 48 #Code with KodNest


www.kodnest.com

9. When should I use Selenium IDE?


Selenium IDE is the simplest and easiest of all the tools within the Selenium Package.
Its record and playback feature makes it exceptionally easy to learn with minimal
knowledge to any programming language. Selenium IDE is an ideal tool for a naïve
user.

10.Which is the latest Selenium tool?


WebDriver

11.Different between selenium components.

Feature Selenium IDE Selenium RC WebDriver

Record and Playback Selenium IDE Selenium RC doesn't WebDriver doesn't


supports record and support record and support record
playback feature playback feature. and playback
feature
Server Requirement Selenium IDE Selenium RC WebDriver doesn't
doesn't require any requires server to be require any server
server to be started started before to be started
before executing the executing the test before executing
test Scripts scripts. the test Scripts
Object Oriented Selenium IDE is not Selenium RC is semi WebDriver is a
an object-oriented object-oriented tool. purely object-
tool oriented tool
Locators/ dynamic Selenium IDE doesn't Selenium RC doesn't WebDriver
finders. support dynamic support dynamic supports dynamic
(For locating web finders or Locators finders. finders
elements on a
webpage)
Handling Alerts, Selenium IDE doesn't Selenium RC doesn't WebDriver offers a
Dropdowns explicitly provide explicitly provide wide range of
aids to handle alerts, aids to handle alerts, utilities and classes
dropdowns dropdowns. that helps in
handling alerts,
dropdowns
efficiently and
effectively.

12.List 5 open-source test tools available.


Selenium
Katalon Studio
QA Wolf
Appium
Robotium

#Code with KodNest Page | 49


Topic : Automation Testing

13.How do I launch the browser using WebDriver?


The following syntax can be used to launch Browser:
WebDriver driver = new FirefoxDriver();
WebDriver driver = new ChromeDriver();
WebDriver driver = new InternetExplorerDriver();

14.What are the different types of Drivers available in WebDriver?


The different drivers available in WebDriver are:
ChromeDriver
FirefoxDriver
InternetExplorerDriver
SafariDriver
OperaDriver
AndroidDriver
IPhoneDriver
HtmlUnitDriver

15.What are the different types of locators in Selenium?


The locator can be termed as an address that identifies a web element uniquely
within the webpage. Thus, to identify web elements accurately and precisely we
have different types of locators in Selenium they are:
ID locator
ClassName locator
Name locator
TagName locator
LinkText locator
PartialLinkText locator
Xpath locator
CSS Selector locator

16.When do we use findElement() and findElements()?


findElement():
findElement() is used to find the one element in the current web page matching to
the specified locator value. only first matching element would be fetched.
Syntax:
WebElement element =driver.findElement(By.Locator(Locator_address)));
findElements():
indElements() is used to find all the elements in the current web page matching to
the specified locator value. All the matching elements would be fetched and stored
in the list of WebElements.

Syntax:
List<WebElement>elementList=
driver.findElements(By.Locator(Locator_address));

Page | 50 #Code with KodNest


www.kodnest.com

17.How to select value in a dropdown?


The value in the dropdown can be selected using WebDriver’s Select class.
Syntax:
selectByValue:
Select selectByValue = new Select(driver.findElement(By.id(“SelectID_One”)));
selectByValue.selectByValue(“greenvalue”);
selectByVisibleText:
Select selectByVisibleText = new Select (driver.findElement(By.id(“SelectID_Two”)));
selectByVisibleText.selectByVisibleText(“Lime”);
selectByIndex:
Select selectByIndex = new Select(driver.findElement(By.id(“SelectID_Three”)));
selectByIndex.selectByIndex(2);

18.How can we handle web-based pop-up?


WebDriver offers the users a very efficient way to handle these pop-ups using Alert
interface.
There are the four methods that we would be using along with the Alert interface.
void dismiss() – The dismiss() method clicks on the “Cancel” button as soon as the
pop-up window appears.
void accept() – The accept() method clicks on the “Ok” button as soon as the pop-up
window appears.
String getText() – The getText() method returns the text displayed on the alert box.
void sendKeys(String stringToSend) – The sendKeys() method enters the specified
string pattern into the alert box.
Syntax:
Alert alert = driver.switchTo().alertt(); alert.accept();

19.Diffrence between JUnit and TestNG

Feature JUnit TestNg

Developed by JUnit was developed by Kent TestNG is a testing


Beck, David Saff, Erich Gamma. framework that was
Erich Gamma, and Kris developed by Cédric
Vasudevan. Beust.
Open-Source JUnit is an open-source TestNG is a Java-based
framework used to trigger and framework that is an
write tests. upgraded option for
running tests.
Supports Annotation It does not support advanced It supports advanced
annotation. annotation.
Ease of Use Running tests need a certain Writing tests and
dependency on JUnit. configuring them is easy
in TestNG than JUnit.

20.Can captcha and bar code be automated.?


No, captcha and bar code cannot be automated.

#Code with KodNest Page | 51


Topic : Automation Testing

IMPORTANT METHODS TO
REMEMBER.
Method Name Description

setProperty() setProperty() method sets the system property


indicated by the specified key.

getTitle() Returns the title of current Webpage

getCurrentUrl() It fetches the URL of the opened application.

get(String url) This method will launch a new browser and opens the
given URL in the browser instance.

close() This command is used to close the current browser


window which is currently in focus.

findElement() This method finds the first element within the current
web page by using given locator.

Syntax:

WebElement element =
driverObject.findElement(By.locator(“value”));

sendKeys() This method enters a value in to an Edit Box or Text box.


Syntax:
driver.findElement(By.elementLocator(“value”)).sendk
eys(“valu e”);

Page | 52 #Code with KodNest


www.kodnest.com
clear() It clears the Value from an Edit box or Text Box. Syntax:
driverObject.findElement(By.locatorname(“value”)).cle
ar();

click() It clicks an Element (Button, Link, Checkbox) etc. Syntax:


driverObject.findElement(By.ElementLocator(“Locator
Value”)).c lick();

getText() The command is used to retrieve the inner text of the


specified web element

size() The size() method of List interface in Java is used to get


the number of elements in this list.

Installation of Selenium IDE:


Step 1: Open Chrome browser -> goto more tools -> Extensions -> Open Chrome web
store in chrome browser

#Code with KodNest Page | 53


Topic : Automation Testing

Step 2: Search for “Selenium IDE” and download.

Using Selenium IDE:


Step 1: Open Selenium IDE and “click on create a new project”.

Step 2: Give the project name.

Page | 54 #Code with KodNest


www.kodnest.com

Selenium IDE:

Installation of Selenium JAR:


Step 1: Download Selenium JAR from the link given below
https://www.selenium.dev/downloads/

#Code with KodNest Page | 55


Topic : Automation Testing

Adding Selenium Jar to Project


Step 1: Right click on Project -> Build Path -> Configure
build path

Step 2: Click on Add External Jar File => add the selenium jar => apply => Ok

Page | 56 #Code with KodNest


www.kodnest.com

Installation of Chrome Driver


Step1: Download Chrome Driver from the link given below
https://chromedriver.chromium.org/downloads

Step 2: Click on the respective link based on your operating system

#Code with KodNest Page | 57


Topic : Automation Testing

Installation of AutoIt Script

Step 1: Download AutoIt Script and Script Editor from the link given below.
https://www.autoitscript.com/site/autoit/downloads/

Adding JUnit Framework to Project:


Step 1: Right click on Project -> Build Path -> Configure build path

Page | 58 #Code with KodNest


www.kodnest.com

Step 2: Click on Add Library

Step 3: click on JUint => next => apply => Ok

#Code with KodNest Page | 59


Topic : Automation Testing

Adding TestNg Framework as Jar File to Project:


Step 1: Right click on Project -> Build Path -> Configure build path

Step 2: Click on Add Library

Page | 60 #Code with KodNest


www.kodnest.com

Step 3: click on TestNg => next => apply => Ok

Creating Maven Project:


Step 1: Right click on Project => New => Others

#Code with KodNest Page | 61


Topic : Automation Testing

Step 2: Click on Maven Project => next

Step 3: “click on Create a simple project”

Page | 62 #Code with KodNest


www.kodnest.com

Step 4: Provide Group id and Artifact Id of your choice

Adding TestNg Plugin to Eclipse


Step 1: In Eclipse Goto Help => Eclipse Marketplace

#Code with KodNest Page | 63


Topic : Automation Testing

Step2: search for “testNG” => Install

Keyboard and Mouse Events Using Actions class.


Action Class provides granular control over input devices.
Selenium provides access to 3 input sources: key inputs for keyboard devices, pointer
inputs for a mouse, pen or touch device, and a wheel input for scroll wheel support.

Steps to handle keyboard and mouse events:


Import the ‘Actions’ classes from Selenium Package.
Instantiate a new ‘Actions’ Object and pass the web driver as argument to Actions
Object.
Locate the Web Element on which Actions must be performed.
Use build().perform(), while executing the Action.

Keyboard actions
A representation of any key input device for interacting with a web page.
Keyboard represents a KeyBoard event. KeyBoard actions are performed by using
low-level interface which allows us to provide virtualized device input to the web
browser.

Page | 64 #Code with KodNest


www.kodnest.com

Keys
In addition to the keys represented by regular Unicode, Unicode values have been
assigned to other keyboard keys for use with Selenium. Each language has its own way
to reference these keys.

Example:
//Enter “webdriver” text and perform “ENTER” keyboard action
driver.findElement(By.name(“q”)).sendKeys(“webdriver” + Keys.ENTER);

Mouse actions
A representation of any pointer device for interacting with a web page. Example:
//Store ‘google seaarch’ button web element
WebElement searchBtn = driver.findElement(By.linkText(“Sign in”)); Actions act =
new Actions(driver);
//Perform click-and-hold on the element
act.clickAndHold(searchBtn).build().perform();

Waits in WebDriver.
Why Do You Need Waits In Selenium?
Most of the modern applications front-end is built on either Ajax or JavaScript,
followed by popular frameworks like Angular, React, or any other, which takes some
time for loading elements on the web page. Hence, in such a case, Selenium throws an
'ElementNotVisibleException' or 'NoSuchElementException' message when you tend to
locate an element present in your script which is still not loaded on the web page.
To overcome this problem between the browser and your WebDriver script, waits are
applied on WebDriver.

Types of waits:
Implicit Waits
The main function of implicit Wait is to tell the web driver to wait for some time
before throwing a "No Such Element Exception". Its default setting is knocked at zero.
Once the time is set, the driver automatically will wait for the amount of time defined
by you before throwing the above-given exception.

Syntax: driver.manage().timeouts().implicitlyWait(TimeOut,TimeUnit.SECONDS);

Example:
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitWait(Duration.ofSeconds(10));
Note: Implicit Wait is globally applied. It is readily available for driver instance. It also
means that if the driver is having interaction with One thousand elements in the
meantime, the implicit Wait will be applicable only for those 1000 elements. It cannot
go beyond that.

#Code with KodNest Page | 65


Topic : Automation Testing

Explicit Waits
Explicit Waits also known as Dynamic Waits because it is highly specific conditioned.
Suppose a web page consisting of a login form that takes input and loads the Home or
Main page content. This page is dynamic because of the time constraints and network
frequency, sometimes taking 10 seconds or maybe 15 seconds to load completely.
Explicit Wait comes in handy in such cases and allows you to wait until the page is not
present to display.
Syntax:
WebDriverWait wait=new WebDriverWait(WebDriveReference,TimeOut);
Example:
//Initialize and wait till element(link) became clickable – timeout in 10 sec
WebElement fr = new WebDriverWait(driver, Duration.ofSeconds(10))
fr.until(ExpectedConditions.elementToBeClikcable(By.xpath(“//a/h3”)));
Automation Scenarios:
Automating for opening Amazon page and searching for laptop products.

Steps:
Open Google Chrome
Navigate to Amazon webpage
Locate amazon search button
Type “Laptop” and submit.
Code:
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class Amazon_Automation {

public static void main(String[] args) {

//Launch the browser


System.setProperty("webdriver.chrome.driver","give the path of chrome driver");
ChromeDriver driver = new ChromeDriver();

//Maximize the browser driver.manage().window().maximize();

// Navigate to webpage driver.get("https://www.amazon.com/");

//Locating amazon Search Box


WebElement search_box = driver.findElement(By.id("twotabsearchtextbox"));

//Type Laptop search_box.sendKeys("Laptops");

// Submitting
search_box.submit();

}
}
Page | 66 #Code with KodNest
www.kodnest.com

Automation for Instagram Account sign up page


Steps:
Open Google Chrome
Navigate to Instagram login page
Locate signup button
Click on sign up
Locate on Email or Mobile number Field
Type the email
Locate on name Field
Type the name
Locate on username Field
Type Username
Locate on Password field
Type password
Locate on signup
click on signup
Apply waits on driver

#Code with KodNest Page | 67


Topic : Automation Testing

After clicking on sign up below widow will be displayed:

Create select class object for automating drop down box in webpage
Locate on Month drop down
Select month
Locate on date drop down
select date
Locate on year drop down
select year
Locate on next button

click on next button


close the webpage

Code:
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.Select;

public class Instagram {

public static void main(String[] args) {


//Launch the browser
System.setProperty("webdriver.chrome.driver"," give the path of chrome driver ");
ChromeDriver driver = new ChromeDriver();

Page | 68 #Code with KodNest


www.kodnest.com

//Maximize the browser

driver.manage().window().maximize();

// Navigate to Instagram login webpage


driver.get("https://www.instagram.com/accounts/login/?hl=en");

// applying waits on web driver


driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);

//Locating sign up button


WebElement Sign_up = driver.findElement(By.linkText("Sign up")); Sign_up.click();

//Locating Email or Mobile number Field WebElement email =


driver.findElement(By.xpath("/html/body/div[1]/section/main/div/div/div[1]/div
/form/div[3]/ div/label"));

//TypingRaj100101_Sharma@gmail.com
email.sendKeys("Raj100101_Sharma@gmail.com");

//Locating name Field WebElement name =


driver.findElement(By.xpath("/html/body/div[1]/section/main/div/div/div[1]/div
/form/div[4]/ div/label/input"));

// Typing Raj
name.sendKeys("Raj");

//Locating username Field


WebElement username = driver.findElement(By.name("username"));

// Typing Raj10101_Sharma username.sendKeys("Raj10101_Sharma");

// Locating on Password
WebElement password = driver.findElement(By.name("password"));

//Typing password
password.sendKeys("Raj1234");

//Locate sign_up button

WebElement sign_up=
driver.findElement(By.xpath("/html/body/div[1]/section/main/div/div/div[1]/div
/form/div[7]/ div/button"));

//click on sign_up button


sign_up.click();

#Code with KodNest Page | 69


Topic : Automation Testing

//applying waits on web driver


driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);

//Locating month
WebElement month =
driver.findElement(By.xpath("/html/body/div[1]/section/main/div/div/div[1]/div
/div[4]/div/di v/span/span[1]/select"));

//creating select class object Select sel1 = new Select(month);


sel1.selectByVisibleText("May");//selecting month by its visible text

//Locating date WebElement date =


driver.findElement(By.xpath("/html/body/div[1]/section/main/div/div/div[1]/div
/div[4]/div/di v/span/span[2]/select"));

//creating select class object Select sel2 = new Select(date);


sel2.selectByValue("10");//selecting date by its value

//Locating year WebElement year =


driver.findElement(By.xpath("/html/body/div[1]/section/main/div/div/div[1]/div
/div[4]/div/di v/span/span[3]/select"));

//creating select class object Select sel3 = new Select(year);


sel3.selectByValue("2010");//selecting date by its value

// Locate on next WebElement next=


driver.findElement(By.xpath("/html/body/div[1]/section/main/div/div/div[1]/div
/div[6]/button "));

// click next.click();

// close the page driver.close();

}
}
Automation to print all the links present in Kodnest webpage and search for link text
“Online Courses”. If the link text contains “Online Courses” then click on it.
Steps:
Open Google Chrome
Navigate to Kodnest page
Locate all the links and collect it
Printing total number of links
Print all link text present in Kodnest page
find link text "Online Courses" and click on it

Page | 70 #Code with KodNest


www.kodnest.com

Code:
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class Kodnest {

public static void main(String[] args) {

//Launch the browser


System.setProperty("webdriver.chrome.driver",""," give the path of chrome driver ");
ChromeDriver driver = new ChromeDriver();

//Maximize the browser


driver.manage().window().maximize();

// Navigating to Kodnest Page driver.get("https://Kodnest.com");

// Locating all the links and collecting the links List<WebElement> list =
driver.findElements(By.tagName("a"));

//Printing total number of links


System.out.print("Total Links in Kodnest page :"+list.size());

// Printing all link text present in Kodnest page


for( WebElement e:list)
{
System.out.println(e.getText());
}

//finding link text "Online Courses" and clicking on it


for( WebElement e:list)
{
String s = e.getText();
if(s.contains("Online Courses"))
{
e.click();
break;

}
}
}
}

#Code with KodNest Page | 71


Topic : Automation Testing

Automation to navigate to “easemytrip” webpage and click on search button without


entering ‘From’ and ‘departure date’, after clicking handle the ‘Alert’ displayed in
webpage and print the text present in ‘alert’ on console.
Steps:

Launch Chrome Browser


Navigate to “easemytrip”
Locate on Search button
click on it
Switch to alert box
Get the text present in alert box
print it in console.

Automation and Testing to navigate to “Google” page and print all the links
present in Google page, after printing check if “Gmail” link is present in the
webpage. Generate the test report for the above automation.
Steps:

Add all the required tools to the project to perform automation testing.
Launch the browser
Navigate to “Google” webpage
Locate all the links present in Google webpage and collect it
Printing total number of links
Print all link text present in Google webpage
find if “Gmail” is present in the webpage .
Generate the Test Report using TestNg Framework.
Code:
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
public class AutoTest { @Test
public void google_test()
{

Page | 72 #Code with KodNest


www.kodnest.com

//Launching chrome Browser


WebDriver driver = new ChromeDriver();

//Maximize the browser driver.manage().window().maximize();

//Navigate to google driver.get("https://www.google.com");

//Text to search
String driver_title = "Gmail";

// Locating all the links and collecting the links List<WebElement> list =
driver.findElements(By.tagName("a"));

//Printing total number of links

System.out.println("Total Links in google page :"+list.size());

// Printing all link text present in Google page


for( WebElement e:list)
{
System.out.println(e.getText());
}

//finding link text "Gmail" is present in webpage


for( WebElement e:list)
{
String s = e.getText();

if(s==driver_title)
{

}
}
driver.close();
}
}

Test Report

Total Links in google page :25 Gmail


Images Sign in
??????
?????
??????
?????
?????
???????
?????
#Code with KodNest Page | 73
Topic : Automation Testing

??????
??????
About Advertising Business
How Search works Privacy
Terms

PASSED: google_test

===============================================
Default test
Tests run: 1, Failures: 0, Skips: 0
===============================================

===============================================
Default suite
Total tests run: 1, Failures: 0, Skips: 0

Page | 74 #Code with KodNest

You might also like