Professional Documents
Culture Documents
Stqa Imp
Stqa Imp
Stqa Imp
Que3: Write a detailed test plan for Online Food Ordering Mobile App. The application functionalities
are: User Registration, login, check restaurants, dishes, price, delivery time, availability etc.
Ans:
Que5: Write a detailed test plan for University result declaration system, which provides the facility to
view students result (sem / year) wise, system should have facility to apply for rechecking / revaluation
with payment.
Ans:
Que9: Explain various black box testing techniques with reference to entry of MCA sem III marks data
entry.
Ans:
Black-Box testing techniques:
● Equivalence Partitioning: It is a software test design technique that involves dividing input values into
valid and invalid partitions and selecting representative value from each partition as test data.
● Boundary Value Analysis(BVA): It is a software test design technique that involves determination of
boundaries for input values and selecting values that are at the boundaries and just inside/outside of
the boundaries as test data.
● Cause Effect Graphing: It is a software test design technique that involves identifying the cases (input
conditions) and effects (output conditions), producing a Cause Effect Graph and generating test cases
accordingly.
MCA sem III marks data entry:
● Equivalence Partitioning: suppose the specification for insurance module says that an input, MCA Sem
III mark lies in the range 175 to 500; then select one valid equivalence class that includes all values
from 175 to 500. Select a second equivalence class that consists of all values less than 175, and a
third equivalence class that consists of all value greater than 500.
● Boundary Value Analysis:For the insurance module mentioned previously specified that MCA Sem III
mark must lie in the range 175-500; then boundary value for MCA Sem III mark are:
174,175,176,499,500,501.
Que10: Explain type of testing tools. Also explain their benefits & risks.
Ans:
1. Test Management tool: Test management most commonly refers to the activity of managing a testing
process. A test management tool is software used to manage tests (automated or manual) that have
been previously specified by a test procedure. It is often associated with automation software.
a. Benefits of Test management:
i. Reduction of duplicated efforts due to the use of a centralized test case repository.
ii. Real-time insights and improved access to information for all key stakeholders.
b. Risks of Test management:
i. Unrealistic expectations from the tool: Unrealistic expectations may be one of the
greatest risks to success with tools.
ii. People often make mistakes by underestimating the time, cost and effort for the initial
introduction of a tool: Introducing something new into an organization is hardly
straightforward.
2. Configuration Management tool: Configuration Management (CM) is a systems engineering process for
establishing and maintaining consistency of a product's performance, functional, and physical attributes
with its requirements, design, and operational information throughout its life.
a. Benefits of Configuration Management:
i. Configuration management helps engineering teams build robust and stable systems
through the use of tools that automatically manage and monitor updates to configuration
data.
ii. Complex software systems are composed of components that differ in granularity of size
and complexity.
b. Risks of Configuration Management:
i. The areas of configuration management, data management and control are fraught with
risks, from the possibility of disruptions to application availability, as well as data loss or
corruption.
3. Performance Testing tool: Performance testing is a non-functional software testing technique that
determines how the stability, speed, scalability, and responsiveness of an application holds up under a
given workload.
a. Benefits of Performance Testing:
i. Validate the fundamental features of the software.
ii. Measure the speed, accuracy and stability of software.
iii. Performance testing allows you to keep your users happy.
b. Risks of Performance Testing:
i. Most common performance problems include response time, load time, and poor
scalability.
ii. Long Load Time: Load time is the initial time required for an application or software to
start.
Que11: Explain non functional testing. Also Compare Localization and Internationalization.
Ans:
Non-Functional Testing:
● Non-Functional refers to aspects of the software that may not be related to a specific function or user
action such as scalability or security.
● In non-functional testing the quality characteristics of the component or system is tested.
● Non-functional testing include:
○ Compatibility testing
○ Documentation testing
○ Performance testing
○ Internationalization testing
○ Usability testing
○ Installation testing
○ Security testing.
Localization And Internationalization:
No. Localization Innternationalization
1 Localization is defined as making a product, Internationalization is the process of designing and
application or document content adaptable to developing a product, application or document
meet the cultural, lingual and other content such that it enables localization.
requirements of a specific region or a locale.
2 Localization is referred as l10n Internationalization is referred as i18n
3 Localization focuses on online help, GUI Internationalization focuses on compatibility testing,
context, dialog boxes, error messages, read functionality testing, interoperability testing, usability
me/ tutorials, user manuals, release notes, testing, installation testing, user interface validation
installation guide etc. testing.
4 Localization itself means a specific local Application code is independent of language
language for any given region
5 Localization is not at user interface level Internationalization is at design level
Que12: Explain different types of Computer Aided software testing tools (CAST). What are the benefits
of using the testing tool?
Ans:
Types of CAST:
1. Requirements testing tools: They identify the requirements of testing software applications, including
the functional and technical requirements. Such tools also analyze requirements, define scope and
traceability, etc.
2. Regression testing tools: They are used to test the software components that have been modified, to
ensure that they work as expected.
3. Test design tools: help in the creation of test cases and test scripts.
4. Static analysis (also called static code analysis or SAST) tools: automatically analyze the source code
against a defined rule set. These tools are often used as part of a CI/CD process, to prevent code
containing known security vulnerabilities from being deployed in production.
5. Character-based testing tools: check whether character-related functionalities like sorting, aligning,
printing, etc., are working as expected.
6. UI testing tools: checks whether the UI (User Interface) of an application is working fine or not. These
tools can be used for checking buttons and links on web pages, verifying whether an API call is
returning the correct response or not, etc.
7. Test data preparation tools: These tools help in creating test data for automation testing by populating
databases with required records or files with the required content.
8. Performance testing tools: They measure the performance of an application under load against various
parameters like: response time of an application, and stability of an application on different operating
system platforms.
9. Dynamic analysis tools: These tools analyze the software during execution or a program’s run-time
behaviour. The results of testing through dynamic analysis tools are generally presented in the form of
tables, graphs, and charts that help testers and developers visualize the behaviour of an application.
10. Comparison tool: These tools compare files, folders, databases, source code, and other data to find
differences between them.
11. Debugging tool: Debugging is a process that involves the detection and removal of errors from a
program’s source code. Debugging tools help with these processes by enabling programmers to find
errors in their code and then fix them.
12. Functional testing tool: Functional testing is an important part of software verification and validation
processes and aims to ensure that the program functions as expected by comparing its actual output
with the expected output.
Benefits of CAST using the Testing tool:
● The ability to write tests at the same time as coding
● The ability to write tests that are easy to understand and maintain
● More efficient test runs through automation
● A reduction in errors due to manual data entry, more efficient testing and more accurate results
● An increase in productivity thanks to easier testing and a faster pace of development.
Que15: Explain Black Box Testing and White Box Testing software testing techniques with suitable
examples.
Ans:
Black-Box testing techniques:
5. Appinum:
a. Appinum is an open source automation mobile testing tool, which is used to test the application.
b. It is developed and supported by Sauce Labs to automate native and hybrid mobile apps.
c. It is a cross-platform mobile automation tool, which means that is allow the same test to be run
on multiple platforms.
d. Multiple devices can be easily tested by Appinum in parallel.
6. Product Risk and Project Risk:
a. Product Risk:
i. Product risks result from problems with the delivered product. Product Risks associate
with specific quality characteristics of the product.
ii. Therefore these risks are also known as Quality Risks.
b. Project Risk:
i. Project risks are uncertain situations that can impact the project’s ability to achieve its
objectives.
ii. It could be building a new eCommerce website with a defined set of acceptance criteria.
iii. It includes functional and non functional characteristics of the software.
7. Six Sigma:
a. It is the most widely used strategy for statistical quality assurance in industry today.
b. Originally popularized by Motorola in the 1980s, the Six Sigma strategy ”is a hard and
well-organized methodology that uses data and statistical analysis to measure and improve a
company’s operational performance by identifying and eliminating defects in manufacturing and
service-related processes”.
c. The term Six Sigma is derived from six standard deviation - 3.4 instance (defects) per million
occurrences - implying an extremely high quality standard.
8. Cyclomatic Complexity:
a. It is a software metric that provides a quantitative measure of the logical complexity of a
program.
b. When used in the context of the basic path testing method, the value computed for Cyclomatic
complexity defines the number of independent paths in the basic set of a program and provides
us with an upper bound for the number of tests that must be conducted to ensure that all
statements have been executed at least once.
9. Quality Assurance vs Quality Control:
a. Quality Assurance:
i. Quality Assurance (QA) aims to prevent defects with a focus on the process used to
make the product.
ii. The goal is to provide confidence that a product is of the quality expected by the
customer.
iii. QA consists of auditing and reporting procedures, which are used to provide necessary
data to management in order to make productive decisions.
b. Quality Control:
i. Quality Control (QC) aims to identify defects in the final product.
ii. Quality Control focuses on operational techniques and the activities used to fulfil and
verify quality requirements.
iii. Inspection, review, and tests are done throughout the software process to ensure that
each product meets its specifications/requirements.
10. Static vs Dynamic Testing:
a. Static Testing:
i. It is performed in the early stage of the software development.
ii. Code is not executed.
iii. Prevents the defects
iv. Less costly
v. Involves checklist for testing process
vi. Example, Verification
b. Dynamic Testing:
i. It is performed at the latest stage of software development.
ii. Code is executed.
iii. Finds and fixed the defects.
iv. Highly costly.
v. Involves text cases for testing process.
vi. Example, validation.
11. Decision Table Testing:
a. A decision table is a good way to deal with different combination inputs with their associated
outputs and also called cause-effect tables.
b. The reason to call a cause-effect table is an associated logical diagramming technique called
cause-effect graphing that is basically used to derive the decision table.
c. We can apply Equivalence Partitioning and Boundary Value Analysis techniques to only
specific conditions or inputs.