Sci.Int.(Lahore), 21(1),25-28,2009 ISSN 1013-5316; CODEN: SINTE 8

Improvement of Key Problems of Testing in Assurance

Nayyar Iqbal, M. Rizwan Jameel Qureshi Department of COMSATS Institute of Information Technology Lahore Pakistan [email protected], [email protected]

Abstract makes sure the project will be Software quality [2] is gaining much more completed based on the previously approved interest these days as well as much more specifications, standards and functionality. It is importance is being given to the production of required without defects and possible problems. high quality software products. Software It monitors and tries to progress the development development is a intricate process requiring process from the start of the project. Software careful integration of various disciplines, Quality Assurance (SQA) is the combination of technical activities, etc. the entire process, which Most software are produced by the joint effort of includes , coding, many designers and programmers working over control, , change management, a period of man years. The resulting product and release can’t be totally understood by any person. No management. In this paper we describe the matter how [2] well-designed methods used to solution for the key problems of test the final product, how complete the in quality assurance. The existing , how structured the methodology, practices have some problems such as testing the development plans, the project reviews, the practices, attitude of users and culture of walkthroughs, the management, the organizations. All these tree problems have some configuration control, no matter how advanced combined problems such as shortcuts in testing, the tools and techniques - all will come to reduction in testing time, poor documentation nothing and the project will fail if the quality etc. In this paper we are recommending management system is not effective. strategies to provide solution of the said problems mentioned above. 2. Related Work In this paper the author [1] describe that Keywords: Software Quality Assurance, insecurely tested software system lowers down Testing, planning, documentation. the system reliability that afterward negatively affects ‘Software Quality’. In this paper 1. Introduction ‘Software Reliability Measurement’ has been Developing a [1] good software system is a very discussed and also ISO approach applicable to difficult task. To make a good software product, software quality assurance (SQA). In order to numerous measures for software quality increase the efficiency of testing and to improve attributes need to be taken into explanation. software quality, software houses must make System complication dimension plays a vital role transitions to higher software culture. Testing in controlling and supervision of software quality need to concentrate on maximizing customer because it normally affects the software quality satisfaction rather than just detecting and attributes like software reliability, software correcting errors involved in delivered software. testability and software . Thus, In this paper, the factors affecting software software quality assurance (SQA) [1] needs to be have been discussed and the addressed keeping in view the new strategies, author suggested possible improvements. The tool, methodologies and techniques applicable to results of this paper may be quite supportive to software development life cycle. the researchers in quantifying the specific Sci.Int.(Lahore), 21(1),25-28,2009 ISSN 1013-5316; CODEN: SINTE 8 measuring tools for these software qualities New information areas such as software safety attributes. and reliability are now being added to the core In their paper [2] J Barrie Thompson and Helem set of required skills. SQA must be independent M Edwards says that given the fact that time is from development organizations to be very limited in the course the authors believe that successful. in the module they have Massood Towhiddnejad [5] describes an been able to provide an appropriate balance experiment which involved students in the between master’s level research activities and undergraduate computer science senior project those of a more practical nature. However, the capstone design course, and students in the authors believe that they have been able to graduate software testing course. Students present the students with some really helpful entering the senior project class are graduating practical experiences. In particular the positive seniors who have completed all but maximum of features of the approach the authors have two required CS classes. They have already adopted are: The prepared arrangements in completed a one semester particular with consider to the front-loading of class with major concentration on software formal lectures means that students receive an development life cycle and software processes. early overview of the subject area. They then Students entering the software testing course have sufficient time to explore their chosen have already completed graduate course in research area(s) in depth. The practical side of software engineering, project management, the module provided the students with the requirement engineering, and they may have chance to put into practice some of the aspects other courses in software design and architecture. of software engineering that they had Students in the undergraduates’ classes worked encountered and begun to understand from their as the development team while students in the research activities. graduate classes worked as the software quality In the [3] modern years an increasing number of assurance team, both working on a single software organizations have launched initiatives product. to improve their software process. The majority The authors [6] have addressed a practical of them have been not capable to move beyond drawback of software metrics based quality diagnosis and action planning, turning those classification models based on Boolean plans into real and practical actions. This paper Discriminant Functions. More specifically focuses on two software process areas, Software though BDFs have confirmed excellent ability to Quality Assurance (SQA) and Software predict fault prone modules they do so at a very Configuration Management (SCM), and high inspection cost. However it should be noted proposes a set of basic tools to assist in the that there may be situations in which software implantation of specific practices for them. development organizations are agreeable to deal SQUID (software Quality In the Development with relatively high inspection costs, provided all Process) - for specifying, monitoring and low quality modules are reviewed and enhanced. evaluating the software product quality during This paper applies [7] Lehman’s theory of development is adapted. The authors describe software evolution to analyze the characteristics the results of a application conducted, showing of web-based applications and identifies the how the proposed adaptation helps in essences and incidents that cause difficulties in formalizing and normalizing the implantation developing high quality web-based applications. process, setting tangible goals and evaluating It is argued that they belong to Lehman’s E-type the results more accurately. systems, hence satisfy Lehman’s eight laws of The authors [4] illustrate that software quality software evolution. The doubts underlying the assurance is faced with many challenges starting development of web applications are analyzed with the method of defining quality for software. and their implications are discussed. In order to There must be complete understanding what high support sustainable long term evolution of such quality software is, but the final description is systems, authors proposed a cooperative multi- generally influenced by the environment of the agent system approach to support both software usage. There are many aspects of SQA development and maintenance activities. A from those within the phases of the software prototype system with emphasis on testing and development life cycle to those that span several quality assurance is reported. phases. SQA is a very difficult area that is This paper describes [8] the one of the most serious to the final success of a project; it is also important things that students can learn in a one that requires a rather diverse set of skills. course in software engineering is how to Sci.Int.(Lahore), 21(1),25-28,2009 ISSN 1013-5316; CODEN: SINTE 8 effectively work in a team to develop software quality for different stakeholders, b) how much that is too large for a single individual to effort seems reasonable to spend on creating, produce. It is also essential that students learn maintaining and monitoring the indicators in an the value of assuring software quality at each OSS context; and c) the need for empirical step of the development process. This paper also evaluation of the concept using larger set of OSS illustrates how to include a UML-based team projects. project into an object oriented software engineering course. The project gives students 3. Hypothesis practical experience in software development Hypothesis of our paper is that we provide and quality assurance at each stage of the strategy for improvement of key problems such software lifecycle, including analysis, design, as shortcuts in testing, reduction in testing time, implementation, and integration. In this paper let go deliver now correct errors later attitude, author describe approach and example project poor planning and co-ordination, lack of users that includes the problem requirements, involvement, poor documentation, lack of timetable of deliverables and sample management support, inadequate knowledge of deliverables. application environment, improper staffing and This paper has [9] shown that the software poor testability. In this paper we are focusing on quality has been advanced, and Software Process the above factors to bring improvement in them Improvement (SPI) has been also improved since the execution of system based SQA. Samsung Electronics Semiconductor Business (SESB) is 4. Strategy for improvement of key trying to improve the better software quality and problems gain optimum process as in many companies. In this paper we give strategy for the Therefore, SESB constructed IT-Workplace and improvement of key problems [1] which are ITPM to elevate productivity of software being faced in the software quality assurance development and optimize Software during testing. development process. Based on IT-Workplace and IT Product Management, SQA department 4.1 Shortcuts in testing has conducted the activities of increasing Testing is considered tough task by many software quality including audit and Software software project managers and software houses. Process Improvement. Software testing is a creative and complicated The Authors observed [9] that software quality task required expert, active and energetic has been increased and stabilized by appraising employees in software development. Following audit score and total time of software steps are necessary to avoid from shortcuts in development process in the software project has testing. Obtain requirements, functional design, taken less time than before. In order to maintain and internal design specifications and other good software quality, SQA department necessary documents. We must also obtain constantly has to search for the improvement schedule requirements that determine project- point, get the opinion from project team, and related personnel and their responsibilities, reflect on that view and improve the process. In reporting requirements, required standards and summary, authors conclude that the introduction processes such as release processes, change of the system based SQA has a strong effect on processes, etc. Testing team must identify the elevation of SQA and SPI. application's higher-risk aspects, set priorities, This paper describes [10] quality assurance (QA) and determine scope and limitations of tests. methods such as software testing and peer review Determine test approaches and methods - unit, are very important to reduce the adverse effects integration, functional, system, load, of defects in software engineering. In this paper tests, etc. Test environment requirements must the authors explore current practices of QA and also be determined such as hardware, software; possibilities for their extension in open source communications, etc. Determine testware software (OSS) projects. This paper presented a requirements such as record /playback tools, framework for QA aspects in OSS project based coverage analyzers, test tracking, problem/bug on our observation from typical OSS projects. tracking, etc. Test input data requirements that The authors identified major challenges for are to be used during testing must be determined. future work [10]: a) how to better formulate such Identify tasks, those responsible for tasks, and indicators as the basis of meaningful labor requirements. In testing process we must notifications about the status of OSS product set schedule estimates, timelines, and milestones. Sci.Int.(Lahore), 21(1),25-28,2009 ISSN 1013-5316; CODEN: SINTE 8

Preparation of test plan document is very development. Preparation of schedules is very necessary during testing. Test cases are to be necessary at planning phase. Complete planning written before starting testing. Prepare test is required to know which prototypes are to be environment and testware, obtain needed user used when. Documentation reviews are also manuals/reference documents/configuration needed to check the weakness in the previous guide/installation guides, set up test tracking projects. There must be complete coordination processes, set up logging and archiving between developers and customer to make processes, set up or obtain test input data. Testers project successful and approval mechanism for must obtain the software developed by the the documentation. Decide how to handle developers and install software to check is there updates and future developments. Write the any error. After installing the software performs documentation plan again if necessary. tests evaluate it and report results. Track Coordination problems/bugs and fixes and retest as needed. Test team and design team must have complete Maintain and update test plans, test cases, test coordination among them to save the project environment, and testware through life cycle. from any damage. Customer coordination among design and test team is required to be established 4.2 Reduction in testing time to give complete satisfaction to the customer. In this we must follow the following steps. In order to give appropriate time to testing, 4.5 Lack of user involvement software engineers must follow the schedule. User plays very important role in testing process. Time required for each phase of development The concepts of joint application design (JAD) must be followed; in reality testing is often and the group support system (GSS) can be used estimated inadequately. Design and coding for user involvement and are getting better generally take more time than estimated or acceptance in software development. They make planned therefore proper management must be possible active, vigorous, interaction between done in order to avoid from reduction in testing users and developers. The developers need to time. draw the concentration of users in testing and support their involvement in test planning, 4.3 Let go-deliver now, correct errors later- system testing and acceptance testing. attitude Possible areas of improvement include Testing 4.6 Poor documentation team must completely participative in testing. These two types of documentation user Each member of testing team must focus on rules documentation and system documentation are of testing as defined by the software house. very necessary during the development of the There must be better planning and effective co- software. Improvement must be done to the ordination among the testing team and following factors in order to avoid from poor development team. Feedback and search for documentation. Check the missing information continuous improvement must be considered throughout. Poor writing and ambiguity always among testing team. create big problems improvement is required to this factor. A failure to anticipate the reader’s 4.4 Poor planning and co-ordination problem, questions, and environment. Planning Documents are written for the writers and their Planning for testing must be considered in prior environment not for the readers and their phases of software development, testing is not environment documents must be suitable for the given appropriate time till the last stages of the readers. Focus on the improvement of wrong project. This checklist should be used at each technical level. Formatting and design of planning stage. Collect important documents, structure plays very important role in such as: previous version of the documentation documentation. Proper indexing of plan, specifications requirements documents, documentation is also very necessary documentation proposal quality plan. Planning is (documentation contain good information but it done to the following factors provision of is hard to find). A professional appearance which personnel and equipment to be used during the belies the poor content and from failure to match software development must be properly planned. changes to a product. Lack of planning for Assign responsibilities for aspects of the documentation is also reason for poor documentation. Team leader is required to documentation. estimate the financial costs during software Sci.Int.(Lahore), 21(1),25-28,2009 ISSN 1013-5316; CODEN: SINTE 8

4.7 Lack of management support 5. Conclusions Excellence principles can only be achieved by Software testing is the process of executing an employing effective quality management implementation of the software with test data and structure. The management and technical examining the output of the software. In testing procedures built quality into software product software testing techniques, methodologies, tools that are defined and implemented to guarantee: and principles can be supported. It is the quality, schedule and budget compliance. There management responsibility for effective testing. are various technologies for software upgrading, Testing team members need to focus on which includes the most important objective of agreement made with customer. In this paper we software engineering. Few examples of the recommend strategy for improvement of key important technologies are [1] requirement problems of software testing in quality definitions, defect prevention, defect detection assurance. Following problems are considered and defect removal. such as shortcuts in testing, reduction in testing time, let go deliver now correct errors later 4.8 Inadequate knowledge of application attitude, poor planning and co-ordination, lack of environment user involvement, poor documentation, lack of Testing team must have a complete information management support, inadequate knowledge of of the functionalities of the software being application environment, improper staffing, poor tested, its users and the plateform in which it is testability. going to work without these it causes incorrect focus on testing and missing those area that more References significant to user. Important user necessity may [1] Nasib S. Gill, “Factors Affecting Effective be missed without information of the Software Quality Management Revisited”. ACM environment. SIGSOFT Software Engineering Notes. Volume 30, Issue 2, March 2005. Page(s): 1 – 4. 4.9 Improper staffing [2] Thompson, J.B.; Edwards, H.M. “How to Testing is a team work and everyone in the team teach practical software quality assurance. An must work for the achievement of testing. experience report”. Quality Software, 2000. In Appointment of correct team member for testing Proceedings. First Asia-Pacific Conference on has great control on the achievement of testing. 30-31 Oct. 2000 Page(s):181 – 187. In testing we need team members that have [3] M Visconti, L Guzmin, “A Measurement- experience of development and in testing. The Based Approach for Implanting SQA & SCM team leader should have the qualities of problem Practices”. In Proceedings of the XX solving and management skills and capacity to International Conference of the Chilean supervise a team and synchronize with clients. Computer Science Society (SCCC'00) November 2000 IEEE, Page(s): 126 – 134. 4.10 Poor testability [4] Rosenberg L H, Gallo A M, Jr, “Software Software testing consists of scheduling, effort Quality Assurance Engineering at NASA”. In and time. Software validation and verification Proceeding Aerospace Conference. Volume 5 techniques must be used to test software in order 2002 IEEE, Page(s):5-2569 – 5-2575. to avoid from testability. After development we [5] Towhidnejad, M.; "Incorporating software recommend following validation testing black quality assurance in computer science education: box testing, white box testing, unit testing, an experiment". In Proceeding 32nd ASEE/IEEE integration testing, system testing and acceptance Frontiers in education conference. Volume 2, testing. For verification testing there must be November 6-9, 2002. Page(s):F2G-1 - F2G-4. peer and group reviews of software between the [6] Khoshgoftaar, T.M.; Seliya, N; "Improving customer and developers at various development usefulness of software quality classification phase. Software quality assurance activity formal models based on Boolean discriminant technical review must be made during functions". Software , verification testing. Developers are required to 2002. ISSRE 2002. In Proceedings. 13th develop the software which has the following International Symposium on 12-15 November characteristics operability, observability, 2002,Page(s):221-230. controllability, decomposability, simplicity, [7] Hong Zhu; "Cooperative agent approach to stability, and understandability. quality assurance and testing Web software". Computer Software and Applications Sci.Int.(Lahore), 21(1),25-28,2009 ISSN 1013-5316; CODEN: SINTE 8

Conference, 2004. In Proceedings of the 28th Annual International Volume 2, 2004 Page(s):110 – 113. [8] Doerschuk, P.; "Incorporating team software development and quality assurance in software engineering education". Frontiers in Education, 34th Annual. October 20-23, 2004. Page(s):F1C- 7-12 Vol.2. [9] Lee, J.W.; Jung, S.H.; Park, S.C.; Lee Y.J.; Jang, Y.C.; "System based SQA and implementation of SPI for successful projects". Information Reuse and Integration, Conf, 2005 IEEE International Conference on. 15-17 Aug. 2005 Page(s):494 – 499. [10] Wahyudin, D.; Schatten, A.; Winkler, D.; Biffl, S.; "Aspects of Software Quality Assurance in Open Source Software Projects: Two Case Studies from Apache Project" Software Engineering and Advanced Applications, 2007. 33rd EUROMICRO Conference on 28-31 Aug. 2007 Page(s):229- 236.

Sci.Int.(Lahore), 21(1),25-28,2009 ISSN 1013-5316; CODEN: SINTE 8