|
|
| |
|
What is AberroTest?
AberroTest is a functional testing system that works through your client-side
GUI application to verify software functionality. As a virtual user of your
software, AberroTest extracts information from the target application and generates thousands
of data inputs and navigation paths. Using Adaptive Automated Testing™, AberroTest
adapts to changes in your target application. Whether you add, modify, or delete elements,
AberroTest adapts systematically.
[back to top]
On what types of applications does AberroTest work best?
AberroTest works best on data-intensive applications that are fairly
interactive. ERP systems, CRM application, and e-commerce applications such as
web-based merchandising systems are good examples of interactive, data-intensive applications.
AberroTest also works well with forms-based desktop applications or
web-based applications in industries, such as inventory management, financial services,
insurance claims, human resource management, healthcare management, and so on.
[back to top]
How much does AberroTest cost? What kind of licensing is available?
Aberro offers two pricing options for AberroTest: perpetual licensing and
subscription licensing. For perpetual licensing,
one AberroTest license costs $3,995.00, plus an annual maintenance and support fee of $800/license.
Workgroup pricing and quantity discounts are available. Subscription-based licensing is offered
on an annual basis. The per-user license fee for AberroTest is $199/month,
which includes maintenance and support. A minimum order of three AberroTest
licenses applies to subscription licensing. To place an order, please contact Aberro at
240.715.3333 x209 or email sales.
[back to top]
What kind of support does Aberro offer?
As part of your annual AberroTest maintenance and support contract, Aberro
offers support via email and phone during regular business
hours, Monday through Friday, from 9 a.m.–6:00 p.m. EST. For more information, visit Aberro's
Support page.
[back to top]
What kind of training is available for AberroTest?
AberroTest offers both online and onsite training. If your company purchases
5–10 seats per training session, Aberro can personalize the
training session to your application and testing needs. For more information, visit
Training or call us at 512.377.9070. We would be
happy to discuss AberroTest training options with you.
[back to top]
How long does it take to learn how to use AberroTest?
AberroTest is very easy to learn. Many users teach themselves to use AberroTest
in less than a day and begin testing applications by the
afternoon of that same day. As part of any AberroTest purchase, Aberro offers a four-hour
complementary online training session to help you get started.
[back to top]
How soon can we begin using AberroTest?
We suggest that you begin using AberroTest as part of your software
application development process just as soon as a graphical user interface (GUI) is
in place. As such, AberroTest could—and should—be used by software engineers,
quality engineers, and manual testers alike.
- Software engineers can implement AberroTest quickly and easily during development.
By creating small tests and using them early and often, engineers can correct their
own errors because AberroTest shows them the exact steps necessary to reproduce the bug.
They produce better code earlier in the development cycle and
avoid breaking the build. Additionally, by implementing testing at the beginning of the
development process, software teams develop software applications that have testable designs.
- Quality engineers can use AberroTest to focus on integrative work and
system testing. They can find large numbers of divergent pathways through applications, testing
more thoroughly than ever before.
- Manual testers can use AberroTest to move out from under the drudge work of
manual testing. They can think more like end users and design more creative—and
vastly more thorough—testing.
AberroTest configurations can be shared by the entire software team. Configurations created
by quality engineers can be expanded by software engineers to include nested verification
and complex data combinations. Defect identification captures all steps leading to the bug,
thus helping development to replicate the bug quickly. AberroTest helps teams to work together
more closely, increasing the thoroughness of application testing.
[back to top]
Does AberroTest require that my application have a GUI?
In order for AberroTest to test your application, the application you are
testing must have a GUI. AberroTest requires a GUI because it acts as a virtual user of your
application. After extracting information, it then catalogs the controls within the Elements tree and
attaches data inputs to each element. AberroTest uses these elements and data inputs to test your application.
[back to top]
Does the trial version of AberroTest have installation issues?
If you downloaded your trial version of AberroTest over a wireless connection,
the .msi file was most likely corrupted during
the download. To rectify this situation, download AberroTest again using a wired connection.
[back to top]
What is functional testing?
Functional testing is the process of validating that an application
provides the features and functionality from a user’s perspective. The user can
either be a real user or an (external) software program. The first case is also referred to as
GUI testing as it is done via the application’s GUI. The
latter case is usually referred to as unit or component testing as you are testing a software
component (that is, a Web service) via its external APIs. As a critical
part of the Software Delivery Life Cycle, functional testing assures that a project meets users’ expectation before it is released. For instance, in a typical
application, functional tests would validate functions such as the following:
- text boxes (that is, name) appear properly and only accept text and not numeric entries
- radio buttons work as designed
- mandatory fields must contain data before saving records
- method calls from a Web service work as designed
Functional testing takes two basic forms:
- ManualA human user walks through a series of test steps—either ad hoc or following a test plan—validating or recording that functions perform as expected.
- AutomatedA software program records a user’s actions and saves them in the form of
individual automated test scripts. These scripts can then be replayed,
running the application as if a human user were operating it.
Automated testing slashes the time required for test execution from a matter of days to a matter of hours. The value of automated tests scripts increase
with the frequency of repeated test executions, making it especially usefully for cross-platform,
localization and regression testing. However, manual functional
testing is still prevalent in most IT shops because many tests are considered too complex,
costly, or time consuming to automate, meaning that automated
functional testing tools have evolved to be very flexible and dependable.
[back to top]
What are some usage scenarios for functional testing?
There are many usage scenarios for functional testing, some of which are more applicable to become automated than others:
- Regression testingVerifies whether functions that worked in a previous version of the
application still work after changes have been made, that is,
after a new build of the software has been created. Regression tests follow the exact path over
and over. Much like a regression test, AberroTest can rerun
previous configurations. AberroTest has the added capability of generating new, divergent paths,
meaning that it finds a wider array of bugs.
- Cross-platform testingVerifies whether an application works across multiple different
platforms (that is, operating systems, Web browsers, SOAP stacks).
- Localization testingVerifies whether the localized versions of the same applications
(that is, English, German, Chinese, Japanese) work in a consistent fashion.
- User acceptance testingVerifies if the application’s functionality fulfills
the user’s business requirements.
[back to top]
What is unit testing?
Unit testing validates that individual units of source code are working
properly. A unit is the smallest testable part of an application. In procedural programming a
unit may be an individual program, function, procedure, etc., while in object-oriented programming, the smallest unit is always a class; which may be a base/super class, abstract class or derived/child class. Units are distinguished from modules in that modules are typically made up of units.
Ideally, each test case is independent from the others; mock objects and test harnesses can be
used to assist testing a module in isolation. Unit testing is typically done by developers and
not by end users.
The goal of unit testing is to isolate each part of the program and show that the individual parts
are correct. A unit test provides a strict, written contract that the piece of code must satisfy.
As a result, it affords several benefits.
[back to top]
What is integration testing?
Integration testing (sometimes called Integration and Testing, abbreviated I&T) is the phase of software testing in which individual software modules are combined and tested as a group. It follows unit testing and precedes system testing.
Integration testing takes as its input modules that have been unit tested, groups them in larger
aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as
its output the integrated system ready for system testing.
The purpose of integration testing is to verify functional, performance and reliability
requirements placed on major design items. These “design items,” i.e., assemblages
(or groups of units), are exercised through their interfaces using black-box testing, success
and error cases being simulated via appropriate parameter and data inputs. Simulated usage of
shared data areas and interprocess communication is tested and individual subsystems are exercised
through their input interface. Test cases are constructed to test that all components within
assemblages interact correctly, for example across procedure calls or process activations, and
this is done after testing individual modules, i.e., unit testing.
The overall idea is a “building block” approach, in which verified assemblages are
added to a verified base which is then used to support the integration testing of further
assemblages.
[back to top]
What is system testing?
System testing is testing conducted on a complete, integrated system to
evaluate the system’s compliance with its specified requirements. As a rule, system testing
takes, as its input, all of the “integrated” software components that have successfully
passed integration testing and also the software system itself integrated with any applicable
hardware systems. The purpose of integration testing is to detect any inconsistencies between
the software units that are integrated together (called assemblages) or between any of the
assemblages and the hardware. System testing is a more limiting type of testing; it seeks to detect
defects both within the “interassemblages” and also within the system as a whole.
System testing is actually done to the entire system against the Functional Requirement
Specifications (FRS) and/or the System Requirement Specification (SRS). Moreover,
the system testing is an investigatory testing phase, where the focus is to have almost a
destructive attitude and test not only the design, but also the behavior and even the believed
expectations of the customer. It is also intended to test up to and beyond the bounds defined in
the software/hardware requirements specifications.
[back to top]
What is Adaptive Automated Testing™?
Adaptive Automated Testing is AberroTest’s method of creating tests
without having to write test scripts. In order to create testing, AberroTest observes the state of the application is (most often where the application is), decides what stimulus to give it in terms of data or instructions, and then observes and verifies the resulting behavior of the application with user-supplied behavior rules. The stimulus and verification are bound to the application state, not contained in a test defined by the automated tester.
Adaptive Automated Testing was created by Aberro’s founders, Bill Rogers and Joe Barta.
Bill and Joe began with the intention to write a better software testing tool, but quickly found in order to provide a tool that addressed the biggest issues in software testing you had to take a completely new approach to the entire problem. They then invented the technique, and then wrote AberroTest.
To learn more about Adaptive Automated Testing, read “Adaptive Automated Test: A Revolution
in Software Functional Test”, which is available for download on this Web site.
[back to top]
|
|
| |
|
|
|