Application Quality Management

Kurumsal
January 26, 2012

Today, IT solutions have been used more frequently and effectively. Therefore, uninterrupted service at desired performance is critical.

Problems occurring in the applications supporting these services cause unsufficient source use and reputational risk. Problems may happen during development, test or live use phases. While service continuity should be provided with the existing structure, business processes should be improved, new services should be provided and strategical decision-making processes should be supported.

Quality Service Necessity

 Increasing business requirements needs more qualified, more functional and reliable and quick IT applications.

In order to achieve these targets, quality assurance of the applications is vital important for reputation, cost loss prevention.  In our developing world, integration necessity has changed application development framework; client-server applications have become service-based applications which are used by the companies very densely.

Since IT services are used more effectively, availability of the applications is very important for business continuity.  If needs are converted into codes without controlling, small functional mistakes affect large user groups and performance sufficiency is not achieved; applications stop. Especially if applications open to the public are not complying with security criteria; they expose to attacks easily, services cannot be provided and it cause time, source and reputation lost.

Provided services change very rapidly due to needs, legislation and technology changes hence internal dynamics also should keep up with this change quickly.  Sources, IT assets and operations should be monitored and recorded instantaneously so that IT management is kept under control. Scaled test environment will enable quicker data sharing, stronger reports and smooth working then IT management will be easier.

Functional Tests / Necessity Management

Corporates regularly issue application updates due to business unit’s demands and legislation revisions. Update reasons, update demander and affected projects by this update should be recorded. Therefore, a necessity management infrastructure should be established and all demands should be connected to project necessities.

If there is a problem at application level after the change; change can be withdrawn quickly and impact analysis can be repeated.

Once necessity management infrastructure is established and change is transferred into test environment then functionality tests should be performed by relevant units within the corporate. These tests should be conducted over test data which must be prepared according to corporate information security policy.  Therefore, failed changes will not be transferred into production environment. Since there is more than one unit related with the subject (different directorates, outsources etc), monitoring will be performed by a central application quality management system.

Performance Tests

Thanks to performance tests, applications developed by application development units and changes will be subjected to performance tests in test environment to find out performance failures and to resolve the problems before going into product environment.  Hence, applications can be tested with loading proper number of synthetic users simultaneously according to actual work load that they will face in real environment; potential problems at application level or infrastructure components can be detected. Central quality management will be informed about application layer having the problem and failed infrastructure components.

Security Tests

Today, attack tool users are from every section so it increases system security risks. Many organizations believe that they control their security by internal security wall (firewall) and attack detection/protection (IPS / IDS) systems. On the other hand, security vulnerabilities at application level (SQL injection, Cross-Site Scripting, Session Hijack etc) cannot be detected by these systems. Application layer security should also be tested regularly.  Security vulnerable application may cause very serious problems if it is released to the production environment.

Application Quality Management

Security tests can be carried out by two methods; “White Box” tests and “Black Box” tests. “White Box” tests make code analysis through application and detect vulnerabilities. “Black Box” tests attack the system as if it is an outside attacker and detect vulnerabilities. Security tests are very important to prevent potential attacks that likely occur in production environment. Applications are subjected to “black box” tests in both production environment and test environments to identify security vulnerabilities and remove them.

Since performance and security tests affect each other directly, interactions between these tests should be checked by repeating the tests.

Test Management

One of the most important parts of application quality is software test and evaluation process. Main purpose of test management is test activity planning, development, implementation and evaluation opportunity for the test personnel. These activities can be listed as coordinating the people’s effort, monitoring relations and dependencies of test assets and defining quality objectives, measuring and monitoring.

Problems to be solved encountered during test management after solutions applied are as follows:

  • Time shortage for testing
  • Lack of source for testing
  • Not properly identified effective test management requirements
  • Lack of coordination between application development team and test team
  • Not reporting the correct data

Business Processes Monitoring

Performance of the services provided by the companies can be monitored from the end-user perspective with business processes monitoring solutions. Thanks to this solution, in case of a problem, first of all the company notice the problem and respond it.

Consolidated Operation Management

One of the most common problems of IT departments is time and personnel cost spent for investigating problem reason in case of a problem occurrence in system, service and applications.

Software teams transfer an application into production environment and if there is a problem in this application; each unit (system, network, database, application development) undertake time and personnel cost to search the root cause and problem detection time is within hours (Ref: IDC).

In the operation management solution which is formed by IT operation sources, other groups can focus on their own activities, IT operators can monitor the related errors from a single point and they can figure out root cause as soon as possible. As a result, errors caused by same reason will be filtered and they will be treated as single error; effort and solving time will be minimized.

Network Management

For system continuity, efficient management of network infrastructure, making the necessary changes proactively are very important.

Network solution can locate recent network topology and services onto physical maps and provide simultaneous monitoring. Reasons for potential errors in the network are obtained, relevant units are informed promptly. Basic problem data is conveyed to top management of the operation. Service interruption and performance problem sources can be seen.

Infrastructure Management

Along with business processes monitoring solution, infrastructure components (servers, network devices etc) should also be monitored instantaneously. Therefore, performance losses at infrastructure components can be noticed and solved before problem occurs. This solution will work together with internal business processes monitoring solution. Historical performance reports can be taken. In conclusion, corporate can estimate future investment plan in compliance with changing and growing IT infrastructure.

Configuration Management

It is critically important to monitor IT components inventory (server, client, network device, printer), to plan existing components maintenance and to manage them effectively and to define future needs.

An investigation is made by configuration management. IT components inventory such as server, client, network device, printer, their relationships and components loaded on them are found out. These data is kept in a central database. If there is a modification or update on a component, it can be reported that which component is changed, updated or removed.

After investigation, inventory data is listed with all details, Servers, hardware on the servers (CPU, Disk, Memory), software (services, processes, loaded applications) can be shown. Investigation also supports investigation of virtual infrastructure; all virtual servers running on physical hardware and server configurations are reported.

Performance Management

Central Business Services Management provides server performance data physically, it can also make performance evaluation with respect to defined criteria for business services. It observed entire IT infrastructure and keep the service performance provided for end user at highest level; Service Health Reporting feature reports service-infrastructure relationship with business-focused presentation by enhancing visual and functional features.    Data obtained from Business Services Management, Application Performance Management and Operation Management are consolidated and reported. Resulting parameters are easily changed by the users and non-technical significant parameters are reported for business units.