0% found this document useful (0 votes)
4 views9 pages

Test Computer Software Functionality

The document provides a comprehensive guide on software installation testing, detailing its importance, definitions, and various testing techniques. It emphasizes the need for thorough testing to ensure software reliability, usability, and error identification, while also outlining the advantages and disadvantages of functional testing. Additionally, it discusses corrective measures for defects and the process of performing functional testing to enhance software quality.

Uploaded by

jakaleonard2
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views9 pages

Test Computer Software Functionality

The document provides a comprehensive guide on software installation testing, detailing its importance, definitions, and various testing techniques. It emphasizes the need for thorough testing to ensure software reliability, usability, and error identification, while also outlining the advantages and disadvantages of functional testing. Additionally, it discusses corrective measures for defects and the process of performing functional testing to enhance software quality.

Uploaded by

jakaleonard2
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

TEST COMPUTER SOFTWARE FUNCTIONALITY

INTRODUCTION

Software installation testing is a crucial phase in the software development lifecycle that
ensures a software application can be correctly installed, configured, and uninstalled without
any issues. This guide provides a detailed overview of software installation testing, including its
definition, the creation of an installation checklist, and the various components of functional
testing. By understanding and implementing thorough installation testing practices,
organizations can enhance the reliability, usability, and overall quality of their software
products.

DEFINITION OF TERMS
Testing: is to compare the actual result with the expected result. Testing is done to identify
whether all the function is working as expectations
Software testing: is a technique to check whether the actual result matches the expected result
and to ensure that the software has not any defect or bug
Installation Testing: It is the process performed to verify if the software has been setup with all
the necessary components and it is working as expected.
Uninstallation Testing: Uninstallation testing is performed to verify if all the components of the
application is removed during the process or NOT.
Software Testing Techniques - help one to design better test cases aimed at evaluating an
attribute or capability of a program or product and determining that it meets its quality.
Software quality factors
a. Reliability - The degree to which the result of a measurement, calculation, or
specification can be depended on to be accurate. i.e the software performing consistently
well
b. Usability - is the degree to which software can be used by specified consumers to
achieve quantified objectives with effectiveness, efficiency, and satisfaction in a
quantified context of use.
c. Integrity - no unauthorized changes have been made to the software.
d. Security - is any type of software that secures and protects a computer, network or any
computing-enabled device
e. Capability – software able to perform a specified task
f. Efficiency - amount of resources required by a program to perform a specific function
g. Portability - the usability of the same software in different environments.
h. Maintainability - The ease with which a software system or component can be modified
to correct faults, improve performance or other attributes, or adapt to a changed
environment.
i. Compatibility - is the capacity for two systems to work together without having to be
altered to do so.

IMPORTANCE
 Identify defect: detect issues, bugs and defects in software to improve quality and ensure
it performs as expected under various conditions.
 Ensure software reliability: verify the software consistency perform well over time
making it dependable and reliable for end user
 User Experience Enhancement: Seamless installation experience makes the first
impression on users about your software. If the installation process is laborious or prone
to errors, users may lose interest or faith in your product.
 Error Identification: Installation testing identifies and fixes errors, compatibility
problems, or missing dependencies before the software hits [Link] measure
prevents post-launch support nightmares.
 Reduced Support Costs: By resolving installation-related problems upfront, you
significantly lower the load on your support team, letting them address more complicated
user issues.
 Consistency Across Environments: Installation testing guarantees your software
operates consistently across different system configurations and environments.
 Early Bug Detection: Some bugs might only surface during or after installation.
Tests Carried Out during Installation

 Functionality Testing: This involves checking if all the features and functions of the
installed software or system are working as intended.
 Compatibility Testing: Verifying that the new installation is compatible with other
existing software, hardware, and systems.
 Performance Testing: Assessing the performance of the installation under different
conditions to ensure it meets the required performance standards.
 Security Testing: Checking for vulnerabilities and ensuring that the installation is secure
from potential threats and attacks.
 Usability Testing: Evaluating the user interface and overall user experience to ensure
that the installation is user-friendly.
 Integration Testing: Testing the interaction between different components to ensure they
work together seamlessly.
 Regression Testing: Verifying that the new installation has not adversely affected the
existing functionalities and features.
 Load Testing: Assessing the system's performance under normal and peak load
conditions to ensure it can handle the expected workload.
 Stress Testing: Testing the system's stability and robustness under extreme conditions to
identify any potential failure points.
 Documentation Testing: Reviewing the installation documentation to ensure it is
accurate and complete.

Advantages of functional testing

i. It produces a defect-free product.


ii. It ensures that the customer is satisfied.
iii. It ensures that all requirements met.
iv. It ensures the proper working of all the functionality of an application/software/product.
v. It ensures that the software/ product work as expected.
vi. It ensures security and safety.
vii. It improves the quality of the product.

Disadvantages of functional testing

i. Functional testing can miss a critical and logical error in the system.
ii. This testing is not a guarantee of the software to go live.
iii. The possibility of conducting redundant testing is high in functional testing.

TECHNIQUES OF SOFTWARE TESTING


i. Boundary value analysis - is based on testing at the boundaries between partitions. It
includes maximum, minimum, inside or outside boundaries, typical values and error values.
Guidelines for Boundary Value analysis
a. If an input condition is restricted between values x and y, then the test cases should be
designed with values x and y as well as values which are above and below x and y.
b. If an input condition is a large number of values, the test case should be developed which
need to exercise the minimum and maximum numbers. Here, values above and below the
minimum and maximum values are also tested.
c. Apply guidelines 1 and 2 to output conditions. It gives an output which reflects the minimum
and the maximum values expected. It also tests the below or above values.

ii. Error Guessing – it is a software testing technique based on guessing the error which can
prevail in the code. The technique is heavily based on the experience where the test analysts
use their experience to guess the problematic part of the testing application.
Guidelines for Error Guessing:
a. The test should use the previous experience of testing similar applications
b. Understanding of the system under test
c. Knowledge of typical implementation errors
d. Remember previously troubled areas
e. Evaluate Historical data & Test results
iii. Decision Table Based Testing - it is also known as to Cause-Effect table. This software testing
technique is used for functions which respond to a combination of inputs or events. For
example, a submit button should be enabled if the user has entered all required fields.
The first task is to identify functionalities where the output depends on a combination of
inputs. If there are large input set of combinations, then divide it into smaller subsets which
are helpful for managing a decision table.
For every function, you need to create a table and list down all types of combinations of
inputs and its respective outputs. This helps to identify a condition that is overlooked by the
tester.
Following are steps to create a decision table:
• Enlist the inputs in rows
• Enter all the rules in the column
• Fill the table with the different combination of inputs
• In the last row, note down the output against the input combination.
iv. State Transition – it is technique changes in input conditions change the state of the
Application Under Test (AUT). This testing technique allows the tester to test the behaviour
of an AUT. The tester can perform this action by entering various input conditions in a
sequence. In State transition technique, the testing team provides positive as well as negative
input test values for evaluating the system behaviour.
Guideline for State Transition:
a. State transition should be used when a testing team is testing the application for a limited set
of input values.
b. The technique should be used when the testing team wants to test sequence of events which
happen in the application under test.

Computer Software Testing Tools


TestComplete
TestComplete is an automated UI testing tool used for desktop, web, and mobile applications. It
supports record-and-playback testing, script-based automation, cross-browser testing, and
integration with continuous integration tools. Advantages include a user-friendly interface,
multiple language support, and strong object recognition capabilities.
Selenium
Selenium is an open-source tool for automating web browsers. Its components include Selenium
WebDriver, Selenium IDE, and Selenium Grid. It supports multiple browsers and programming
languages and allows parallel testing. It is widely used due to its flexibility and free availability.
Appium
Appium is an open-source mobile automation framework used for testing Android and iOS
applications. It supports cross-platform testing, reusable scripts, and does not require
modification of mobile applications. It is suitable for native, hybrid, and web mobile
applications.
Postman
Postman is a tool widely used for API testing. It supports automated API requests, environment
variable management, automated scripts, and performance testing. It is easy to use and supports
REST, SOAP, and Graph QL APIs with collaboration features for teams.

Performing computer software test

During software installation testing, the following aspects are typically evaluated:

1. Installation Process: The installation procedure is tested to ensure that it is well-


documented, easy to follow, and completes successfully. This includes verifying that all
necessary files are copied to the appropriate directories, required dependencies are
installed, and any configuration settings are properly configured.
2. Compatibility: The compatibility of the software with the target system is assessed
during installation testing. It involves checking if the software is compatible with the
operating system, hardware, and other software components of the target system. This
ensures that the software can be installed and run without conflicts or compatibility
issues.
3. Error Handling: Installation testing involves testing error handling mechanisms during
the installation process. This includes scenarios where incorrect inputs or invalid
configurations are provided during installation. The software should handle such
situations gracefully, providing informative error messages and allowing users to correct
any installation issues.
4. Post-Installation Verification: Once the software is installed, post-installation
verification is performed to ensure that the software functions correctly. This may involve
running basic functionality tests or performing a subset of functional testing to verify that
the software is operational and responsive.
5. Rollback and Uninstallation: Installation testing may also involve testing the rollback
or uninstallation process. This ensures that if the software needs to be removed from the
system, the uninstallation process is smooth, leaving no remnants or conflicts behind

Process of testing
Testers follow the following steps in the functional testing:

i. Tester does verification of the requirement specification in the software application.


ii. After analysis, the requirement specification tester will plan.
iii. After planning the tests, the tester will design the test case.
iv. After designing the test, case tester will make a document of the traceability matrix.
v. The tester will execute the test case design.
vi. Analysis of the coverage to examine the covered testing area of the application.

Defect management should do to manage defect resolving.

Steps to perform functional testing:


o There is a need to understand the software requirement.
o Identify test input data.
o Compute the expected outcome with the selected input values.
o Execute test cases.
o Comparison between the actual and the computed result

CORRECTIVE MEASURES
Corrective Measures in Software Testing
Corrective measures refer to actions taken to fix defects identified during testing and to improve
software functionality, performance, and security.

Types of Corrective Measures


Code Correction: Fixing programming errors.
Configuration Correction: Adjusting system settings.
Interface Correction: Improving UI issues.
Performance Optimization: Enhancing system speed and efficiency.
Security Correction: Fixing vulnerabilities.
Documentation Correction: Updating manuals and guides.
Software Corrective Tools
Bug tracking tools such as Jira, version control systems like Git,
issue tracking systems like Bugzilla.
debugging tools provided in development environments are commonly used to implement
corrective measures.
Performing Corrective Measures
The process includes identifying the defect, analyzing the root cause, planning the fix,
implementing changes, testing the fix, documenting updates, and deploying the corrected
version.
Functional Testing:
It is a type of software testing which is used to verify the functionality of the software
application, whether the function is working according to the requirement specification. In
functional testing, each function tested by giving the value, determining the output, and verifying
the actual output with the expected value. Functional testing performed as black box testing
which is presented to confirm that the functionality of an application or system behaves as we are
expecting. It is done to verify the functionality of the application.
Functional testing also called as black-box testing, because it focuses on application specification
rather than actual code. Tester has to test only the program rather than the system.
Functional Testing types
o Basic Usability: Functional Testing involves the usability testing of the system. It checks
whether a user can navigate freely without any difficulty through screens.
o Accessibility: Functional testing test the accessibility of the function.
o Mainline function: It focuses on testing the main feature.
o Error Condition: Functional testing is used to check the error condition. It checks whether
the error message displayed.

Goal of functional testing

The purpose of the functional testing is to check the primary entry function, necessarily usable
function, the flow of screen GUI. Functional testing displays the error message so that the user
can easily navigate throughout the application.

You might also like