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

STQA SEM III SPPU MAR APR 2023 FINAL PDF-1_removed

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

Q1) a) Write a detailed test plan for online grocery ordering mobile application.

the application
functionalities are registration, login, check items, price, delivery time etc. [6]
Ans: Test Plan for Online Grocery Ordering Mobile Application

• Purpose:
The purpose of this test plan is to ensure the quality, performance, and reliability of the online
grocery ordering mobile application, providing a seamless shopping experience for users.
• Scope:
This test plan covers all aspects of the online grocery ordering application, including
registration, login, item selection, pricing, delivery scheduling, and other associated
functionalities.
• Background of the Application:
Briefly describe the application, its objectives, and its significance in the context of online
grocery shopping.
• Test Motivators:
Explain why testing is essential for this application, emphasizing factors like user experience,
security, and business success.
• Target Test Items:
List the main components and functionalities to be tested, including registration, login, item
catalog, cart management, payment, delivery scheduling, etc.
• Test Inclusions:
Detail what aspects are to be tested, such as functional, non-functional, usability, security, and
compatibility testing.
• Test Exclusions:
Specify what will not be tested, e.g., third-party integrations, as they are typically handled
separately.
• Test Approach (Types of Testing):
Describe the types of testing to be conducted, such as:
➢ Functional Testing
➢ Usability Testing
➢ Security Testing
➢ Performance Testing
➢ Compatibility Testing
➢ Regression Testing
• Entry & Exit Criteria of Test Case:
Define the conditions under which test cases can begin and end, including prerequisites and
expected results.
• Entry & Exit Criteria of Test Cycle:
Describe the conditions for starting and concluding each testing phase or cycle.
• Deliverables:
Specify the documents, reports, and artifacts that will be generated as part of the testing
process, such as test plans, test cases, defect reports, and test summary reports.
• Testing Workflow:
Present a step-by-step outline of the testing process, including planning, design, execution,
defect reporting, and retesting.
• Test Environment (S/W & Hardware):
Detail the software and hardware configurations required for testing, including the mobile
devices, operating systems, and testing tools.
• Roles & Responsibilities:
Assign roles and responsibilities to team members, such as test manager, test engineers, and
product owners, specifying their duties and communication channels.
• Milestones (Schedule):
Provide a timeline with key testing milestones and deadlines, coordinating with the
development and release schedule.
• Risk & Risk Mitigation:
Identify potential risks and challenges in testing, such as insufficient test data or time
constraints, and propose strategies for mitigation.
Q1) b) Write the test cases for above application.
Ans:

Screens:
Test Cases for above Application

Project Name Online Grocery Ordering Mobile Application


Module Name Registration

Test Test Test Description Test Steps Test Data Expected Result Actual Result Status
Case Features
ID
TC001 User Check all the text boxes and Check page N/A UI should be UI is prefect Text Pass
Interface buttons prefect Text boxes boxes and buttons
and buttons are aligned
should be aligned properly
TC002 Required Check the required fields by not Do not enter name, email, N/A Error showing to Error shown to Pass
Fields filling all data. mobile number, address and enter all data enter all data
password and click on sign
up button.
TC003 Required Check the required fields by Enter name, email, mobile Name: Rohan User should get User got Pass
Fields filling all data. number, and password and Mehra registered and registered and
click on sign up button. Email: auto login and auto login and
rohan@gmail.com redirected home redirected home
Mobile Number: screen screen
8888999900
Password:
123@abcXYZ
TC004 Email Check the Email text field that Enter invalid email-ids. Email's: It Should show the It shows the Pass
Validation has an email address without Click on the sign up button 1. rohangamil.com message error for message error for
symbol. Check the Email text 2. invalid email invalid email
field that has a random string rohan@gmailcom
instead of a real email. Check the 3. rohan@gmail
Email text field that has a @
symbol written in words. Check
the Email text field that has a
missing dot in the email address
TC005 Mobile Check the mobile number field Enter invalid mobile Mobile Number: It Should show the It shows the Pass
Number without 10-digit number. number. Click on the sign up 888899990086866 message error for message error for
Validation button. mobile number mobile number
TC006 Password Check the password field that Enter Invalid password. Password: It should accept It is accepting the Pass
Validation password without a capital letter, Click on the sign in button 1. rohan@1, the password and password and
small letter, number, special 2. r@ABCD user should get user got
character and password length register registered
less than 6 characters
TC007 Password Check the password field that Enter valid password. Click Password: It should not It is accepting the Fail
Validation password should contain capital on the sign up button 1. rohan@123XY accept the password and not
letter, small letter, number, 2. r@123ABCD password and displaying the
special character and password should display the error.
length of minimum 8 characters error
Project Name Online Grocery Ordering Mobile Application
Module Name Login

Test Test Features Test Description Test Steps Test Data Expected Result Actual Result Status
Case
ID
TC008 Position of cursor Verify that as Check the page N/A When user visit The cursor in on Pass
soon as the login and cursor login page the the email textbox
page opens, by cursor should
default cursor automatically
remain on the remain on email
email textbox textbox.
TC009 Required Fields Check the Do not enter N/A Error showing to Error shown to Pass
required fields by email address and enter all data enter all data
not filling all password and
data. click on login
button.
TC010 Required Fields Check the Enter only email Email: Error showing to Error shown to Pass
required field by address and don’t rohan@gmail.com enter password enter password
not filling enter password
password and click on login
button.
TC011 Required Fields Check the Enter only Password: Error showing to Error shown to Pass
required field by password and rohan@123XYZ enter email enter email
not filling email don’t enter email address address
address and click
on login button.
TC012 User Login Check when Enter valid email Email: User should get User got the error Pass
passing for the and invalid rohan@gmail.com error message to message
valid email & password Password: enter valid
invalid password rohan@123 password as
capital letters are
missing
TC013 User Login Check when Enter invalid Email: User should get User got the error Pass
passing for the email and valid rohan@gmail error message to message
invalid email & password Password: enter valid email
valid password rohan@123XYZ as .com is
missing
TC014 User Login Check when Enter invalid Email: User should get User got the error Pass
passing for both email and invalid rohan@gmail error message to message
invalid email & password Password: enter valid email
password rohan@12 & valid password
TC015 User Login Check when both Enter valid email Email: User should get User got login Pass
correct email and and password and rohan@gmail.com login and and redirected to
password are enter login button Password: redirected to login page
passed rohan@123XYZ home screen page
TC016 User Login Check when both Enter valid email Email: User should get User got error Pass
correct email and and password and rohan@gmail.com error message for message
password are enter login button Password: registering
passed but user is rohan@123XYZ
not registered
TC017 Sign Up Button Check that Click on sign up N/A Should redirected It is redirected Pass
signup button is button to register page
working
TC018 Forgot Password Button Check that Click on Forgot N/A Should redirected It is redirected Pass
Forgot Password Password button to Forgot
button is working Password page
Project Name Online Grocery Ordering Mobile Application
Module Name Items

Test Test Test Description Test Steps Test Data Expected Result Actual Result Status
Case ID Features
TC019 Items Card Verify that the items card are Check the page N/A The item cards should be The item cards are aligned Pass
aligned and having all fields and all the aligned properly
fields
TC020 Required Verify that on the product page, the Check the Size: S, M, The attributes should be The attributes are selected Pass
Fields user can select the desired attribute buttons and all L, XL able to selected
of the product e.g., size, color, etc the options Color: red,
green
TC021 Plus Button Verify that user can add quantity of Click on the Qty: 4 Quantity of the product Quantity of the product is Pass
Field item to the cart using this plus plus button should be increased and it increased and the price is
button will increase price increased
TC021 Minus Verify that user can minimize Click on the Qty: 3 Quantity of the product Quantity of the product is Pass
Button quantity in the cart of item using minus button should be decreased and decreased and theprice is
Fields the minus button it will decrease price decreased
TC022 Remove Verify that button is able to remove Click on the N/A Product should be Product is removed Pass
Button the item from cart remove button removed using
remove button.
TC023 Place Order Verify that button is able to place Click on the N/A Product should be placed Product is placed Pass
Button the order. place order using
button place order button.
TC024 User Login Verify that user should be login Click on place N/A The order should not The order is not placed Pass
before placing order order button placed until the user is not
login
TC025 User Login Verify that user should be able to Click on place N/A The order should be The order is placed Pass
place the order when it is logged in order button placed
TC026 Checkout Verify that button is able to check Click on the N/A Product should be Product is checked out Pass
Button out the cart after user logged in checkout button checked out

TC027 Plus Button Verify that user can not add Click on plus Qty: 10 Quantity of the product The quantity is increased Failed
Field quantity using the plus button more button (Qty should not increase more after clicking the plus
than availability Available: than availability button
5)
TC028 Minus Verify that user cannot minus Click on minus Qty: 10 Quantity of the product The quantity is decreased Failed
Button quantity in negative using the button (Qty should not decrease after clicking the minus
Fields minus button Available: - below the 0 button and goes negative.
2)
Project Name Online Grocery Ordering Mobile Application
Module Name Billing

Test Test Test Description Test Steps Test Data Expected Result Actual Result Status
Case Features
ID
TC029 Shipping Verify that the address Enter the details Address Line: FL-103,B All fields should be valid All fields are valid and Pass
Address field is accepting all in the fields Vignaharta Apartments. and the input should be input is accepted
Field the inputs like address Area: Narhe, accepted
line, area, pincode, Pincode: 411041,
city, state City: Pune,
State: Maharashtra
TC030 Total Verify that total Check the N/A Total amount should be It is shown and Pass
Amount amount is calculated amount that has calculated correctly calculated correctly
correctly including all been applied displayed
taxes and prices
TC031 Discount Verify that user should Check the N/A The total amount should be It is recalculated and Pass
Vouchers be able to apply applicable recalculated after the the amount is shown
discount vouchers if discount discount voucher is applied
applicable vouchers and the
total amount
TC032 Shipping Verify the shipping Check the N/A The total amount should be It is recalculated and Pass
Charges charges that are applied charges changed after adding the amount is shown
to the total amount shipping charges
TC033 Tax Verify that appropriate Check the total N/A Total amount should be It is calculated and the Pass
Calculation tax is applied to the amount after calculated after adding total amount is
order and the total taxation taxes like CGST, SGST displayed
amount is calculated correctly and then
displayed
TC034 Payment Verify the mode of Check the UPI ID: The payment mode should The payment mode is Pass
Mode payment for the available options 8888999900@paytm, validate all the credentials working and amount
transfer of amount for payment Credit Card: and should make payment is being transferred
from the users bank mode 6644552233118899 transfer and should accept and it is all accepting
account Exp: 12/25 if user choose COD COD
CCV: 345,
Debit Card:
9977552233118866
Exp: 12/25
CCV: 565,
COD
Project Name Online Grocery Ordering Mobile Application
Module Name Delivery

Test Test Test Description Test Steps Test Expected Result Actual Result Status
Case ID Features Data
TC035 Order Verify that the order has been Check the order N/A The order tracking should It is shown to the user as Pass
placed and order has been gone status be available to the user expected
for tracking
TC036 Expected Verify that the expected time Check the time of N/A The expected delivery The expected delivery Pass
Time has been calculated properly delivery should be calculated should is calculated
displayed displayed
TC037 Route Verify that the order has been Check the routes N/A The routes and where the The routes and where the Pass
Tracking tracking by the route is has been status for order order has been arrived order has been arrived is
coming from should be displayed displayed
TC038 Delivery Verify that the delivery time Check the options N/A The user should be able to The user is able to change Pass
Time selection should be flexible for available for change the delivery time the delivery time as per
Window the user delivery time their schedule
Q2) a) Write the test cases for testing username and password to use email account
Ans: Screen

Test Cases for above Application

Project Name Email Account


Module Name Login

Test Case ID Test Features Test Description Test Steps Test Data Expected Result Actual Result Status
TC001 User Interface Check all the text Check page N/A UI should be UI is prefect Text Pass
boxes and prefect Text boxes and
buttons boxes and buttons are
buttons should be aligned properly
aligned
TC002 Required Fields Check the Do not enter N/A Error showing to Error shown to Pass
required fields by username and enter all data enter all data
not filling all password and
data. click on login
button.
TC003 Required Fields Check the Enter only Email: Error showing to Error shown to Pass
required field by username and rohan@gmail.com enter password enter password
not filling don’t enter
password password and
click on login
button.
TC004 Required Fields Check the Enter only Password: Error showing to Error shown to Pass
required field by password and rohan@123XYZ enter email enter email
not filling email don’t enter email address address
address and click
on login button.
TC005 Username Field Check whether Enter invalid Username: Error should be The error is Pass
username username rohangmailcom shown to enter shown and
entered is valid valid username message is
or not by having displayed
@ symbol, a dot
after domain and
com after dot and
there no other
special
characters,
underscore or
space
TC006 Username Field Check whether Enter valid Username: The error The input is Pass
username username rohan@gmail.com message or any accepted and no
entered is valid prompt should error message is
or not by having not displayed it displayed
@ symbol, a dot should accept the
after domain and input
com after dot and
there no other
special
characters,
underscore or
space
TC007 Password Check the Enter Invalid Password: It should not It is not Pass
Validation password field password. Click rohan@123, accept the accepting the
that password on the login r123ABCD password and password and
without a capital button user should get a error message is
letter, small error message to displayed
letter, number, enter the valid
special character password
and password
length less than 6
characters
TC008 Password Check the Enter valid Password: It should accept It is accepting the Pass
Validation password field password. Click rohan@123XYZ, the password and password and
that password on the login rohan123@ABCD user should get user got logged
with a capital button login in
letter, small
letter, number,
special character
and password
length less than 6
characters
TC009 User Login Check whether Enter the valid Username: The system The system Pass
the non- username and rohan@gmail.com, should display displays the error
registered user password and Password: error message to message to user
by entering the click login rohan@123ABCD user that user that user does not
valid username does not exist exist
and password
can login or not
TC010 User Login Check whether Enter the valid Username: The system The system is Pass
the registered username and rohan@gmail.com, should display displaying that
user by entering password and Password: that user logged user logged in
the valid click login rohan@123ABCD in successful and successful and
username and redirects to home redirected to
password can page home page
login or not
TC011 Forgot Password Check that Click on Forgot N/A Should It is redirected to Pass
Button Forgot Password Password button redirected to forgot password
button is working Forgot Password page
page
Q2) b) Write data flow control analysis for the following: [5]
i) var i, x, sum
ii) i=0
iii) sum = 0
iv) input (x)
v) while (x != 0)
vi) sum = sum + x
vii) i=i+1
viii) input (x)
ix) End while
x) print (sum)
Ans: Data Flow Control Analysis

• Here we take 3 columns within which we define variables


present in the program in the first column, the lines at which
the variable is defined is in the second column and the use
case of the variable throughout the program is in the third
column.
• The following table will help in rectifying the presence of the
var declaration and use case in the code provided:

Variable Name Define Use

i i, ii, vii vii

x i, iv, viii v, vi

sum i, iii, vi vi, x


Q3) What do you mean by software quality assurance? Explain SQA activities. [10]
Ans: Quality Assurance:
• Quality Assurance (QA) aims to prevent defects with a focus on the process used to make
the product.
• The goal is to provide confidence that a product is of the quality expected by the customer.

Software Quality Assurance:


• Software Quality Assurance (SQA) is the function of software quality that assures that the
standards, processes, and procedures are appropriate for the project and are correctly
implemented.
• SQA assures that standards and procedures are established and are also followed throughout
the software life cycle.
• SQA is a systematic pattern of all actions necessary to provide enough confidence that the
product meets its technical requirements.
• SQA is an umbrella activity applied throughout the software process.

Objectives of SQA:
• The objectives of SQA refer to the functional, managerial and economic aspects of software
development and maintenance.
• SQA objectives for Software Development (Process Oriented) and Software Maintenance
(Product Oriented) is “Assuring an acceptable level of confidence that the software and its
maintenance activities will conform to functional technical requirements.”

SQA Activities:
SQA activities are planned. The Software Engineering Institute (SEI) recommends a set of SQA
activities that address quality assurance planning, record keeping analysis, and reporting.
Various SQA activities, which are performed by an independent SQA group are as mentioned
below:
i) Preparation of SQA plan for the project:
• The plan identifies
• Evaluations to be performed
• Audits and reviews to be performed
• Standards applicable to the project
• Error tracking and reporting procedures
• Documents to be produced by the SQA group
ii) Participate in the development of the project's software process description:
The software team selects a work process to be performed. SQA group reviews the process
description for compliance with organizational policy, internal and external software
standards.
iii) Review software engineering activities (Analysis, Design, Construction, Verification and
Management) to verify compliance with the defined software process.
iv) Audit designated software work products to verify compliance with those defined as part
of the software process:
SQA group also verifies that corrections have done and reports the results to the project
manager.
v) Ensure that any deviations in software or work products are documented and handled
according to a documented procedure:
Deviations may be encountered in the project plan, process description, applicable
standards, or technical work products.
vi) Record any evidence of noncompliance and report them to management:
Noncompliance items are tracked until they are resolved.
vii) Configuration Management Monitoring.
• Configuration Management is also called as Change Control Management. It is a
systematic way of controlling the changes of software items. It also helps to store and
retrieve the configurable items (i.e. Software Code, Defect log, Test Reports, etc.).
• SQA assures that SCM activities are performed in accordance with the Configuration
Management plans, standards, and procedures. SQA reviews the Configuration
Management plans for compliance with SCM policies and requirements and provides
follow-up for non-conformances.
• The Configuration Management activities are monitored and audited by SQA; it
includes:
a) Baseline Control:
➢ Base lining is done when the product is ready to go to the next phase.
➢ Current state of product is preserved and further changes to the product
are done along with change in version of the product.
b) Configuration Identification:
➢ Software configuration identification is constant and accurate with
respect to the numbering or naming of programs, software modules, and
its associated software documents.
➢ Example of tools for configuration management-Win CVS (Concurrent
Version System), VSS (Visual Source Safe).
OR
Q3) Explain s/w quality factors and software quality metrics. [10]
Ans: Quality factors are the overall attributes that affect:
• Run time behavior (availability, reliability)
• System design behavior (testability, reusability)
• User experience (usability)

Quality attributes are categorized as shown in Fig. by McCall, which focuses on three important
aspects of software product:
• Product Operation-operational characteristics.
• Product Transition-ability to undergo change.
• Product Revision-adaptability to new environments.

Fig. McCall’s Software Quality Factors


i) Correctness:
• The extent to which a program specification is satisfied and the customer's objectives
are met.
• System correctness refers to the fulfilment of the program code with its specifications.
ii) Reliability:
• The extent to which a program is expected to perform its intended function with
required correctness.
• Reliability of a software system is derived from Correctness and Availability.
• Reliability is defined as the probability that the system fulfils a function for a specified
number of input trials under specified input conditions in a specified time interval.
iii) Usability:
• This factor focusses on efforts required for learning, preparing input, using, and
interpreting output of software.
• Usability also defines how well the application meets the user requirements by being
spontaneous, easy to localize and globalize, providing good access for disabled users,
and resulting in a good overall user experience.

iv) Integrity:
• This factor control the unauthorized access to software.
v) Portability:
• Efforts required to transfer the program from one environment to another.
• A comfort with which software can be adapted to run on computers other than the one
for which it was designed.
• The portability of software is dependent on:
➢ Degree of hardware independence.
➢ Implementation language.
➢ Extent of exploitation of specialized system functions.
➢ Hardware properties.
vi) Maintainability:
• The ability of system to undergo changes with an ease. These changes could damage the
existing services, features, and interfaces while adding or changing the functionality,
fixing errors, in order to meet new business requirements.
• It is an effort used in locating and fixing an error in a program.
• Maintainability is equal to suitability for debugging and modification, and extension of
functionality.
• The maintainability of a software system depends on its Readability, Extensibility and
Testability.
➢ Readability: Readability of system depends on its:
▪ Form of representation.
▪ Programming style.
▪ Consistency.
▪ Readability of the programming languages.
▪ Quality of the documentation and tools available for inspection.
➢ Extensibility: Extensibility allows required modifications to be made at the
appropriate locations without undesirable side effects.
➢ Testability: Effort required for testing a program ensuring that it performs
correctly.
vii) Interoperability:
• Effort required to pair one system to another. Interoperability is the ability of a system
to operate successfully by communicating and exchanging information with other
external systems written and run by external parties. With an interoperable system,
exchanging and reusing information becomes easy.

viii) Efficiency:
• It is the ability of a software system to fulfil its purpose with the best possible utilization
of all necessary resources (time, storage, transmission channels, and peripherals).
ix) Flexibility:
• Effort required modifying a working program.
x) Reusability:
• Extent to which a program or its part can be reused in other applications.

Software Quality Metrics:

i) Software Quality Metrics required measuring Quality Factors:


ii) Auditability: The ease with which conformance to standards can be checked.
iii) Accuracy: The precision of computations and control.
iv) Completeness: The degree to which full implementation is achieved.
v) Consistency: The use of uniform design and documentation techniques.
vi) Error Tolerance: Damage that occurs when the program encounters an error.
vii) Hardware Independence: Degree to which the software is detached from the hardware on
which it operates.
viii) Instrumentation: Degree to which the program monitors its own operation and identifies
errors that do occur.
ix) Operability: The ease of operation of a program
x) Security: Availability of mechanisms that protects the program and the data.
xi) Simplicity: Degree to which a program can be understood easily.
The relationship between software quality factors and these metrics is as shown below:
Quality Factors Metrics
Correctness Completeness, Consistency
Reliability Accuracy, Consistency, error tolerance, Simplicity
Integrity Auditability, Instrumentation, Security
Maintainability Instrumentation, Self-documentation, Simplicity
Testability Auditability, Self-documentation, Simplicity
Usability Operability, Training
Q4) a) Explain verification and validation in software testing. [5]
Ans: Verification Testing:
i) Verification testing is a test of a system to prove that it meets all its specified requirements
at a particular stage of its development.
ii) Code reviews, walkthroughs, inspections, design, and specification analysis are common
components of verification testing.
iii) Some important documents to be reviewed in this stage are requirements specification,
design blueprints, ER diagrams, database table design, test cases, test scenarios, traceability
matrix, etc.
iv) Verification tests ensure that all development elements (software, hardware,
documentation, and human resources) adhere to organizational and team-specific standards
and protocols.
v) Verification checks are often like studying the specifications and checking them against the
code logic.
vi) Verification tests must be run at every stage of development before any feature is
implemented.

Advantages of Verification Testing:


i) Early and frequent verification reduces the number of bugs and defects that may show up
in later stages.
ii) By verifying at each stage, devs, product managers, and stakeholders can get more insight
into what the product may need to be developed better in the coming stages.
iii) Verification helps keep software closely aligned with customers and business requirements
at every stage.

Validation Testing:
i) Validation testing is an activity that ensures that an end product stakeholder’s true needs
and expectations are met.
ii) Unlike verification testing, which occurs at every stage in development, validation testing
occurs at the end of a specific module or even after the software has been entirely built. Its
primary intent is to ensure the final product matches the stakeholder and customer
requirements.
iii) Some of the standard tests under this testing are:
Unit Testing, Integration Testing, Smoke Testing, Functional Testing, Performance Testing,
Regression Testing, Security Testing, System Testing, Accessibility Testing, Cross Browser
Testing, User Acceptance Testing.
iv) All validation tests ensure that a system works as planned by running all its functions and
tracking tangible, quantifiable results.
v) Validation tests must be run after every feature or step in the development process is
completed.

Advantages of Validation Testing:


i) Any bugs missed during verification will be detected while running validation tests.
ii) If specifications were incorrect and inadequate, validation tests would reveal their
inefficacy. Teams will have to spend time and effort fixing them, but it will prevent a bad
product from hitting the market.
iii) Validation tests ensure that the product matches and adheres to customer demands,
preferences, and expectations under different conditions.
Q4) b) What are levels of testing? Explain in detail. [5]
Ans: There are different levels of testing:
• Unit Testing : Test Individual Component
• Integration Testing: Test Integrated Component
• System Testing: Test the entire system
• Acceptance Testing: Test the final system

Unit Testing:
i) In unit testing errors are detected individually from every component or unit by
individually testing the components or units of software to ensure that if they are fit for
use by the developers.
ii) Unit testing is done by the developer himself. After he has written code for a feature, he
will ensure it is working fine.
iii) Unit tests are the smallest testable component of the application.
iv) Nowadays we have Junit, Pytest, and TestNg frameworks for unit testing the application.

Integration Testing:
i) Integration testing is a testing technique where two or more independent components are
tested together.
ii) Integration testing is done by the developer. Here test cases are written to ensure the data
flowing between them is correct.
iii) For example, testing the signup form where UI validations are correct, data reaching API,
and getting stored are all validated.
iv) Integration testing is done when the application is still developing to find bugs early on
in the development process.
System Testing:
i) System testing is done by the tester where the entire application is tested as a single unit.
ii) Hence, system testing test cases are also performance test cases, load testing, and stress
testing test cases.
iii) System testing is done to find the errors which might have been overlooked during unit
or integration testing.
iv) System testing evaluates both functional and non-functional test cases.

Acceptance Testing:
i) Acceptance testing is done by the client where he evaluates whether the product is made
by the requirement he listed out.
ii) Acceptance testing is done at the UAT server where a well-tested product is deployed by
the team for the client's reference so he can track ongoing changes in the project
iii) There is a defined acceptance criterion that is laid at the time of requirement listing so
that the client can validate that the product is meeting the acceptance criteria.
iv) Once the client completes acceptance testing the product goes to production where users
can use the final application.
OR
Q4) a) What is Test Driven Development (TDD)? How TDD is performed? [5]
Ans: Test Driven Development:
i) Test Driven Development (TDD) is a software development practice that focuses on
creating unit test cases before developing the actual code.
ii) It is an iterative approach combining programming, unit test creation, and refactoring.
iii) The TDD approach originates from the Agile manifesto principles and Extreme
programming.
iv) Test-Driven Development starts with designing and developing tests for every small
functionality of an application.
v) TDD framework instructs developers to write new code only if an automated test has failed.
This avoids duplication of code.

Benefits of TDD:
i) Unit test provides constant feedback about the functions.
ii) Quality of design increases which further helps in proper maintenance.
iii) Test driven development act as a safety net against the bugs.
iv) TDD ensures that your application actually meets requirements defined for it.
v) TDD have very short development lifecycle.

Frameworks for Test Driven Development:


i) csUnit and NUnit are open source unit testing frameworks for .NET projects.
ii) PyUnit and DocTest: Popular Unit testing framework for Python.
iii) Junit: Widely used unit testing tool for Java
iv) TestNG: Another popular Java testing framework. This framework overcomes the
limitations of Junit.
v) Rspec: A testing framework for Ruby projects

Example:
Calculator Function: When building a calculator function, a TDD approach would involve writing
a test case for the “add” function and then writing the code for the process to pass that test. Once
the “add” function is working correctly, additional test cases would be written for other functions
such as “subtract”, “multiply” and “divide”.
How to perform TDD:
Following steps define how to perform TDD test,
i) Add a test: Write a test case that describe the function completely. In order to make the test
cases the developer must understand the features and requirements using user stories and
use cases.
ii) Run all tests and see if any new test fails.
iii) Write some code that passes the test case.
iv) Run tests
v) Refactor code: This is done to remove duplication of code.
vi) Repeat the above-mentioned steps again and again.

TDD Cycle defines:


i) Write a test
ii) Make it run.
iii) Change the code to make it right i.e., Refactor.
iv) Repeat process.

“Test-First” approach
DRY principle :
Don’t Repeat Yourself
1990s by Kent Beck

YAGNI principle :
You Aren't Gonne Need KISS principle :
it Keep it simple, stupid
Q4) b) Compare Black Box Testing and White Box Testing. [5]
Ans:
Key Points Black Box Testing White Box Testing
Definition It is a way of software testing in It is a way of software testing in
which the internal structure or the which the internal structure or the
program or the code is hidden and program or the code is hidden and
nothing is known about it. nothing is known about it.
Implementation Implementation of code is not Code implementation is necessary
needed for black box testing. for white box testing.
Done by It is mostly done by software It is mostly done by software
testers. developers.
Knowledge No knowledge of implementation Knowledge of implementation is
is needed. required.
Referred as It can be referred to as outer or It is the inner or the internal
external software testing. software testing.
Test type It is a functional test of the It is a structural test of the software.
software.
Initialization This testing can be initiated based This type of testing of software is
on the requirement specifications started after a detail design
document. document.
Knowledge of It is not required It is required
programming
Applicable It is applicable to the higher levels It is generally applicable to the
of testing of software. lower levels of software testing.
Also called as Closed testing. Clear Box testing
Time Consuming It is less It is more
Test Design • Decision table testing • Control flow testing
Techniques • All-pairs testing • Data flow testing
• Equivalence partitioning • Branch testing
• Error guessing
Types • Functional Testing • Path Testing
• Non-functional testing • Loop Testing
• Regression Testing • Condition testing
Q5) Write a short note on [10]
a) Project Risk
Ans: Project Risk:
• Project risks are uncertain situations that can impact the project's ability to achieve its objectives.
• Every Software project has an objective. It could be building a new eCommerce website with a
defined set of acceptance criteria. It includes functional and non- functional characteristics of
the software. Any event that may risk these objectives classifies as Project Risk
• Testing is a part of the project, like development or product management. Any risk that will
impact the development could have an impact on testing as well. As such, the QA Manager must
be aware of all the project risks that can have an impact on testing
• It's essential to understand all these risks and their effect on testing.

Here is the list of the common project risk/issues:


i) Project Issues:
It is the most common project risk where there is a delay in completing the Development
Task for a story.
ii) Organizational Issues:
This could be HR and people-oriented policies of the organization. It also includes any
workplace discrimination that may affect people.
iii) Political Issues:
It often happens that Development Managers and Test Managers don't get along well. It falls
down to the team and such an environment obstructs effective test execution.
iv) Technical Issues:
The requirements may not be feasible for implementation. There could be technical
constraints due to which some of the client requirements may not meet as expected.
v) Supplier Issues:
A third party that is required to supply services or infrastructure is not able to deliver in
time. It could lead to delays and quality issues.
b) Product Risk
Ans: Product risks result from problems with the delivered product. Product Risks associate with specific
quality characteristics of the product. Therefore, these risks are also known as Quality Risks.
Characteristics of product risk:
i) Functionality as per Client Requirements:
Product risk related to functionality refers to the uncertainty or potential issues associated
with whether the software will meet the specific requirements and features requested by the
client.
ii) Reliability of Software:
Reliability risk concerns the probability of the software failing to perform consistently and
without errors over time.
iii) Performance Efficiency and Usability:
This risk relates to how well the software performs in terms of speed, responsiveness, and
user-friendliness.
iv) Security of Software:
Security risk involves the potential vulnerabilities and weaknesses in the software that could
be exploited by malicious actors.
v) Compatibility:
Compatibility risk deals with whether the software can work seamlessly with various
operating systems, browsers, and other software components.
vi) Ease of Maintenance:
The ease of maintenance risk refers to the difficulty of making updates, fixes, and
enhancements to the software.
vii) Portability:
Portability risk is associated with the ability of the software to be easily transferred to
different platforms or environments.

c) Selenium
Ans: • Selenium is a popular open-source software testing framework primarily used for automating
web applications. It provides a set of tools and libraries to interact with web browsers and
perform automated testing of web applications.
• Selenium is widely adopted in the field of software testing because of its capabilities and
flexibility in automating web-based tasks.

Here are some key points about Selenium:


i) Automation Tool: Selenium is not just a single tool but a suite of software components. The
most commonly used component is Selenium WebDriver, which allows testers to control web
browsers programmatically.
ii) Cross-Browser Compatibility: Selenium supports multiple web browsers, including Chrome,
Firefox, Edge, Safari, and more. This cross-browser compatibility ensures that tests can be
conducted on various platforms.
iii) Programming Language Support: Selenium supports various programming languages such
as Java, C#, Python, Ruby, and JavaScript, enabling testers to write scripts in the language
they are most comfortable with.
iv) Open Source: Selenium is open-source and freely available for use, which has contributed to
its widespread adoption and community-driven development.
v) Record and Playback: Selenium IDE (Integrated Development Environment) offers a record
and playback feature, allowing testers to record their actions on a web application and
generate test scripts automatically.
vi) Extensibility: Selenium is highly extensible, and developers can create custom functions and
integrate with other testing frameworks or tools to enhance its capabilities.
vii) Parallel Testing: Selenium Grid allows you to execute test scripts on multiple machines in
parallel, enabling efficient testing across various configurations simultaneously.
viii) Cross-Platform Testing: Selenium can be used for testing web applications on different
operating systems, making it suitable for testing in diverse environments.

d) Appium
Ans: i) Appium is an open-source automation mobile testing tool, which is used to test the
application. It is developed and supported by Sauce Labs to automate native and hybrid
mobile apps.
ii) It is a cross-platform mobile automation tool, which means that it allows the same test to be
run on multiple platforms. Multiple devices can be easily tested by Appium in parallel.
iii) In today's development area, the demand for mobile applications is high. Currently, people
are converting their websites into mobile apps. Therefore, it is very important to know about
mobile software automation testing technology and also stays connected with new
technology. Appium is a mobile application testing tool that is currently trending in Mobile
Automation Testing Technology.
iv) Appium is used for automated testing of native, hybrid, and web applications. It supports
automation test on the simulators (OS) and emulators (Android) as well as physical devices
(Android and IOS both). Previously, this tool mainly focused on iOS and Android
applications that were limited to mobile application testing only. Few updates back, Appium
declared that it would now support desktop application testing for windows as well.
v) Appium is very much similar to the Selenium Web-driver testing tool. Appium has no
dependency on mobile device OS because it has a framework that converts the Selenium
Web-driver commands to UIAutomator and UIAutomation commands for Android and iOS
respectively, that depends on the device type rather than the OS type.
vi) Selenium is the backend of Appium that provides control over the functionality of Selenium
for testing needs.
Features of Appium:
• Appium does not require application source code or library.
• Appium provides a strong and active community
• Appium has multi-platform support i.e., it can run the same test cases on multiple platforms.
• Appium allows the parallel execution of test scripts.
• In Appium, a small change does not require re-installation of the application.
• It supports various languages such as C#, Python, Java, Ruby, PHP, JavaScript wit Node.js, and
many others that have Selenium client libraries.

e) Incident Management
Ans: • Defect: When tester finds a mistake or problem then it is referred to as Defect.
• Bug: Bug is developer's terminology. Once a defect found by a tester is accepted by developer
it is called a bug. The process of rectifying all bugs in the system is called Bug Fixing.
• Incident: Incident is an unplanned interruption. When the operational status of any activity turns
from working to failed and causes the system to behave in an unplanned manner it is an incident.
A problem can cause more than one incidents which are to be resolved, preferably as soon as
possible.
• Incident Management Process: An incident management process is a set of procedures and
actions taken to respond to and resolve critical incidents.
Five Essential Steps of Incident Management Process:

i) Incident Identification and Logging:


Incidents are detected through analyses, reports, or manually. Once identified/ detected, the
incident is logged and investigation and categorization can begin.
ii) Classification and Prioritization:
Classification is important to determining how incidents should be handled and for
prioritizing response resources.
iii) Investigation and Analysis:
Once incident tasks are assigned, staff can begin investigating the type, cause, and possible
solutions for an incident. After an incident is analysed, you can determine the appropriate
remediation steps. This includes notifying any relevant staff, customers, or authorities about
the incident and any expected disruption of services.
iv) Resolution and Recover:
Resolution and recovery involve eliminating threats or root causes of issues and restoring
systems to full functioning. Depending on incident type or severity, this may require
multiple stages to ensure that incidents don't reoccur.
v) Incident Closure:
Closing incidents typically involves finalizing documentation and evaluating the steps taken
during response. This evaluation helps teams identify areas of improvement and proactive
measures that can help prevent future incidents.

You might also like