At Shockoe, application testing is a strategic component in our business offerings that provides our clients with a competitive advantage.
Traditionally, testing is a tactically intensive process. By its hands-on nature, human resources required to perform tests consume budgets and starve strategic resources needed to define, conduct, and analyze quality testing objectives.
Today’s mobile apps require exhaustive levels of effort and resources to conduct comprehensive, confident, bullet-proof testing. The sheer number of device types, makes, models, operating system versions, original equipment manufacturer modifications, and carrier alterations strangle resources required for testing, drive-up development costs, delay deployment, and often limits tests to key app areas and select devices.
So, how is Shockoe able to focus on strategic solutions without being bogged down by the nearly endless tactical resources required to ensure proper app testing? … By using SOASTA TouchTest© to automate the testing process.
So, what is TouchTest and what strategic advantages does it deliver?
Shockoe employs TouchTest to execute the majority of testing tasks traditionally performed by humans. As such, our efforts can be focused on developing strategic test objectives for real-world scenarios, using real-world data, on actual devices.
Fundamentally, TouchTest records user interactions with an app. These recordings can be played back on a single device or simultaneously on multiple devices. Playbacks can be incorporated into continuous integration environments and automatically performed as part of an app build process. During play back, app and device information is collected for analysis. Using TouchTest to carry-out test objectives enables Shockoe to expand test planning, conduct tests on more devices, shorten product cycles and increases reliability as human error is removed from the hands on, tactical testing processes.
Strategic test objective planning is the first step in Shockoe’s process. Complex tests, such as full regression, are broken down into many smaller unit tests. Identifying edge cases where the unit test is pushed to extremes by data values, user interaction, and system demands, are crucial for solid testing.
After test objectives are defined, a human Shockoe tester conducts each unit test on a TouchTest enabled app and device. TouchTest records each gesture, event, and invoked user interface element as an “app action.”
App actions provide validations, condition matching waits, and access to property sets. Additional elements can be inserted before and after app actions. These elements include checkpoints, time delays, controls, waits, composition launchers, and comments.
If-then-else and switch conditional elements can also be added to control the flow of a test. These conditional statements can evaluate properties associated with app actions, device, and data provided as part of the test environment. Results from embedded or linked scripts can also be used by conditional statements. The ability to verify app action behavior and change the course of testing based on conditions is a powerful, strategic advantage of TouchTest.
Determining what input data will yield the desired results is another strategic aspect in defining solid test objectives. Should the test pass? Should the test fail? What data best exposes edge tests? TouchTest allows “seed data” from databases and/or .csv files to be injected into the test playback process at the app action level. While TouchTest allows for manually entered data during tests, seed data provides fully automated testing and ensures exact data use.
App actions and elements can produce output for recording test execution detail. Screen shots, app action object properties such class name and text, as well as device information can be saved for post test analysis. Strategic data capturing greatly reduces time required for analyzing results, decreases the time to identify faulty code, and can be used to further refine tests.
App actions and any inserted elements comprise a test “clip.” Typically, a clip defines a single unit test case, for example, actions required to perform a login.
Clips are assigned to a “track” in a “composition.” As its name implies, a composition allows many parts to become a whole. Playing back a composition comprised in many clips provides the ability to perform any test scenario – from unit to full regression testing. A composition track is assigned to a physical device. Multiple tracks can be added to a single composition allowing a single test composition playback to be performed simultaneously on multiple devices
During playback, TouchTest records key metrics from both the app and device. These statistics are accessed in the TouchTest Dashboard. The ability to maintain test results and drill down into details enables Shockoe to devote resources towards strategic analysis of defects, determining defect cause and effect, and efficiently identifying and making corrective actions.
Shockoe’s use of TouchTest dramatically reduces the hands-on tactical resources required for testing, allowing efforts to be directed towards strategic test development, deployment, and analysis.
TouchTest directly benefits our clients by shortening product cycles as tests and corrective actions are implemented through out the development cycle, ensuring device platform reliability as tests are performed simultaneously on multiple devices, improving app performance as emphasis is focused on analysis, and cost reductions as more tests can be conducted with fewer human resources and in less time.
Contact us to learn how TouchTest can benefit your existing or future app.
For additional information on SOASTA TouchTest, visit here.