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. |