Software Testing Techniques and Methodologies: A Comprehensive Report

Verified

Added on  2025/05/01

|13
|1647
|371
AI Summary
Desklib provides past papers and solved assignments for students. This report covers software testing techniques and methodologies.
Document Page
Topic: -Software testing
Student’s ID : -
Student’s Name: -
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Table of Contents
K1. Critically evaluate software requirements as inputs toward testing of the final solution;. .3
K2. Analyse and critically evaluate appropriate tools and techniques to support the testing
process;.......................................................................................................................................4
K3. Develop a good understanding of selecting and applying measures and models used for
testing that are compliant with the appropriate professional industry standards such as the
ACS and IEEE;..........................................................................................................................6
S1. Analyse and critically evaluate software requirements and proposed solutions;................8
S2. Apply complex decision making to select appropriate testing techniques;.........................9
S3. Write professional level management, planning, quality assurance and testing
documentation for a software system;......................................................................................10
S4. Apply effective testing techniques to software systems of varying scales and test levels.11
A1. Develop and maintain plans for scheduling quality assurance tasks including software
testing;......................................................................................................................................12
K1. Critically evaluate software requirements as inputs toward testing of the final
solution;
Software requirements: -
Software requirements are the functional and non-functional that is needed to be implemented
to the system. That provides a particular service to the user.
For example: -In banking applications, the functional requirements are when customer click
on view your balance icon and they are able to see their latest balance.
Software requirements can be non-functional by being performance requirements.
For example - non-functional requirements can be when each and every page in the system is
clearly visible to the user within 5 sec. (Lutowski, 2016)
Various types of software requirements are: -
1) Business requirements
Document Page
2) Design and architectural requirements
3) Integration and system requirements
Document Page
K2. Analyze and critically evaluate appropriate tools and techniques to support the
testing process;
Testing is the activity that assesses product quality by improving the identified problems and
defects. The defects can be found using tools and techniques that are discussed below which
provides the software support to the testing processes. (Ammann & Offutt, 2016)
Tools to support the testing process: -
1) Configuration management
2) Traceability support
3) Requirement management
4) Managing to test
5) Incident management
6) Generation of status report
7) Test execution interface
8) Scheduling
9) GUI or Graphical user interface
10) Test results logging
11) Test running
12) Requirement testing
13) Static analysis
14) Comparison
15) Data preparation
16) Test design
17) Test drivers and harnesses
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
18) Version control
Techniques that can be adapted to support testing: -
1) Planning the test and Quality assurance processes
2) Managing of test-oriented development of software’s
3) Conducting technical formal reviews
4) Developing an appropriate work environment assisting the quality assurance team
5) Implementation of user acceptance test
6) Optimization of automated tests uses
7) Implementation of code quality measurements
8) Effective bugs reporting
Document Page
K3. Develop a good understanding of selecting and applying measures and models used
for testing that are compliant with the appropriate professional industry standards such
as the ACS and IEEE;
Model selection: -
Model selection is the action of selecting a statistical model from a candidate’s set of models.
Generally, an existing data set is considered. The task is capable of designing of experiments
so that the data which is collected is suited for the model selection problem. The best choice
for model selection is selecting the simplest model to reduce the complexity. It may refer to
the task of selecting the various representative model from large computational model sets for
decision making purpose or optimization of uncertain actions.
Certain qualities a model must reflect: -
1) A model should be interpretable to know the working of a model of what decision a
model makes and why?
2) Simple and easy to understand and explain it to others.
3) Accurate
4) Fast processing to test and train.
5) Scalable so that is can be easily applicable on a larger database.
Measure selection: -
Measure selection is the action of planning a course to achieve a purpose which in this case is
testing of software effectively. Selection of the measure to be adopted may depend on
different actions. Categorization of all activities into secondary and primary tasks
accordingly. If during the testing of software, it falls under secondary then outsourcing of
testing services in to be done.
Different factors that need to be measured: -
1) Defect leakage
2) The efficiency of defect removal
3) Defect category
4) Effectiveness of test case
5) The productivity of the test case
6) Effectiveness of test case
Document Page
7) Test coverage
8) Coverage of test execution
9) Effort test percentage
10) Authored tests
11) Passed tests
12) Active defects
13) Covered requirements
14) Test time
15) Resolution time defect
16) Quality ratio
17) Process adherence
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
S1. Analyze and critically evaluate software requirements and proposed solutions;
Software requirements: -
An (SRS) software requirement specification describes the software system that is under
development. The model was suggested after the business requirements which is also known
as stakeholder requirement specification. The software requirements consist of functional and
non- functional requirements and may involve various use cases for better interaction for the
user. It establishes the agreement between the contractor/ supplier and the customer on the
functioning of the software. (Davis, 2015)
There are mainly three types of software requirements: -
1) Functional requirements: -These are requirements that are surely asked by the user
as a basic facility one should offer. All the facilities that fall under this category must
be taken as a contract part.
2) Non-functional requirements: - These requirements basically consist of various
quality constraints which must be fulfilled as per the contract. These are also known
as non- behavioral requirements.
The following issues are to be deal with.
a) Flexibility
b) Maintainability
c) Scalability
d) Performance
e) Reusability
f) Security
g) Reliability
h) Portability
3) Domain requirements: - These are the requirements that are characterized by a
particular domain or category of project. The basic functions that must be exhibited
by a particular domain fall under this category.
(Shrivathsan, 2013)
Document Page
S2. Apply complex decision making to select appropriate testing techniques;
Complex Decision making: -
Complex decision making is a cognitive process and is true in an organizational environment.
It is an ongoing process in such an environment which need integration of various source of
information to produce an effective outcome. The core of making a complex decision is
needed for the quality information that gives the decision maker the freedom to access the
outcome of a decision.
The various software testing techniques are as follows: -
1) White box testing: - It a software testing technique where the internal design or structure
which is being tested known by the tester.it includes data flow testing, path testing,
branch testing, control flow testing.
2) Black box testing: -It is a software testing technique where the structure or design is not
known by the tester. The test can be non-functional or functional but usually, it is
functional. It includes Boundary analysis, equivalence partitioning, effect cause graphing.
3) Grey box testing: -It is the combined version of both white box and testing black box
testing methods.
4) Ad Hoc Testing: -In this type of software testing method the testing is done without
proper documentation or planning.
5) Agile Testing: - It is the type of testing which is done following all the principles that
fall under agile software development.
(Basit et al., 2018)
Document Page
S3. Write professional level management, planning, quality assurance and testing
documentation for a software system;
Quality assurance: - it is defined as the consistent and continuous improvement with
maintaining a method that allows a job of quality control. Quality assurance emphases on an
organizational characteristic of management of quality while observing the process of
production regularly.
Test documentation: - It Is the artifact’s documentation that was created during or before the
software testing. It helps in the estimation of the efforts that must be required to successfully
test the software and also the resource tracking, test coverage, execution progress, etc. it is a
perfect group of documents which allows one to describe and document test design, test
execution, test planning, test results that were all drawn from a test activity.
Test formality is depending on: -
1) Application type under test
2) The standard that must be followed by the organization
3) Development process being mature
(Parashchenko, 2009)
Test planning: - it is a group of documents that describe the testing of software and its
activities and scope. It is the basis for the testing of software in the project.
Type of test plan: -
1) Testing level specific test plans: -
2) Master test plan: -
3) Testing type specific test plans: -
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
S4. Apply effective testing techniques to software systems of varying scales and test
levels.
The various testing techniques to the software system included the following steps that were
involved in the testing of software systems: -
1) Testing basic functionality
2) Code review
3) Analysis of static code
4) Unit testing
5) Testing of the performance on a single user
Document Page
A1. Develop and maintain plans for scheduling quality assurance tasks including
software testing;
Plans for the Scheduling quality assurance: -
1) Establishment of the system’s scheduling quality assurance for the next year.
2) Approving the last version of the annual scheduling quality assurance budget and
activities program.
3) Determining the adequacy of manpower with other planned resources required for the
implementation of a scheduling quality assurance program.
4) Determining of the activities program whether they are ok with the scope and
characteristics of subcontractor service and purchase of software planned for next year.
(Isaacs, 2015)
chevron_up_icon
1 out of 13
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]