- Quality Assurance
- Capacity and Performance banchmarking
- Configuration and Release management
- Software Maintenance
All of these have been carefully chosen to complement your engineering teams and allow them to focus on business objectives and time-to-market related activities.
Please visit the links on the left to get a more detailed view of these services.
- Quality Assurance
- Capacity and Performance banchmarking
- Configuration and Release management
- Software Maintenance
All of these have been carefully chosen to complement your engineering teams and allow them to focus on business objectives and time-to-market related activities.
Please visit the links on the left to get a more detailed view of these services.
Build Framework Services
In addition to the basic compile/build web application build functions, there are numerous convenience build services ("targets" in ant/maven) that could eliminate a huge sequence of manual steps making integration/test cycles of releases much easier, and possibly put testing of code changes against a full application deployment easier for developers. Because fo the complexity of full deployments, developers rarely test their changes against an integrated deployment.
Examples of such productivity improvement targets are:
-
Deployment Targets: for deployment/undeployment of the
application to application servers. Quite often there is a need
to support a variety of deployment configurations:
- deploy to multiple types of servers - Tomcat, JBoss, Weblogic, Websphere etc
- deploy to local or remotely located servers
- deploys need to include upload of additional files to the server
- database schema loading/data population etc
- instrumentation of application for profiling
- ...
- Lint type of targets: to identify code style improvements and design rule violations in java, javascript etc
-
Database configuration targets
- Database schema refresh/clean up
- Database population
- Templatized module creation: this is a convenience for creating new software modules according to module structure guidelines defined by you - including parametrization allowing automated creation of configuration files or code templates within the module
Normally the customer would always want to define and manage the core portion of the build - the compile and possibly war file generation due to its close binding with code architecture, configuration files etc. But productivity improvement/automation targets would be implemented/maintained by Logitate.
Continuous Integration
In the modern rapid software development/eXtreme Programming paradigms continuous build/integration techniques become an essential component.
We specialize in setting up continuous integration build frameworks built from scratch or set up to integrate with your existing build targets. These can be set up to run periodically as well as triggered by changes in the repository.
You can also launch these builds from your customer portal.
By using your customer portal, everyone from the developer to upper management has almost instantaneous visibility into the status of the build for any release.
If you are availing of our function test/system test services, the continuous integration framework will be integrated with the basic tests for navigability and verification of basic features.
You will be able to see the status of these tests from your customer portal.
Web Function Testing
We work closely with your Product Management team to understand the requirements for each release, and in the process of analyzing requirements for identifying test cases, help product management in identifying granular usability and functional issues related to the requirements.
Note that your QA team will composed of a strong component of developers who can not only identify functional issues but get into the code base, step through the debugger and in many cases identify the specific lines of code causing the problem. By including this level of diagnostic information, there can be huge improvements in developer productivity.
We have worked with customers where with the time zone differences, developers drop releases for testing and by next morning they have bugs reported with an accurate diagnosis of the exact fix (or at least the problem source) identified.
The main features of the functional test services are:
- Maintain a set of test cases updated per requirements from product management and make them available on your dashboard
- A running instance of the release will be accessible from your dashboard.
- A soft real time status of each release containing the bugs identified including their severity and priority will be posted on your dashboard including a grading (customized to your requirements) of the release: Grade 1 (QA grade - with many high severity/ priority issues), Grade 2 (Alpha or OK for internal demonstrations etc), Grade 3 (Beta level - OK to deploy for friendly customers), Grade 4 (Production).
- Listing of all issues which are considered blockers for the release to go to the next grade will also be included.
- A snapshot of a deployment instance available for you to personally execute and try out the bugs reported
- A running instance of reference deployment of all releases released to testing will be available on your dashboard
We can host the bug tracking system for you or integrate with your existing bug-tracking system. If hosted by us, we ensure that you always have the means to export the entire bug database out of our system at any time.
Load Test
We work closely with your Product Management team to understand the survivability, GoS, QoS and Capacity requirements for the product.
Following are the tests we can set up and execute against each release. You can select which of them are relevant to your specific requirements:
- Stress Tests: long duration tests to determine memory leaks and similar issues which cause the application to crash
- Overload Tests
- Capacity Testing
- Capacity Modeling: Note- these require specific discussions since creation of a capacity model can be quite complex especially on generic hardware/OS platforms due their relatively non-deterministic characteristics
- Performance Profiling: performance statistics including database access statistics will be avaiable from your dashboard
- Detection/Investigation of Hot Spots
- Database query analysis and recommendations for optimization
QA Stack Hosting
For each drop released to QA (upto a certain number of releases) a running instance will be hosted on our machines as a reference instance. There will be links to each of these instances available from your dashboard.
The purpose of this is to allow dev or product management to have access at any time to these reference instances for reproducing these bugs for diagnostics or other purposes.
These instances can be "rebooted" or "captured" - i.e., after expermimentation these instances would become "dirty" and they could be rebooted to clear the database to an initial state and restart the application, or you could do a "capture" to capture the state of the database and any dynamic files (note: we may need to customize these scripts based on the way your application captures state - in most cases capture of the database is adequate.
QA Dashboard/Control Panel
For each customer there is a dashboard which can be customized to a considerable extent based on customer requirements.
The dashboard will provided you with a status of the drops released to QA including the following information on each release:
- Grading of a release based on number of bugs of specified priority and severity affecting the release
- List of (and links to) high priority/severity bugs affecting the release. The links can be provided in your bug-tracking system provides the means for us to directly provide links ... or if you are using our hosted bug tracking system.
- List of test cases executed with pass/fail information on each
- Summary statistics on each release
The dashboard also provides access to reference instances of each drop released to QA. These are live running instances and provide the following facilities:
- Link to access the running instance
- Ability to restart the instance without rolling back database
- Ability to restart instance with rolling back database (to state at time of deployment)
- Ability to capture a snapshot of the state of the instance (such as to be able to capture the state in which a bug can be reproduced) and to initiate an instance in this state. This avoid bugs of the type "cannot reproduce"
- Download the database dump and the deployed application for a given running instance.
Performance Profiling
If required we can collect performance profiling statistics on your application during execution of a specified set of use cases and make this available on your dashboard.
Then entire call tree will be made available from the dashboard to allow further investigation by your engineers.
Note: at present integration of this with the dashboard is not available and we would initially be mailing these statistics.
Development of Installers
In the case of shrink-wrapped applications for deployment on customer desktops or by your sales teams for demo deployments, requiring development and maintenance of installers, we can develop wizard based installers using tools such as InstallAnywhere, and maintain these from release to release.
For each drop we would be verifing the accurate execution of these installers, take any maintenance actions based on release notes provided by your developers.
These installers would also be available for download from your dashboard.
Database/Application Server Portability
Most enterprise applications you are developing require you to ensure compatibility with platforms mandated by your customers. Such as different choices of application servers, different choices of databases etc.
we can routinely execute tests to ensure database and application server portability, determine issues with deployment idiosynchracies of different application servers, database dialect issues etc.
We can also maintain your deployment server scripts (ant) to ensure transparent application deployment and database population.