Technovision Software provides independent
validation and verification services for
your applications. Our Testing methodologies
help organizations significantly reduce
issues related to performance, quality
and reliability. Technovision Software
helps enterprises significantly lower
post implementation costs of IT applications
by providing
“Quality is never an
accident; it is always the result of high
intention, sincere effort, intelligent
direction and skillful execution; it represents
the wise choice of many alternatives.”
Systematic software quality assurance.
Our testing services include:
| - |
Functional and Regression Testing |
| - |
Performance Testing |
| - |
Usability Testing |
| - |
Load/Stress Testing |
| - |
Automation Testing |
Software testing is the process used to
measure the quality of developed computer
software. Usually, quality is constrained
to such topics as correctness, completeness,
security, but can also include more technical
requirements, such as capability, reliability,
efficiency, portability, maintainability,
compatibility, and usability. Testing
is a process of technical investigation,
performed on behalf of stakeholders, that
is intended to reveal quality-related
information about the product with respect
to the context in which it is intended
to operate. This includes, but is not
limited to, the process of executing a
program or application with the intent
of finding errors. Quality is not an absolute;
it is value to some person. With that
in mind, testing can never completely
establish the correctness of arbitrary
computer software, testing furnishes a
criticism or comparison that compares
the state and behavior of the product
against a specification. An important
point is that software testing should
be distinguished from the separate discipline
of Software Quality Assurance (QA), which
encompasses all business process areas,
not just testing.
Regression Testing:
The selective retesting of a
software system that has been modified to ensure
that any
bugs have been fixed and that no other previously
working functions have failed as a result
of the reparations and that newly added
features have not created problems with
previous versions of the software.
Also referred to as verification testing,
regression testing is initiated after
a
programmer has attempted to fix a recognized problem
or has added
source
code to a program that may have
inadvertently introduced errors. It is
a quality control measure to ensure that
the newly modified code still complies
with its specified requirements and that
unmodified code has not been affected
by the maintenance activity.
Regression means going back. With testing
processes we mean that you need to repeat
previously successful tests any time there
is a chance that subsequent changes could
have affected an aspect of the solution.
The testing process involved building
a sequence of tests, many of which stood
upon the successful results of earlier
tests. If a component of the solution
has been changed, all other components
which relied upon it might have been affected.
Similarly, all tests that relied on an
earlier test might no long be valid. Consider
carefully which solution and testing components
need to be re-validated.
Regression testing can be used not only
for testing the correctness of a program,
but it is also often used to track the
quality of its output. For instance in
the design of a compiler, regression testing
should track the code size, simulation
time, and compilation time of the test
suites
Functional Testing :
Functional testing covers how
well the system executes the functions
it is supposed to execute-including user
commands, data manipulation, searches
and business processes, user screens,
and integrations. Functional testing covers
the obvious surface type of functions,
as well as the back-end operations (such
as security and how upgrades affect the
system). Validating the behavior of Application.
Although functional testing is often done
toward the end of the development cycle,
it can-and should, say experts-be started
much earlier. Individual components and
processes can be tested early on, even
before it's possible to do functional
testing on the entire system. eg., BlackBox
Testing
Performance Testing :
Testing conducted to evaluate the compliance
of a system or component with specified
performance requirements. It includes
Load Testing and Stress Testing.
The goal of performance testing is not
to find bugs, but to eliminate bottlenecks
and establish a baseline for future regression
testing. To conduct performance testing
is to engage in a carefully controlled
process of measurement and analysis. Ideally,
the software under test is already stable
enough so that this process can proceed
smoothly.
Usability Testing :
Usability testing is a black-box testing
technique. The aim is to observe people
using the product to discover errors and
areas of improvement. Usability testing
generally involves measuring how well
test subjects respond in four areas: efficiency,
accuracy, recall, and emotional response.
The results of the first test can be treated
as a baseline or control measurement;
all subsequent tests can then be compared
to the baseline to indicate improvement.
| • |
Performance
-- How much time, and how many steps,
are required for
people to complete basic tasks?
(For example, find something to
buy,
create a new account, and order
the item.) |
| • |
Accuracy
-- How many mistakes did people
make? (And were they fatal
or recoverable with the right information?) |
| • |
Recall
-- How much does the person remember
afterwards or after
periods of non-use? |
| • |
Emotional
response -- How does the person
feel about the tasks
completed? Is the person confident,
stressed? Would the user
recommend this system to a friend?
Orientation |
Load/Stress Testing :
Load and Performance testing is to test
software intended for a multi-user audience
for the desired performance by subjecting
it with an equal amount of virtual users
and then monitoring the performance under
the specified load, usually in a test
enviromnent identical to the production,
before going live.
Automation Testing :
Test automation is the use of
software to control the execution of
tests,
the comparison of actual outcomes to predicted
outcomes, the setting up of test preconditions,
and other test control and test reporting
functions. Commonly, test automation involves
automating a manual process already in
place that uses a formalized testing process.
Benefits of Automation Testing
| • |
If
you have to run a set of tests repeatedly,
automation is a huge win for you. |
| • |
It
gives you the ability to run automation
against code that frequently changes
to catch regressions in a timely
manner. |
| • |
It
gives you the ability to run automation
in mainstream scenarios to catch
regressions in a timely manner. |
| • |
Aids
in testing a large test matrix (different
languages on different OS platforms).
Automated tests can be run at the
same time on different machines,
whereas the manual tests would have
to be run sequentially. |