aberro logo
 
 
  AberroTest 2.0
  Adaptive Automated Testing
arrow AberroTest FAQs
  AberroTest JumpStart
  Aberro Product Testing Services
 
 
   LEARN MORE ...
datasheet
whitepaper
Demo
trial
Purchase Aberro Test
 
 
 
:: AberroTest FAQs ::


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:
  • Manual—A 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.
  • Automated—A 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 testing—Verifies 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 testing—Verifies whether an application works across multiple different platforms (that is, operating systems, Web browsers, SOAP stacks).
  • Localization testing—Verifies whether the localized versions of the same applications (that is, English, German, Chinese, Japanese) work in a consistent fashion.
  • User acceptance testing—Verifies 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]