ABSTRACT: Research Article QUALITY MANAGEMENT AND CLIENT RELATIONSHIP MANAGEMENT IN SOFTWARE TESTING Shubhra Banerji Address for Correspondence IBM India Private Limited, SA-2 Subramanya Arcade-II, Banerghata Main Road Bangalore-560029 (India) Email- shubhra.bnaerji@gmail.com There is a need for quality software and at the same time one has to reduce the testing time.in view of this, the test engineers have to decide several strategies. In this paper two very important strategies namely quality management and client relationship management are discussed to achieve quality with minimum testing time. The various issues, steps of the approaches and advantages were clearly pointed out. All the strategies were illustrated with case studies and the benefits were shown. Finally the limitations and scope for further work in these aspects are pointed out. KEYWORDS: Quality, Productivity, Statistical Process Control Tools, Test Case Generation, Knowledge Management, Reusability, Test Case Reduction, Orthogonal Array Approach. 1. INTRODUCTION: Software is an integral part of every sphere of life. There is no application where software is not used. Hence, software testing has become one of the very important aspects of software development. With its help, we determine hidden defects [1], accuracy, security, quality and compactness of the software [2] in order to help marketability and retention of customers. There are several important issues related to software testing. In this paper, we have addressed two of these namely Quality Management [3] and Client Relationship Management [4]. Nowadays for software testing, a systematic approach is needed to make it more effective and to ensure high quality. The quality of software is defined in terms of reliability, efficiency, suitability, portability, maintainability etc. ISO, the International Organization of Standardization has given standards like ISO/IFC12119 [3] so that software testing becomes uniform and unambiguous with reduction in vagueness. This has prompted the Software Test engineers to develop the concept of Quality Management [5] which is nothing but a structured method for planning and implementation to obtain quality product as per the clauses of ISO 9001: 2000 Quality Management System for standardization and to generate a number of metrics to provide numerical values of various specifications, parameters and criteria [6]. For any product in general and computer software in particular, today s practice is customer centric (relationship based) transactions in contrast to product centric transactions [7].Hence Client Relationship Management is very important
and one has to maintain a good relationship with the client and focus on the customer in all activities [5]. Nowadays the customer or client expects certain attributes from the developers for innovation, customization and flexibility. Thus a very effective and well conceived customer relationship management (CRM) strategy is needed. This paper has been divided into several sections. In section-2, a brief description of quality model, quality management model, quality management issues, statistical tools in quality management and a case study has been given. In section-3 the need and criticality of client relation management, various issues faced, steps needed to strengthen the relationship management and a test case is provided. Concluding remarks with scope for further study has been given in section-4. 2. SOFTWARE QUALITY AND MANAGEMENT Software testing determines several errors like errors in (i) Performance, (ii) Investigation,(iii) Termination,(iv) Different Functions, (v) Data structure (vi) Databases. tandard quality module has six different attributes namely (i) Functionability, (ii)usability,(iii)reliability, (iv) Portability, (v) Maintainability and (vi) Efficiency. Out of these the first three are compulsory and the remaining three are optional but desirable. It is necessary to specify these attributes with the help of metrics as per the need. 2.1 Quality Management Need: There are several reasons like large number of inputs, large number of possible paths in the program, complex interfacing, limited time and resources making 100% software testing not possible due to which Quality Management [5] has become very important now. It has three stages namely. (i) Planning (a) To identify various parties (customer, delivery team, account management team) and their objectives (b) To finalize the various metrics (quantified parameters) like process quality metrics, product quality metrics and services quality metrics (c) to provide priorities for the objectives so that the goals can be identified (d) to plan the project strategies and (v) to fix the tracking plan. (ii) Implementation To identify the main activities, distribution of work amongst team members, training needs, reviews client feedback etc. (iii) Control To determine error and provide feedback for corrective action. Quantitative date analysis and compliance audits are done in this stage. 2.2 Quality Management Issues: For quality management in software testing several issues are involved [5]. Some of the important issues are
(i) Quality concept not very clear to all the members of the project. (ii) Advance knowledge of client expectations for example performance needs, documentation formats, design and coding standards, methods of dialogs etc are not available. (iii) Effort overrun due to wrong estimation because of non inclusive of some activities of the project. (iv) Goals may not have all the strategies. (v) Junior members may have rework at later stages because they may not have complete idea of the project and they may not follow all the processes. 2.3 Quality Test Tools: We need tools and techniques during unsupervised software testing, error determination and for tracking during planning, development and execution. We expect the tools to have capability, reliability, capacity, learnability, operability and compatibility. Tools should be nonintrusive and should save money and time. Statistical Process Control is the main tool and it takes the help of control charts. The other statistical methods used are (i) histogram (ii) flow charts (iii)scatter diagram (iv) fishbone diagram (v) Pareto chart (vi) Process maps (viii) regression (viii) correlation (ix) runchart. These tools and techniques helps us to (i) formalize the testing (ii) use the test plan as an when needed (iii) document the testing progress (iv) systematically track defects (v) increase efficiency (vi) reproduce the test results (viii) use automatic and non automatic modes of applications. Case Study: With the help of control chart we reduce rework due to which effort overrun reduces and the productivity increases. The productivity can be determined as (i) test case preparation productivity and (ii) test case execution productivity. Table 1 shows the weekly activity reports for each teammember for week 1, week 2 and week 3 for six different projects (Project 1 to Project 6) The Mean value, Upper Control Limit (UCL) and Lower Control Limit (LCL) selected for Preparation Productivity are 2.781, 3.2 and 2.25. For Execution Productivity, the corresponding values are 3.939, 4.59 and 3.14 respectively. The Mean Value selected is the average value of the Productivity parameter under consideration. The upper and lower control limits are selected in a manner so that if the process is in control, nearly all of the points fall between them. As long as points plot within the upper and lower control limits, the process is assumed to be under control. The process is out of control whenever a point is outside of the control limits. In that case, investigation is to be done for the root cause and suitable corrective action is to be taken. The productivity parameters
calculated are shown in Table 2. The The Control Charts are shown in Fig 1 and productivity metrics are shown in Table 3. Fig2. Table -1 : Weekly Activity Reports of Six Projects
Table-2 : Productivity Parameters Table-3 : Productivity Metrics Fig- 1 : Control Chart for Preparation Productivity
Fig- 2 : Control Chart for Execution Productivity 3. CLIENT RELATIONSHIP long term relation with client, i.e., customer MANAGEMENT [4] Client relationship management (CRM) is retention, repeat business and referrals to other clients. In addition to core product the needed for improving the customer other aspects like processes and support, satisfaction which will lead to increase in the profit and will retain the client for a much longer period of time. Here one has to determine strategies, one has to understand customer behavior and it involves the entire process [7, 8, 9]. From Fig. 3 one can see how the business of an organization is dependent on customer/client [5].We can see that with customer satisfaction there will be technical performance of the application / product, interaction with organization at various levels and emotional elements are also very important for customer satisfaction which has been shown in Fig. 4 [5]. The client relationship has four levels (steps) namely the service offering based, need based, relationship based and trust based as shown in Fig. 5 [5] Fig-3: Relationship between Customer Satisfaction and organization s business
Fig-4: Drivers for Customer Satisfaction Fig-5: Levels of Customer Relationship 3.1 Feedback in CRM : milestones so that one need not wait till the There are two types of feedback. Formal formal feedback. Both formal and informal feedback or the engagement level feedback feedback help us in the following three is a regular part of the process and can be aspects [5] taken at definite intervals say quarterly (i) One can determine effective tests so that during the completion of the software. testing effort is reduced. Informal feedback is usually taken during (ii) Client, will consider the project team as coffee/lunch break to know the customer 'resource provider' and 'trusted advisor' need and to help the project in between rather than a 'solution provider'
(iii)there will be feeling in clients that client relation is enhanced without much other strategy from their side. 3.2 CRM steps and Client's Advantages : For client relationship management we take the following three major steps [5]. (i) Re-usability of common library modules and test cases. This will lead to reduction in test case preparation time and in test case preparation productivity. In order to do this one has to decide the guide lines for the use of the library modules. (ii) Process Improvements - This has four steps Selective testing of critical functionalities Defect review Defect error reduction Bench mark productivity internally and externally. For each of these guidelines are decided. These steps help us to reduce test cycle time, reduce defect error and enhance quality of testing. (iii) Knowledge management initiatives - This involves transitions, training, learning, induction training and planning. With this the functionality issues in the team is resolved, domain competency in the team is built, reduction in people dependency and one can identify the things to be shared with client. 3.3 Test Case Results: Monthly status reports of a test case are shown in Fig. 6 through Fig. 10. One can see the advantages mentioned in the previous subsection. Test Case Preparation Productivity (TC/ Person Day) 7.4 7.2 7 6.8 6.6 7.37 7.24 7 7 6.91 Mar07-TCA Mar07-TCB Mar07-TCC Jun-TCB Jun-TCC Fig-6: Test Case Preparation Productivity for various release cycles- Increasing Trend
Test Case Execution Productivity (TC/ Person Day) 5 4.89 6.5 7.1 4.8 4.6 4.4 4.57 4.85 4.2 Mar07-TCA Mar07-TCB Mar07-TCC Jun-TCB Jun-TCC Fig-7: Test Case Execution Productivity for various release cycles- Increasing Trend Test Coverage (%) 95 90 85 80 91 87 85 83 79 75 70 Mar07-TCA Mar07-TCB Mar07-TCC Jun-TCB Jun-TCC Fig-8: Test Coverage Reduction (Risk Based Testing) for various release cycles- Reduced Test Execution Time % Defect Error 15 10 13.2 10.1 10.4 9.56 9.52 5 0 Mar07-TCA Mar07-TCB Mar07-TCC Jun-TCB Jun-TCC Fig-9: Defect Error Reduction with every release cycle Improved Testing quality
Review Effectiveness (%) 8 7 6 5 4 3 2 1 0 7.01 7.3 6.6 5.4 5.42 Mar07-TCA Mar07-TCB Mar07-TCC Jun-TCB Jun-TCC Fig-10: Review Effectiveness increased with every release cycle CONCLUSION: We see the use of software almost in all the products, process, system, management, learning and everything that we can think of. Thus the software engineers are required to develop reliable and quality software. At the same time the world will not allow excess It has been shown that using the customer relationship management technique there are several benefits. Some of these are shown to customer where there will be saving of time, cost and efforts is for the organization. There is a lot of scope for further works. We are working on the use of metrics like time for this purpose. Hence the software testing effectiveness, defect detection test engineers are required to find out systematic strategies by following well developed mathematical and theoretical tools. In this paper three such strategies were discussed. First of all proper planning and control has to be done to have quality testing of software. One has to address the various software issues and then identify the efficiency, defect rejection ratio etc. for this purpose. The use of automation to improve productivity is a good area for further work. One can also work with some of new mathematical techniques. The concept of soft computing can be used if there is gray knowledge and imprecision. ACKNOWLEDGEMENT: software tools. Software attributes need to The author is thankful to Quality be selected very carefully. Although some of these are reported in this paper but there is a lot scope for further work in this area using Department of Infosys Technologies Ltd. Bangalore for providing opportunity to work and for writing the paper. modern concepts of management.
REFERENCES: 1. Myers, G.B., The Art of Software Testing, John Wiley and Sons, U.S.A., 1979 2. Perry, W.E., Effective Methods for Software Testing' John Willey and Sons, USA, 1980. 3. Banerji, S. Quality Management in Software Testing, 7 th Annual International Software Testing Conference, Bangalore, 2007, p 1-13. 4. Banerji, S., Project Client Relationship Management - Moving From a "Service Provider" to a "Trusted Partner", 4 th Annual Project Management Leadership Conference, Bangalore, 2008a, p 1-12. 5. Infosys Technologies Limited Sources, www.infosys.com, 2008. 6. Srinivasan, D. & Gopalaswamy, R., Software Testing Principles and Practices, Pearson Education, 2007. 7. Barnes, J.G., Secrets of Customer Relationship Management, McGraw Hill, Blacklick, OH, USA, 2000. 8. Sharp, D.E., Customer Relationship Management Systems Handbook, Auerbach Publishers, Boca Raton, FL, USA, 2002. 9. Bligh, P., CRM Unplugged: Releasing CRM's Strategic Values, John Wiley and Sons, Hoboken, N.J, USA, 2004.