Building tests is necessary.
Building the wrong tests is not.
Today’s agile methodologies were designed to deliver more business value faster. However, rapid changes in the codebase mean your teams are writing more and more tests to ensure the quality of the application. But how do you know if you’re building tests you actually need—or wasting time building those you don’t? You need visibility into high-risk areas, exposing untested code, poor design and coding practices, and even unused legacy code. Such insights can enable your agile teams to clean up the code and data and ensure the codebase quality remains at optimal levels.
Building tests is necessary.
Building the wrong tests is not..
If there’s one thing the market demands of both software development and QA managers, it’s velocity. Today’s agile methodologies were designed to deliver value faster with incremental features via shorter sprints. However, this often comes with rising technical debt—that trade-off between developing rapidly and developing quality, maintainable code. Rapid changes in the code base mean you have to develop more and more tests, and the more tests you build, the longer it takes to complete each sprint.
Analyzes multiple data sources.
SeaLights does more than scan a codebase to see what tests are needed for the current build. It analyzes data from multiple sources to identify where your resources should focus their test development:
Builds – TGA analyzes what code changed from the previous build, when, by whom, and whether it was previously tested.
Test Coverage – TGA examines your existing tests to determine what type/stage of coverage applies to the application under test.
Production – TGA examines how users actually interact with the application in production, determining if tests on certain features/areas of code are even needed.
The result? You get an accurate picture of what’s changed and what’s already covered by tests—as well as whether some tests are still needed based on actual usage.
Identifies gaps for any type of test.
While most software teams rely on static code analysis to detect defects, SeaLights provides software engineering and QA managers visibility into their test gaps during the test phase. Going beyond the unit test level, SeaLights runs dynamic analyses across regression tests, functional tests, API tests, integration tests, and exploratory and automated tests—including manual tests.
That means your test developers don’t waste precious sprint time examining different types of tests with different tools—or manually—to see whether any of them cover the changes in the current build. If the existing tests don’t cover the changed code, SeaLights shows which modules require new tests and even allows them to create manual tests right in the dashboard.
Classifies test gaps by risk level.
Not all test gaps represent the same level of risk and therefore don’t need to have the same level of test coverage. SeaLights divides gaps into three groups, each group representing a different level of risk.
High Risk – An untested method that was recently modified and used in production.
Medium Risk – An untested method that was recently modified and not used in production.
Low Risk – An untested method that wasn’t modified recently and used in production.
It also identifies “no risk” gaps—code that hasn’t changed and is not used in production—which may indicate dead code that could be cleansed when opportunity allows.
This classification allows managers and team leaders to focus each sprint’s test-building activities on those which will eliminate the defects that might otherwise affect the most users in production actions—and not waste time building unnecessary tests.
Configurable range for previous sprints.
SeaLights TGA allows you see the end state of testing for the previous sprint(s), including all changes, all executions, and all testing activities associated with the previous sprint. But TGA also allows you to configure the range of time or number of builds to be considered in its test gap analysis.
You can specify the analysis will consider all changes and activities:
Since the last build
During a specific date range
During a repeatable, rolling time frame (e.g., the last two weeks)
That means the TGA report will contain exactly the amount of information and granularity you choose.
Drills down on each component at risk.
The three-level classification of test gaps shows test developers exactly which changed code has the highest risk of incurring technical debt. To see more information on why the code has been flagged for insufficient or lack of test coverage, SeaLights lets them drill down by simply clicking on the component right in the SeaLights dashboard. SeaLights shows them a list of the exact files TGA identified as containing test gaps, who committed the new code, and when.
This means no more hunting or guessing as to which modules are at risk, or even which types of tests are missing or are in need of attention. Test engineers know which module they need to write a test for and why developers know exactly which files might need their attention.
Points out the source and developer associated with each gap.
SeaLights TGA lets test engineers drill down on each identified test gap, so they are instantly aware of the types of tests that do (and do not) need to be built. But for software developers, it goes even further. Because TGA identifies test gaps down to the method and line number, the SeaLights plugin allows your developers to view the individual methods and lines of code that need attention, including who changed it and when, right in the source code.
Users simply click the Github icon, provide the appropriate login credentials (SeaLights has no direct access to your source code without your login), and view the source code where TGA identified test gaps. The source code is overlaid with TGA’s “covered/uncovered” identifiers, color-coded to indicate the type and severity of each risk. That means test developers can pinpoint the exact lines of code at risk, all flagged with their corresponding risk level.
Configurable gap analyses, filters, and advanced settings.
With different sprint and build intervals, levels of code changes, and testing intervals, no two development shops are the same. That’s why SeaLights allows development and QA managers the granularity to control the frequency and behavior of their test gap analyses. Similarly, not everyone needs to see the same information to get their job done quickly. Developers and test engineers each have their own areas of responsibility and their individual preferences for notifications and more.
With the settings feature users can configure TGA’s activities and set up filters and preferences, so they can see exactly what they need to see and when. For example:
Define Test Gaps Report – Set the frequency of test gap analysis and reporting by individual applications.
Set Notification Rules – Define your preferred type of report and results notifications, as well as the method of delivery (such as Slack or email).
Flag Ignored Code – Filter out the ”noise” by flagging legacy code or dead code, so it is ignored in future gap analyses.
Analyzes multiple data sources.
SeaLights does more than scan a codebase to see what tests are needed for the current build. It analyzes data from multiple sources to identify where your resources should focus their test development:
Builds –