SOFTWARE TESTING CHALLENGES IN PRACTICE IN THE CONTEXT OF WEB BASED APPLICATION by Nisha Lamichhane Master of Technology in Information Technology Kathmandu University, 2014 A Thesis Submitted to the Graduate Faculty Of the Kathmandu University In Partial fulfillment of the requirements For the degree of Master of Technology in Information Technology August 2014 i DECLARATION OF ORIGINALITY Being a student, I understand that I have an ethical and moral obligation to ensure that the dissertation that I have submitted to the Kathmandu University is my own, original and free of plagiarism. I exercised caution throughout the writing process, making sure all the sources are acknowledged properly. I revised the thesis thoroughly with the references that I had taken during the time of writing the thesis. Hence, I am satisfied that the work which I am submitting to the Kathmandu University, Department of Computer Engineering has all the sources properly acknowledged. I declare that the submitted work is my own and is original. __________________________ Nisha Lamichhane Candidate University Registration Number: 011141-09 i PERMISSION Title: Software testing challenges in practice in the context of web based application Department: Computer Science and Engineering Degree: Master of Technology in Information Technology In presenting this thesis in partial fulfillment of the requirement for a graduate degree from Kathmandu University, I agree that the library of this University shall make it freely available for inspection. I further agree that permission for extensive copying for scholarly purposes may be granted by the supervisors who supervised my thesis work or in his absence, by the head of the department or the dean of School of Engineering. It is understood that any copying or publication or other use of this thesis or part thereof for financial gain shall not be allowed without my written permission. It is also understood that due recognition shall be given to me and to the Kathmandu University in any scholarly use which may be made of any material in my thesis. _________________________ Nisha Lamichhane Date: August 03, 2014 ii ACKNOWLEDGEMENT I am heartily thankful to my supervisor, Mr. Pankaj Raj Dawadi, Department of Computer Science & Engineering, who always encouraged and inspired me and provided more than enough guidance and support from the initial to the final level enabled as to develop an understanding of the subject. Likewise, I would like to express my sincere gratitude to Mr. Suresh Kumar Regmi, External Evaluator and Dr. Manish Pokharel (Associate Professor), Head of Department, Department of Computer Science & Engineering for their valuable guidance for the finalization of the thesis. I would also like to thank my survey respondents for making the survey possible. I express my gratitude to my husband Er. Apil Koirala for his continuous encouragement and support provided during the study. I am also very much thankful to my father Mr. Hem Raj Lamichhane for his technical support while setting the objectives and methodology parts of the study and regular guidance for finalizing the thesis. I always remember the support extended by my mother Mrs. Pushpa Lamichhane during my study. It would have not been possible for me to complete the study if my little baby had not taken care by her. Finally, I offer my earnest regards and blessings to all who directly or indirectly supported me in any respect during the completion of the thesis. Nisha Lamichhane August 2014 iii ABSTRACT The study entitled “Software Testing Challenges in Practice in the Context of Web Based Application” has focused importance of the software testing for quality product and the present status of its application in practice. The main objectives of the study are to identify the challenges of software quality assurance in web based application and provide solution and recommendation to mitigate those challenges. With a view to collect the necessary information the qualitative research approach was used. The interview was carried out with the responsible persons of the IT offices to get primary information based on the semi structured questionnaire. The secondary data was gathered through the related articles, white paper, PDF files, and previous studies/researches, variety of websites. On line response from the respondents were collected through Google docs as well. The software development company should have quality assurance department and necessary personnel (Quality Analysts) to ensure the quality product by reducing errors. Required training for making ‘Test Plan’ and its usage should be provided to quality analyst that testing work much more efficiently and effectively. Quality analyst should be involved in daily meeting with development team. Likewise, quality analyst should have database and programming knowledge. In order to identify the similarity/gaps and better performance, comparative study can be carried out between manual testing and automated software testing tools as future work. iv Table of Contents DECLARATION OF ORIGINALITY ............................................................................ i PERMISSION ................................................................................................................... ii ACKNOWLEDGEMENT ............................................................................................... iii ABSTRACT ...................................................................................................................... iv LIST OF FIGURES ......................................................................................................... ix LIST OF TABLES ............................................................................................................ x ABBREVIATION ........................................................................................................... xii CHAPTER –I: INTRODUCTION .................................................................................. 1 1.1 General background ............................................................................................. 1 1.1.1 Software ........................................................................................................ 1 1.1.2 Software quality ............................................................................................ 1 1.1.3 Software errors .............................................................................................. 2 1.1.4 Software testing ............................................................................................ 3 1.1.5 Software testing types ................................................................................... 3 1.1.6 Software quality assurance and quality control ............................................ 5 1.1.7 Software testing technique/process ............................................................... 6 1.1.8 Software testing tools .................................................................................... 6 1.2 Statement of the problem ..................................................................................... 6 1.3 Objectives of the study ......................................................................................... 8 1.4 Significance of the study ...................................................................................... 8 1.5 Limitations of the study........................................................................................ 9 v 1.6 Organization of the study ..................................................................................... 9 CHAPTER–II: LITERATURE REVIEW ................................................................... 10 2.1 Background ........................................................................................................ 10 2.2 Software Quality Assurance ............................................................................... 12 2.3 Test Plan ............................................................................................................. 14 2.4 Automated Software Testing Tools.................................................................... 15 2.5 Development Methodologies ............................................................................. 16 2.6 Challenges of software testing ........................................................................... 18 2.7 Challenges of Quality Analyst ........................................................................... 21 2.8 Validation and Verification ................................................................................ 22 2.9 Team efforts for quality product (Case scenario of EBpearls)........................... 23 2.10 Quality Assurance Procedure in web based application .................................... 24 CHAPTER-III: RESEARCH METHODOLOGY ...................................................... 26 3.1 Introduction ........................................................................................................ 26 3.2 Methods of data collection ................................................................................. 26 3.3 Source of primary data ....................................................................................... 26 3.4 Selection of the respondents............................................................................... 27 3.5 Methods of data analysis .................................................................................... 27 CHAPTER-IV: FINDINGS OF THE STUDY ............................................................. 28 4.1 Institutional set up and tools used ...................................................................... 28 4.1.1 Establishment of quality assurance department .......................................... 28 4.1.2 Testing process used ................................................................................... 28 vi 4.1.3 Use of Test Plan .......................................................................................... 29 4.1.4 Software testing tools .................................................................................. 30 4.1.5 Software quality assurance in agile methodologies .................................... 32 4.2 Perception of respondents .................................................................................. 32 4.2.1 Chances of error/bug with using “Test Plan” ............................................. 32 4.2.2 Chances of error/bug without using “Test Plan” ........................................ 34 4.3 Data Analysis with correlation ........................................................................... 35 4.4 Best way of software quality assurance ............................................................. 37 4.5 Problems faced by software quality analyst ....................................................... 40 4.6 Existing practice in Selected Organization ........................................................ 41 4.6.1 IT Himalaya ................................................................................................ 41 4.6.2 Auxfin Nepal ............................................................................................... 42 4.6.3 F1 Soft International ................................................................................... 42 4.6.4 Braindigit .................................................................................................... 44 4.7 Test Plan document ............................................................................................ 45 4.8 “Test Plan” (Magento E-commerce Application) .............................................. 46 4.9 “Test Plan” (Word press CMS Application) ...................................................... 57 CHAPTER-V: CONCLUSIONS AND RECOMMENDATIONS.............................. 59 5.1 Conclusions ........................................................................................................ 59 5.2 Recommendations/Future works ........................................................................ 60 References ........................................................................................................................ 61 Websites ........................................................................................................................... 65 vii Annexes: ........................................................................................................................... 66 Annex 1: Questionnaires ............................................................................................... 66 Annex 2: List of respondents and organizations ........................................................... 71 viii LIST OF FIGURES Figure 1: A collaborative approach of Quality Analyst with development team ............. 23 Figure 2: The systematic procedure for quality assurance in web based application ....... 25 Figure 3: Users of Test Plan.............................................................................................. 29 Figure 4: Users of Test Plan.............................................................................................. 30 Figure 5: Automated software testing tools users ............................................................. 31 Figure 6: Causes of not using automated software testing tools ....................................... 31 Figure 7: Automated software testing tools users ............................................................. 32 ix LIST OF TABLES Table 1: Chances of error/bug with using “Test Plan” ..................................................... 33 Table 2: Chances of error/bug without using “Test Plan” ................................................ 35 Table 3: Correlation between dependent and independent variables................................ 36 Table 4: Quality assurance and involvement of quality analyst in SCRUM .................... 36 Table 5: Homepage of Carisma ....................................................................................... 46 Table 6: Home Page> Header-on all pages of website ..................................................... 47 Table 7: Homepage>On all pages of website> call to action .......................................... 48 Table 8: Homepage>Slide................................................................................................. 48 Table 9: Homepage> Products highlight .......................................................................... 48 Table 10: Newsletter Subscription .................................................................................... 49 Table 11: Footer ................................................................................................................ 49 Table 12: Listing Page (important note: show all results in one page: infinite scroll) ..... 49 Table 13: Creators Page (important note: show all results in one page: infinite scroll) ... 50 Table 14: Product detail Page ........................................................................................... 50 Table 15: Product detail Page popup ................................................................................ 51 Table 16: Content page ..................................................................................................... 52 Table 17: Contact page ..................................................................................................... 52 Table 18: My Account page .............................................................................................. 52 Table 19: Cart page ........................................................................................................... 53 Table 20: Order Process .................................................................................................... 54 Table 21: Dashboard ......................................................................................................... 54 x Table 22: Payment method ............................................................................................... 55 Table 23: Transactional emails ......................................................................................... 55 Table 24: CMS Pages........................................................................................................ 56 Table 25: Types of product ............................................................................................... 56 Table 26: Homepage of Emile Garcin .............................................................................. 57 Table 27: For Sales ........................................................................................................... 58 Table 28: Order Details ..................................................................................................... 58 xi ABBREVIATION CD = Compact Disk CMS = Content Management System DB = Data Base HP QTP = HP Quick Test Professional IE = Internal Explorer IEEE = Institute of Electrical and Electronics Engineers IT = Information technology PSD = Photo Shop Design QA = Quality Assurance QAn =Quality Analyst SDLC = Software Development Life Cycle SQA =Software Quality Assurance SQL = Structured Query Language STAF = Software Testing Automation Framework TDD =Test Driven Development XP =Extreme Programming RUP =Rational Unified Process SVN =Subversion PDF =Portable Document Format HTTP =Hypertext Transfer Protocol IIS =Internet Information Service URL =Uniform Resource Locator xii CHAPTER –I: INTRODUCTION 1.1 General background Software Software is a computer instruction or data that enable the user to interact with a 1.1.1 computer. Anything that can be stored electronically in order to instruct hardware to perform the task for which it is designed is termed as Software. Software is complex and invisible in the sense that it is stored in hard disk, Compact Disk (CD), etc. whereas industrial products are visible. Due to invisibility and complexity, software testing should be performed and quality software will be delivered to client in this competitive world (http://en.wikipedia.org/wiki/Software). 1.1.2 Software quality The software quality means maintaining the correctness of software, removing the bugs, making it efficiency and complete. Software quality can be assessed with these points (http://en.wikipedia.org/wiki/Software_quality). Functionality: There is functionality for any type of application. For instance, an ecommerce site should have the features of product listing page, cart page, order process flow and delivery. For any content management system (CMS) site should have the functions for adding, updating, deleting the items from the backend if the system is dynamic. Reliability: If the system is functionally acceptable then system should be able to function or operate continuously. 1 Efficiency: Efficiency means how to respond the system as per requested. It consists of resources like memory, network, hardware, etc. If user request for some functionality or features, system should respond fast for that features. If it responds late then it is to be considered as not efficiency. Usability: Usability means user should be able to run the software easily with the existing functionality. The information like ‘HELP’ section or ‘USER GUIDE’ should be available for learning to use the system properly by new user. Maintainability: Maintainability mainly refers to the code complexity of the software. If any fault occurs in the system, it needs to be tested and fixed it. So it can be referred to as maintainability. Portability: Software always needs to be run or adapt in new environment. If it is developed for several computing platform or different operating systems, then it refers to as portability of the system. Quality software should be provided to clients in this competitive market. If low quality software provide to client then organization will not survive long last. So for quality software for qualitative market, all the errors should be removed before releasing the software. 1.1.3 Software errors The software error means unexpected thing that can occur due to source code error, procedure error, documentation error, software data error, etc. Human being can make mistakes so; the error is made by human such as System Analyst, Programmer, Designer, Quality Analyst, Project Managers etc (http://en.wikipedia.org/wiki/Software_bug). 2 The main cause of software errors are: Errors occur while gathering requirement definition or specification. Misunderstanding between client and developer while communication may be due to geographical and cultural diversity Build feature in software which is orally said not in written form due to which it may cause to forget the original feature and twist the software as per requirements. Design errors Logical errors Incomplete Test Plan and Test Case made by Quality Analyst 1.1.4 Software testing The software testing is the process of verifying requirements for the design and development as per provided by clients that must satisfy the clients ultimately. 1.1.5 Software testing types There are many software testing types but some of them are explained as follows (http://www.softwaretestingsoftware.com/all-types-of-software-testing/). Black box testing: It is a method of testing based on requirement and functionality. So it is also known as functionality testing. It fulfills the question of ‘what the software does?’ There is no required programming language to understand for black box testing. White box testing: Programming knowledge is required for white box testing. It is also known as structural testing, glass box testing. Programmer needs to test internal structure or coding level of the software. Basically it is tested by programmer itself or by QAn who have the knowledge of software programming. 3 Incremental integration testing: It is performed by programmer or Testers. When the new functionality or features added in the software, testing should be done or performed. This is called bottom up approach. System testing: Testing overall system as per the requirements. Whole system testing should be carried out. Regression testing: Need to test the overall of the software after changes/modification in one module or functionality because changes in one module can affect the other parts of the software so it needs to be verified. Acceptance testing: It is conducted to verify the software whether the software is according to requirement specification or not. If it is also done by customer or user, that is called user acceptance test. Performance testing: Verify the system under heavy workload how it performs. So it is called performance testing. Usability testing: Test the system in terms of user friendliness, user friendly environment. That’s why new user also should be able to easily access and run the system without help of others. Security testing: Test whether the developed system is secure or not. For instance, username and password should be strong of admin panel and others where username and password will be used. Compatibility testing: Verify the software on particular hardware, software, operating system, browsers because some designing parts are not compatible on all these 4 environments. So need to test on different platforms like IE, Mozilla Firefox, Google Chrome, MAC Safari, IPAD, iTouch, Tablet and so on. Alpha testing: Alpha test is performed before the software is released. It is conducted by team of users in order to find bugs and fix the bugs. It is held before the software goes for beta release. Beta testing: Beta testing is the final version of testing. After then it is handed over to clients/end users. Successful beta test refers to automatically user acceptance test. 1.1.6 Software quality assurance and quality control The software quality assurance is the activities or monitoring software engineering process. Quality analysts are responsible for monitoring the software according to specification given by client. In software, errors or defects harm the quality so quality analyst (QAn) performs variety of activities to minimize or remove the error throughout software development process. Quality assurance (QA) is proactive process in the development life cycle because it prevents the defects, errors in the process of development. There is systematic procedure, approach or documentation to test the software in order to maintain the quality. On the other hand, software quality control is also related to software quality assurance in the software development life cycle. So, quality control is the reactive process in the Software Development Life Cycle (SDLC) because it identifies defects after product is developed. There is technique or observation technique to maintain the quality of a product or service. Quality control is basically concerned with inspecting product or services that means control the products and services whereas software quality assurance 5 is basically concerned with process of product or services that means the control of processes. 1.1.7 Software testing technique/process There is manual and automated software testing process. Manual testing means testing the software manually according to requirement specification provided by client. On the other hand, automated software testing refers to testing the software through automated testing tools such as selenium, apache JMeter, Load Runner and so on. Automated software testing tools is used to test software performance as well as functional, regression test in effective and efficient way with low cost, less manpower within time period. But almost all testing tools are expensive only some testing tools are open source. 1.1.8 1. Software testing tools Telerik teststudio is for functional, load, performance and mobile app testing. 2. HP Quick Test Professional is for functional and regression test for software. 3. Selenium is used for record and playback tool. There is no need to understand test scripting language and used to debug and set breakpoints. 4. Load Runner is used to test performance of the system. 5. IBM Rational functional tester is a software testing tools for regression testing. It is normally used by QAn. 1.2 Statement of the problem There are many software failures without testing software before release. In most of the IT organization doesn’t have software quality assurance (SQA) due to which developer and designer need to check and verify the contents, design as 6 per clients requirements but they don’t have enough time to test all these things. That’s why software becomes of low quality. In case of presenting QAn in Information Technology (IT) organization, there is lots of task to be tested for software. QAn also have limited time to test the particular software. Due to limited time to test all the development part, designing part, and keep track of test, if QAn make Test Plan and Test Case and test the software according to Test Plan and Test Case, it will be more effective because documentation speaks itself if the particular things are forget to test. The meeting is conducted with designer and developer by project manager. Quality analyst has not been involved in the SCRUM resulting that some important information may omit to inform to quality analyst and ultimately omit to test. On the other hand, manual testing consumes more time resulting high cost and high manpower. Furthermore, Automated software testing tools are already available in the market however tester do not prefer to use them due to lack of knowledge or experience and they are not affordable to medium level software company since cost is very high. In this regards, this thesis has recommended solutions for the following research questions. 1. How will ‘Test Plan’ improve software quality assurance in web based application? 7 2. How do SCRUM will benefit if quality analyst also involved in it while software development? 1.3 Objectives of the study The general objective of the dissertation is to promote the software quality assurance in web based application. However specific objectives are as follows: 1. To identify the challenges of software quality assurance in web based application, and 2. To provide solution to mitigate those challenges in web based application 1.4 Significance of the study As the software company grows these days, it is very competitive to deliver the quality software to clients among the companies. To meet the client’s requirement and satisfy the client, any organization should be able to provide quality software to them. For that, software testing should be done throughout the development of entire project. There are two types of testing strategies. They are Big Bang Testing and Incremental testing. In Big Bang Testing; software will be tested once it is completed. In Incremental Testing, software modules or units will be tested before it is completed as a whole. Then testing will be performed for integrated software while some units or modules are completed. After that whole system will be tested once it is done. While performing manual test there should make Test Plan and Test Cases to test the software and effectively help to produce quality output. 8 The study will focus to reduce the challenges to be occurred while testing of the software. Broadly the study will find out the challenges and recommend the solution of mitigating the challenges. 1.5 Limitations of the study The research has been carried out with the purpose of delivering good quality software to clients. Software testing has two dimensions such as manual testing and automated testing. However, this study focuses only the manual testing with Test Plan. Automated testing has not been focused in depth. Software testing in web based application has been mainly focused rather than other application such as desktop application. Due to time constraints and unavailability of the exact number of IT organizations, limited number of organizations (17) was selected as sample for primary data collection which may be small in size that can't represent the universe. 1.6 Organization of the study This study is divided into different five chapters. The first chapter covers the introduction of the study. Introduction chapter includes general background, statement of the problem, objective of the study, significance of the study, limitation of the study and organization of the study. The second chapter presents the review of the literature. Likewise the third chapter describes the methodology which was applied during the study time. The fourth chapter deals with major findings of the study and finally, the fifth chapter is about the conclusion and recommendations. 9 CHAPTER–II: LITERATURE REVIEW 2.1 Background Software testing is one of the parts of software development life cycle. Requirement analysis, design, coding, testing, deploy and maintenance are the sequential phases of SDLC. Software quality assurance plays vital role to deliver quality software to clients. In this competitive market, quality assurance becomes more popular. Without testing by QAn if there is QA department, software also will not be released as beta. Software development functionality, performance, design all these things must be tested before the software upload in live server. In today’s world, outsourcing is most popular but geographical and cultural diversity must be managed for that. There are many factors involved to make quality of software that are clear requirements, good design, and good development. Likewise software testing and quality assurance is the one of the areas in software development life cycle to make the quality of the software. In order to make quality of the software and effective testing, it needs to be understandable of how to avoid expensive maintenance. On the regards of customer satisfaction, faults, defects and failure are found before delivering the product. Similarly, understand the test techniques for better test and structured and systematic testing for fast test in order to find many bugs in less time. In this competitive market, most software companies have the problems of developing good quality software because people are not motivated, not enough skills, and 10 insufficient tools. Developing this kind of bad quality software makes expensive maintenance. Software testing is not just only for finding bugs. It also demonstrates that software is working properly according to requirements. It is very important the measurement of performance, effort to show improvement (Eldh, n.d.). Functional test is like black box test. Multiplatform testing means test in different platforms. Similarly, internal beta test is essential for us to gain good coverage. Automated text execution tested regression test quickly, obtain higher coverage with number of test cases. Under foundational, user scenarios, usability testing, requirements for test planning. Test members should close collaborate with developers for improving test cases. Code coverage measures the element of code (Chillarege, n.d.). Software testing metrics provide testing effectiveness and efficiency. There are several testing metrics. They are Organization, Project, Process, and Product. Under product, there are static and dynamic metrics. Number of testers working on a project is static metric and number of defects to be fixed as dynamic metric (Verma, 2011). Software test is an activity of system and component test which is under specified condition. Two test approaches are black box testing and white box testing (Nelson et al., 2013). The key role of software measurement is increasing the effectiveness of testing process (Farooq et al., 2011). Three defect detection techniques are black box, white box and abstraction. Defect is detected by sharp eyes (Kamsties et al., 1995). 11 2.2 Software Quality Assurance Software quality assurance plays important role in software development life cycle. Quality assurance, quality control is fall under quality management. Quality management is important for organization. In software industry, quality is defined in many ways. Some focus on error free functionality, some focus on customer satisfaction. Software quality is defined, according to the Institute of Electrical and Electronics Engineers (IEEE), as "the degree to which software meets customer or user needs or expectations (Grater, 2005). Quality assurance means assuring defect less software for customer satisfaction. Similarly testing is defined as the process of operating a system or component under specified conditions, observing or recording the results, and making an evaluation of some aspect of the system or component. In this complex business requirement, software companies are highly relying on software testing. If there is QA department, software will not be released as beta until verified by quality analyst. Software functionality, performance, security all these things must be tested before the software will be uploaded in live server. When new features added in the software or product, it needs to be tested by tester by manually. It consumes more time. So there are different automation tools available to test the system quickly. It will take low cost. Similarly, the term “Web Based Applications” actually means Internet based software applications. Automated software testing help to increase the software quality assurance in web based application. 12 For any type of business product, firstly there should be clear requirement. To understand the requirement clearly business analyst must be there or s/he can be program manager. Software requirements are the first step of software development life cycle. After requirement is clear then it should be analyzed before starting design and development. Then after design and development should be performed and quality analyst make the Test Plan to test the software. After finished to develop, then testing phase will occur and after testing, implementation of software will be performed. While testing software, if automated testing tools is used then it will reduce the development cost and increase the quality of the software. But in order to use automated tools there should be strong knowledge of human resource. In the absence of testing, many bugs and errors are present in the software after then it will obstruct to the overall performance of the software and overall decrease the quality of software. Quality is more important aspect to any sort of application. Testing and software quality assurance play critical roles in the successful completion of any software development. The goal of software quality assurance is to improve the software quality and productivity. The three tier architecture is used in web based applications. The three tiers in three-tier architecture are presentation tier, logic tier and data tier. In the Presentation tier, User writes the URL in web browser and this is sent to web server using Hypertext Transfer Protocol (HTTP). Likewise request will be processed by server script such as PHP and Web Server i.e Apache or Internet Information Service (IIS) in a middle tier or 13 logic tier. Similarly, SQL language is used to interact with the data. Information can be stored and retrieved from the database i.e. data tier. After that information is passed back to the logic tier for processing and then user. There is server side, client side and server side interaction client side model to achieve or enhance software quality. The server side factors are testability, flexibility, reliability, maintainability, reusability. Similarly, client side factors are portability, usability, privacy, standard design and correctness. In server side interaction client side, these are the factors such as security, efficiency, integrity, ethics (El-rayyes, 2012). Software testing is the significant part of software engineering and it cuts the maintenance and overall cost (Shivkumar, 2012). The purpose of testing is to reduce the risk of the software and to show the software works smoothly (Black, 2007). 2.3 Test Plan The testing techniques are control flow, data flow, random, mutual testing (Juristo et al., n.d.). Effecting testing by making Test Plan which includes set the test objectives develops a test matrix, define test administration, write Test Plan (Perry, 2006). In order to test the software system is how to get the test cases that is the major problem (Vegas, n.d.). Bug is removed before delivering a product for reliability of software product (Pizza et al., n.d.). The cost of random testing is less than the cost of test case generation (Crowell, 2009). Testing is done with specifying priority in the task to test the task effectively and efficiently. Every features need to perform at least once by one valid input case. It is impossible to ensure that bug is removed completely in the system (Quadri, 2010). 14 If more attention is paid to testing in software development process, results that mitigate the failures after implementation (Tawileh, n.d.). The success of the test is the selection of effective and efficient test cases (Juristo, 2004). 2.4 Automated Software Testing Tools Automated testing tools help to reduce testing time, cost effective and it needs less human resources. Software test automation tools are very difficult area even if it saves a lot of money if it is used properly (Eldh, n.d.). The Software Testing Automation Framework (STAF) is a multiplatform, multi-language approach for reusing the features to be tested. The major benefit of using software testing tools are improvement the activities of the software quality assurance (ibid). In software quality assurance engineering, software testing and software quality assurance is similar meaning. Automated testing helps the quality assurance team to work faster and do motivation on testing. In case of heavy work load testers might omit to test some part in particular software project or product due to time limit. So, Test automation is more useful while regression testing is needed (Smart bear software, n.d.). Testing is one of the most important phases in quality assurance especially in the software development and design stages. When one feature is finished to develop, it should be tested and if error is occurring then it needs to be fixed. Otherwise, more bugs or mistakes appear in the site and system may also crash. JUnit is a tool used for unit 15 testing tool, Security testing tools used basically by QAn. LoadTracer is Performance testing tool but need to buy. SQL DBValidator is database testing tools (Shah, 2009). The goals of software testing are detecting defect and increase reliability (Farooq, 2012). Software testing can be performed manually and automatically. There is error occurs while testing manually because of tiring situation of human being. For automated software testing less human effort is required. Unit testing is the basic level of testing, integration testing is the integration of modules testing, system testing is the functionality testing as well as nonfunctional requirement of testing such as performance, reliability etc. (Rafi et. al, 2011). 2.5 Development Methodologies Agile development methodology is iterative and incremental development, collaboration with cross functional team. Scrum is an agile methodology; it refers to 10 to 15 minutes meeting for project to know the status of project. If designer, developer faced problems they can share those problems while sitting for meeting due to which couldn’t hinder to do the further or rest of the work. The main benefit of scrum is to finish the project on time. So, cost saving and faster development is the key features of the agile methodology. There can be performing two types of testing. One is if certain task is completed then starts testing. And another one is if all tasks is completed then start testing. In the same way, agile methodologies follow early testing rather than testing in the last. In agile, developer also should perform testing is emphasized because developers have also responsibility to make quality software in the software development life cycle. In smaller 16 companies, dedicated QAn is not hired for testing and don’t have any plan for testing also. Test is performed by developer himself/herself and some parts test by clients itself. If the tester is assigned for only one project at a time, then it will be qualitative test. On the other hand, agile development focuses with client collaboration and communication throughout the development of the project. When any confusion occurs in the early phase of software i.e. requirement analysis, design or development part, Project team ask the client about confusion at the early phase of software development. Similarly, when applying agile methods to develop the product, if developer is not in right track then it will help to find out the problem and can be solved the right time that means agile methods stop to go on wrong track because all the stakeholders have meeting time to time about the project. In software development, agile methodology and conventional development are two aspect of development. Agile focuses on team collaboration, quality, and relationship between developer and customer and it is people oriented rather than process oriented. Different agile methodologies are XP (Extreme programming), SCRUM, and Crystal. Under XP, refactoring means restructured the program of removing duplication, simplicity, adding flexibility without changing in functionality. Metaphor is a basic understanding of the system architecture; develop the system according to architecture. Pair programming is two persons working in the same screen, mouse and keyboard due to which error can be minimized. Scrum has product backlog, sprints, sprint planning meeting, sprint backlog, daily scrum. Daily scrum is 15 to 20 minutes meeting daily to 17 understand the project flow. In agile, testing and development goes parallel. Finding bugs and fixing bugs earlier saves time, cost, resources and maximization to quality (Malik et al., 2009). Quality assurance factor in agility are compatibility, cost effectiveness, correctness, ease of use, extendibility, performance, portability, integrity, reusability, timeliness, validation and verification. These are also called nonfunctional attribute. Agile methodologies such as extreme programming, scrum, crystal methodologies, feature driven development, Rational Unified Process (RUP), dynamic system development methodology, open source software development, and agile modeling or lean development (Sirshar et al., 2012). Software testing technique is not just only for effectiveness and efficiency but also for reliability. Progress in system level testing is measurement of reliability (Farooq et.al, 2011). 2.6 Challenges of software testing The main challenge of not delivering quality software is geographically dispersed organization, limited resources, soaring turnover rates for skilled engineers. The success of any product is to deliver it in right time within budget. The quality of the software is determined by the quality of test process. The challenges associated with functional testing life cycle: 1. Test requirement gathering: The challenge is to define clear and complete test requirements and manage the changes requirements. The best practices are 18 requirement need to be arranged by project management team and project feature need to be arranged from development team. 2. Test Plan: The challenge in case of making test plan, functional parts may be missing and due to large Test Plan it is difficult to review by development team. 3. Test Strategizing: The product functionality testing is complex. The challenge is to utilize available limited time and resources to meet optimize test coverage. The best practice is to define priority of test case in Test Plan i.e. 1,2,3,4. The benefit of defining priority level is that high risk features will be tested in detail rather than low risk feature. 4. Test Execution: This phase is critical phase of testing life cycle. After finishing the Test Plan and strategy this phase is taken as to do action according to Test Plan with the purpose of optimum utilization of time and resources. The challenge is to mismatch between Test Plan and actual functionality. 5. Defect Management: The critical steps of testing process are effective defect tracking, analysis and reporting. The challenge is that incomplete and ambiguous defect reporting. 6. Test Results Reporting: The test result report shouldn't be difficult. It should be useful for all the stakeholders associated with the product (Infosys, n.d.). Tangible products can be easily seen whereas intangible that is software cannot be easily viewed. Some indication is displayed before occurring error in tangible products. But in software, there are errors because of lack of testing or inefficiency of testing. Much important software had failed in the previous days because of the 19 absence of quality assurance or incomplete software testing. In traditional software engineering, the use of software testing is minor and software testing was not focused much. Similarly, quality assurance conducted after finished development phase. Nowadays due to complexity of software, the importance of testing is increasing. There are two different words in software engineering. They are debugging and software testing. Efforts to eliminate failures are called debugging whereas software testing is to identify any defect in the system (ibid). In order to perform more effective testing is to find more effective ways is a key challenge in testing (Bhusan, 2011). The primary goal of component testability is to reuse the software component. But the challenge is how to reuse component test, how to construct testable component (Gao, n.d.). The latest research result and hot issues on software testing are Test Driven Development (TDD), Iterative and Incremental Test, GUI automation test, Testability of software components. Due to complexity of modern system, there is an obstacle for testing efficiency maximization (Hongchun, n.d.). The basic practices of software testing are functional specifications, reviews and inspections, functional test, multiplatform testing, internal betas, automated test execution. Developers are unable to test every modules and system thoroughly because they considered it as a time consuming and lacking a significant pay off. The challenges of software testing in web based application in the area of nonfunctional requirements and functional requirements. Performance, scalability, compatibility, accessibility, usability, 20 and security are the nonfunctional requirements. In order to verify each nonfunctional requirements specific aim should be designed (Lucca et al., 2006). 2.7 Challenges of Quality Analyst The challenge for the software test specialists are: In order to avoid any unwanted defects in quality of product, they need to have communication skills to talk to development engineers. Likewise, they need to have test skill as well (Toshiaki, 2008). Senior testers can deliver high quality software. The fundamental challenges of software testing are: There is no possibility of doing complete testing Testers group lack programming knowledge There are numerous ways to test such as: Test the product in user point of view Test the product or software sequentially Mostly programmer ignores the bugs because tester first test the software, if bug find then report it to developer. In case of time, the time needed to test the particular product is infinite rather than available time. Testers do not have programming knowledge in common testing practices. If testers have strength programming skill, then testing will be strength else testing will be weak (Kaner, 2003). The challenge in software testing is lack of skilled tester, the team member doesn't have enough knowledge in domain area, poor understanding requirements in software 21 development life cycle, time constraints for testing, the lack of involvement of test team in SDLC, no good relationship with developer and no documentation. The challenge for tester is testers do not have enough time to test the project. If the product goes for live before closing the bug, it automatically hampers in the quality of software. Similarly, Testers don't understand requirement clearly and tester involve late in the project rather than starting of the project i.e from requirement specification. The test team must be competent in three areas domain knowledge, testing skill, technical expertise (Rao et.al, 2011). 2.8 Validation and Verification Software testing verifies that software is working properly rather than defect detecting. Verification: Are we building the product or system right? Validation: Are we building the right product or system? (Sommerville, n.d.). Product is designed and developed as per user expectations meeting with all required functionality this makes assured by verification. Validation comes after verification and it involves actual testing. Any changes, addition, deletion of the requirement should be documented and tested within time period (Rao et.al, 2011). Software testing is a broad term from unit testing to the customer validation of a system acceptance testing. Testing is very expensive activity in software development life cycle (Bertolino, 2007). 22 2.9 Team efforts for quality product (Case scenario of EBpearls) The team effort is very vital aspect for quality product of web based application. An example of team building and collaborative approach for quality product of EBpearls is depicted in Figure 1 below. It clearly shows the organizational human resource structure which is very vital to build team for quality product. Figure 1: A collaborative approach of Quality Analyst with development team In order to make quality software, quality analyst should be involved with development team. Development team basically include Project Manager (PM), Developer, Designer, QAn. Firstly, Account manager create storyboard. Project manager receive storyboard and it is forwarded to designer, developer and QAn. They studied storyboard and start to develop and design the project. There is meeting with project development team daily at least 10 to 15 minutes that we call it as scrum. Project generally divided into small tasks 23 and sub-tasks. If task is finished up to 80% then it is ready for testing. That is also called alpha release. Then QAn started testing and if all the things are ok as per requirements then status will be changed to 90% by QAn else quality analyst post the bug in bug section. Development related bug is assigned to developer and design related bug is assigned to designer. Developer and designer are responsible for solving corresponding bugs. They need to solve it. After solving the bug, it is assigned to quality analyst for retesting. Quality analyst verifies those bugs. If it is working as per need then close the bug else reopen the bugs. All the tasks and bugs should be closed before delivering the software product. All the tasks are also verified by the people of Procab Studio Geneva1. If all the tasks are completed as per wish, then they will be closed and their status will be 100%. It is gone for beta release. 2.10 Quality Assurance Procedure in web based application The quality assurance framework in web based application is presented in Figure 2. It includes requirement of study, Test Plan preparation, Test Case generation, Test execution (webapp), browser, testing Ul and finally release quality product. 1 Procab Team, is a team within Ebpearls which is formed as a direct hired employees for a Swiss IT company called Procab Studio. Procab Studio has designers and sales representatives (account managers) in Geneva. They develop customer base, design the websites and finalize requirements. The development team in Nepal consisting of around 20 employees takes up the requirements and design. Based on these, their job is to build websites and web applications. 24 Requirement Study Test Plan Preparation Test Case Generation Test Execution (WebApp) Browser Testing UI Test Server side component Test client side component Testing Network Bug Bug Fixing Bug Finding Release Quality Product Figure 2: The systematic procedure for quality assurance in web based application 25 CHAPTER-III: RESEARCH METHODOLOGY 3.1 Introduction In order to collect the necessary information the qualitative research approach has been used. This was carried out to understand meanings, look at, describe and understand experience, ideas, beliefs and values, intangibles such as these. The interview was carried out with the responsible persons of the IT offices to get primary information. For that, a set of checklist/questionnaire was developed which is in annex. 3.2 Methods of data collection Primary information was collected through interview with concerned personnel of the various IT organizations. On line response from the respondents were also collected using the semi-structured questionnaires through Google docs. The secondary data was gathered through the related articles, white paper, Portable Document Format (PDF) files, and previous studies/researches. Some of the information was taken from a variety of websites. 3.3 Source of primary data The face to face interview was carried out to get the information based on the set checklist with the concerned individual of IT Himalaya, Auxfin Nepal, F1 soft International, Braindigit, Miracle Interface, Crossover, and Professional Computer Systems Pvt.Ltd and EB Pearls. On line responses were collected from SPI Nepal Pvt. Ltd., Verisk, Dear Walk Services, Eminence Ways Pvt. Ltd, Javra Software, Longtail emedia Pvt. Ltd, Peace Nepal DOT Com Pvt. Ltd., Yomari inc and Avionte in excel form in Google drive. 26 3.4 Selection of the respondents In order to collect primary data, the individual and organizational were selected purposively by using deliberate sampling. This sampling method involves purposive or deliberate selection of particular units of the universe for constituting a sample which represents the universe. In total, seventeen IT organizations were selected and 31 respondents were responded of questionnaire for data collection. 3.5 Methods of data analysis The collected information was tabulated and presented in various Tables and Diagrams. The collected raw data was classified into some purposeful and usable categories. The editing procedure was applied for improving the quality of data for coding. After coding, raw data was tabulated in the necessary forms. Analysis work after tabulation is based on the computation of various percentages. 27 CHAPTER-IV: FINDINGS OF THE STUDY During the course of the interview, the following findings were presented based on the respondent’s response in the prescribed questionnaires. 4.1 4.1.1 Institutional set up and tools used Establishment of quality assurance department The 17 different organizations have provided their response. Out of 17 organizations 15 organizations do have quality assurance department and 2 organizations don't have quality assurance department i.e. 88.2% have the quality assurance department and 11.7% don't have quality assurance department in selected organizations. Likewise, 4 organizations have 1 QAn, 1 organization has 2 QAn, 3 organizations have 4 QAn and 7 organizations have more than 4 QAn. In case of not having QAn they used to test the software by Project Manager and developer themselves. 4.1.2 Testing process used 31 individual respondents have provided their response via Google drive. Out of 31 respondents, only 17 respondents have implemented black box testing for testing types and the rest of 14 respondents have implemented both testing types i.e. black box and white box that means gray box also. In case of testing types, 13 respondents are following manual process while testing the software and the 18 respondents are following both (Manual and automatic) testing process. However, only Verisk organization is using automatic testing tools for testing the software. There is no manual testing is done. 28 4.1.3 Use of Test Plan 25 respondents are using Test Plan while testing the software. Only 6 respondents are not using Test Plan while testing the software. People know the benefits of making Test Plan are to keep track of test, store information in document and serves as a guide. The respondents also know other benefit that is Test Plan can be reused if regression testing occurs as a benefit; however they say that if small project is ready for testing, this is not necessary to make test plan. In the same way, sometimes there is no enough time to make test plan. The Figure 3 shows that the 81% respondents use test plan. Six respondents (19%) out of 31 do not make Test Plan due to lack of time to make plan, lack of knowledge or skill about test plan. They also think that Test Plan is not necessary to test the software. Users of Test Plan in Percentage 19% Used Not Used 81% Figure 3: Users of Test Plan 29 The Figure 4 indicates that 17 percent respondents were found that there is no need of making Test Plan while testing software. However, 50 percent respondents have not used Test Plan because of the lack of knowledge about the Test Plan. Similarly, due to lack of sufficient time for preparing Test Plan 33 percent respondents have not used test plan. Percentage of Respondents Reasons of Not Making Test Plan 50 50 40 30 20 10 0 33 17 No Need of Test Plan Lack of Knowledge Lack of Sufficient Time No Need of Lack of Lack of Test Plan Knowledge Sufficient Time Reasons Figure 4: Users of Test Plan 4.1.4 Software testing tools The Figure 5 shows that automated software testing tools are used by 19 (61.30%) respondents. Whereas the rest of the 12 (38.70%) respondents have not used automated software testing tools. 11 respondents use selenium, 8 respondents use JMeter. Likewise LoadRunner, Acunetix, NeoLoad, MetaSploit, Kali, Burpsuite, Test Link, Load UIWeb and Ranorax are used by respondents. The benefit of using automated software testing tools are for fast testing save time, cost and effort, automated regression test, motivation to tester for new technology. 30 Percentage of tools Users Automated software testing tools users 80 61.3 60 38.7 40 20 0 Tools used Tools not used Figure 5: Automated software testing tools users Out of the total respondents (12), 25% opined that automated software testing tools was not used due to budget constraint and lack of skilled human resources. Likewise, 30% expressed their views that lack of knowledge was the hindering part of not using testing tools. According to 20% respondents all three causes namely budget constraints, lack of skilled human resource and lack of knowledge were the problems of not using testing tools (Figure 6). Percentage Causes of not using automated software testing tools in Percentage 30 20 10 0 25 Budget Constraint 30 25 20 Lack of Lack of All of the Skilled Knowledge Above Human Resource Causes Figure 6: Causes of not using automated software testing tools 31 4.1.5 Software quality assurance in agile methodologies Out of 31 respondents 10 (32%) respondents response agile methodology not following while developing software and the rest of the 21 (68%) respondents are following agile methodologies. Similarly, 8 (26%) quality analysts have been involved in daily scrum whereas 23 (74%) respondents have not been involved in daily meeting like scrum (Figure 7). Involvememnt of Quality Analyst in Daily Scrum 26% Involvement Not Involvement 74% Figure 7: Automated software testing tools users 4.2 Perception of respondents Perception of the respondents was collected in two areas namely (i) ways to better development of software quality assurance and (ii) problems faced by Software Quality Analyst while not making Test Plan. 4.2.1 Chances of error/bug with using “Test Plan” Table 1 below shows that 97% respondents believe that chances of error/bug occur (below 50%) for the login form validation, registration and pagination display testing 32 while using “Test Plan”. 94% respondents believe that chances of error/bug occur (below 50%) for testing social links and category display. 90% respondents believe that chances of error/bug occur (below 50%) for testing footer links and contact form. 88% respondents believe that chances of error/bug occur (below 50%) for testing header slideshow i.e transition effect or something alike. 84% respondents believe that chances of error/bug occur (below 50%) for testing rollover effect and email templates. 65% respondents believe that chances of error/bug occur (below 50%) for testing breadcrumb. On the other hand, 19% respondents believe (more than 50%) chances of error occurring for breadcrumb. Similarly, 16% respondents believe (100%) chances of error occurring for breadcrumb however using test plan. Table 1: Chances of error/bug with using “Test Plan” Features Below 50% More than 50% 100% Login form validation 30 (97%) 1 (3%) 0 Registration 30 (97%) 1 (3%) 0 Header (Slide show) 27 (88%) 2 (6%) 2 (6%) Footer (Links) 28 (90%) 3 (10%) 0 Social Links 29 (94%) 2 (6%) 0 Category Display 29 (94%) 1 (3%) 1 (3%) Roll over effect 26 (84%) 3 (10%) 2 (6%) Breadcrumb 20 (65%) 6 (19%) 5 (16%) Contact Form 28 (90%) 3 (10%) 0 Email Templates 26 (84%) 3 (10%) 2 (6%) 33 Features Below 50% More than 50% 100% Pagination Display 30 (97%) 1 (3%) 0 Source: Field Survey, March, 2014 4.2.2 Chances of error/bug without using “Test Plan” Table 2 below shows that 26% respondents believe that chances of error/bug occur (100%) for testing breadcrumb and email templates while not using “Test Plan”. 16% respondents believe that chances of error/bug occur (100%) for testing header slideshow. 6% respondents believe that chances of error/bug occur (100%) for testing rollover effect. 3% respondents believe that chances of error/bug occur (100%) for testing category display and contact form. 94% respondents believe that chances of error/bug occur (more than 50%) for the rollover effect without using “Test Plan”. 90% respondents believe that chances of error/bug occur (more than 50%) for the footer links, social links without using “Test Plan”. 87% respondents believe that chances of error/bug occur (more than 50%) for the login form validation, registration, category display and pagination display for testing while not using “Test Plan”. 84% respondents believe that chances of error/bug occur (more than 50%) for the slide show. 78% respondents believe that chances of error/bug occur (more than 50%) for contact form. 74% respondents believe that chances of error/bug occur (more than 50%) for breadcrumb, email templates. On the other hand, 19% respondents believe that chances of defect occur (below 50%) to testing contact form while not making test plan. 34 Table 2: Chances of error/bug without using “Test Plan” Features Below 50% More than 50% 100% Login form validation 4 (13%) 27 (87%) 0 Registration validation 4 (13%) 27 (87%) 0 Header (Slide show) 0 26 (84%) 5 (16%) Footer (Links) 3 (10%) 28 (90%) 0 Social Links 3 (10%) 28 (90%) 0 Category Display 3 (10%) 27 (87%) 1 (3%) Roll over effect 0 29 (94%) 2 (6%) Breadcrumb 0 23 (74%) 8 (26%) Contact Form 6 (19%) 24 (78%) 1 (3%) Email Templates 0 23 (74%) 8 (26%) Pagination Display 4 (13%) 27 (87%) 0 Source: Field Survey, March, 2014 4.3 Data Analysis with correlation In order to validate or verify the survey data between variables, correlation has been used of SPSS (Statistical package for the social sciences). For that need to go for menu Analyze then click on correlate then Bivariate is selected and chosen the variables. Correlation coefficient is Pearson and test of significance is 2-tailed. The result is displayed below in tabular form. 35 Table 3: Correlation between dependent and independent variables Quality Assurance Quality Assurance Pearson Correlation Make Test Plan 1 .536 Sig. (2-tailed) Make Test Plan .002 N Pearson Correlation 31 .536 Sig. (2-tailed) .002 N 31 1 31 31 Correlation is significant at the 0.01 level There is statistically significant correlation between Quality Assurance (dependent variable) and Test Plan Document (independent variable). The 2 tailed tests 0.02 has been displayed as per result that is less than p value 0.05. P value is always measured in 0.05. Most of the respondents make Test Plan before testing the software according to survey value. So that correlation value is significant between variables. ‘Test Plan’ document is necessary while testing the software in order to make quality product. Table 4: Quality assurance and involvement of quality analyst in SCRUM Quality Assurance Quality Assurance Involvement of quality analyst in SCRUM 1 .155 Pearson Correlation Sig. (2-tailed) .405 N 31 36 31 Involvement of quality analyst in SCRUM Quality Assurance Involvement of quality analyst in SCRUM Pearson Correlation .155 1 Sig. (2-tailed) .405 N Correlation is significant at the 0.01 level 31 31 The correlation diagram can be concluded based on the survey results that there is no statistically significant correlation between the involvements of quality analyst in SCRUM (independent variable) during software development in order to make quality product (dependent variable) in software quality assurance in case of web based application because 0.405 > 0.05. Scrum plays very important role to make quality product because if QAn have not been involved in daily meeting then some information is missing to tell to QAn then s/he couldn’t test those parts. However, correlation does not exist between two variables that mean QAn has not been involved in SCRUM in most of the organizations during development of software. Some organization still has practiced to be involved QAn in SCRUM due to which deliver quality of product. 4.4 Best way of software quality assurance 1. Proper job description should be maintained in each IT industry for the position of Quality Analyst for better development of QA field. 37 2. Required training such as automated tools and Test Plan and its Usage should be provided to QAn personnel that testing work much more efficiently and effectively. 3. Quality analyst should be well known about database and programming language etc. 4. Software quality analyst should have fine knowledge in manual testing and also should follow test driven development (TDD) process. 5. There is good demand and future growth for the QAn team so we need to boost the community forum which will enhance to upgrade the skills and be helpful as it seems much necessity for the QA in the growth of IT sector. 6. The software quality assurance should keep in face book pages due to which people who are interested in SQA field they get opportunity to visit the pages and get the job opportunity. This is one of the ways of getting knowledge of Software quality for software vendors, software companies, Professionals, Government Bodies. 7. Software quality assurance must be done from the very starting phase of SDLC to the end of SDLC. 8. To make the quality product we shouldn’t focus only on the manual and automation testing but also should be able to check the security measures also because it matters a lot when the site is launched. 38 9. Interactions among QAn members are a must necessary for any sort of update like what to test, how to test the software such as responsive design, mobile application. 10. In emerging context Quality Analyst should have training for the test plan/test cases to improve the QA. 11. Quality defines everything in the field of IT nowadays. QA meant for maintaining that quality. Focus on quality product is the demand of today so it’s now necessary to follow in some s/w development methodologies like agile methodology, test driven methodology to maintain the quality of overall product. 12. All project team should realize importance of QA in software development life cycle. 13. For better software production, each production house needs QA. QA should be involved in software development from the initial time so that each bugs and errors can be control before go to production. 14. In order to improve a quality on the QA process/ quality of product being tested, a QA team should focus on following activities: - Appropriate planning - Following standard quality assurance process - Recording and Tracking mistakes /patterns of mistakes - Reviews and retrospection - Quality Audits - Continuous Improvement 39 15. Systematic Process should be followed in the QA task for the betterment of QA field such as Requirement Study, Test Plan preparation, Test Case preparation, Test Execution 16. Quality analyst plays an integral role in the software development. All the QAn should be involved in daily meeting with designer and development team. If new feature request by the clients then that also should be provided to QAn from the very beginning like developer and designer. 17. All the organization must follow agile methodology for the betterment of their organization working procedure. 4.5 Problems faced by software quality analyst 1. Creating a Test Plan is a must on all of our projects. A Test Plan is a strategic document that works as a guide to the test team. This document helps us to outline what all tests are required, who will be involved, timelines of the test and tools that will be used for test. Without this document it will be very difficult to understand what all types of testing should be done on the system. Also, without this document it would be difficult to ensure whether the test being performed throughout the test cycle was appropriate. 2. Usually due to less time, QA personnel are not able to prepare test plan. When Test Plan is not prepared, the test process will not be systematic and it will be random. There will be no record of types of testing performed in the absence of test plan. 40 3. When Test Plan is not prepared then the testing team will not have in depth knowledge about the site/application and hence the testing process will not cover all the aspects of the site that needs to be tested. 4. Difficult to track test status if there are large features in the project in the absence of test plan. 5. Test Plan states what requirements will be verified during software development and testing. When we do not make Test Plan then, Project information will not be stored or will not logged features of project. 6. It is unable to track the test cases and the corresponding results. Thus, no means of communicating the test done and results to concerned authority. Test Plan can also be reused for similar product if once done. 7. Sometimes it is difficult to know about the expected result, if test case is not made. For regression testing, it would be difficult if Test Plan is not made. 8. If Test Plan is ignored while testing the project, works get jumbled. 9. All features may not be tested in the absence of test plan. 4.6 4.6.1 Existing practice in Selected Organization IT Himalaya There is only one quality analyst now. They are conducting manual test rather than automated test. They test the software according to user’s perspective. Test for browser compatibility. They test the software and if there is error then they point out the errors in test sheet and fix those problems. The problem could be in functionality, business logic. Errors will be fixed before release the products. 41 The main cause of occurring error in the software is depends upon the developers skill for the particular project, client’s requirement not clear, and frequent requirement change. 4.6.2 Auxfin Nepal There is no quality analyst in the organization. Software is tested by developers. The particular software developed by developer and once he tests the software and handover to another developer for confirmation because developer who develop the software might omit the error/defect while testing. So, software will be handed over to next developer for testing. They use to follow black box testing; white box testing both that means grey box testing. The main cause of occurring error in the software is the lack of understanding requirement by developers. And another one is due to poor communication skill between client and developer. 4.6.3 F1 Soft International There are four quality analysts. Three are full time and one is part time. These numbers of QAn is sufficient for now because sometimes there is no heavy workload and sometimes lots of work should be performed. In case of heavy work, it is not enough QA to test the software. In case of no heavy load they will be free. So they are managed for work. They are performing both manual and automated software testing tools. 90% tasks are tested in manual and only 10% is for automated testing. Selenium and JMeter is used for automated test. Selenium is used for functionality testing likewise when repetitive task needs to be performed then selenium is best rather than manual testing and on the other hand JMeter is used for performance testing. 42 In case of testing methods black box testing is performed basically. There is Continuous Integration Testing (CIT). CIT is performed all the time in project because project never becomes end or finish. When software is developed, designed, tested and implemented then maintenance or support should be performed at last. These phases are the software development life cycle. Similarly, CIT means once completed the software after some time some task needs to be added on it or some changes needs to be done or some parts needs to be removed as per client’s requirements. Whatever the requirements arise then that task should be performed. After development part finished then it should be tested and delivered. That’s why software never ends it process all the time so continuous integrated testing should be performed while necessary. Testing should be performed based on Test Plan and Test Case. They use their own format for Test Plan and Test Case. Normally, Test Plan and Test Case is based on the project nature or environment. Project is in Subversion (SVN). So if one updates the task others can also see the updated task. SVN make up to date the project like if one delete the some part, others also can’t see the deleted part. They have three processes to testing the software. One is test plan, mind maps and test case. Testers should follow three phases. Mind map is open source tool for flowchart and Bugzilla is bugtracker tool. This is the media to communicate with developer. If Issue found out by tester then s/he posts the issue in bugzilla and after developer fix the issue then s/he update the status and tester 43 should test the issue again. If it is as per the requirements then it is ok otherwise reopen the bug. In case of automated tool, selenium IDE 2.2.0 tool in Firefox which is used for basically repetitive task. There is listener, sampler, and controller. Listner is used for result, sampler is used for transactions, and controller is used for logic. To test the software in tool once we need to test by manually. Whatever we set, that thing only test by automated tool. But here the advantage is that testing time is extremely reduced. JMeter, thread is the number of concurrent users. There should be Google account for JMeter user. There is loadosophia.org for the result view in graphical representation. 4.6.4 Braindigit There are software testing department. 18 software testers are available in numbers. There is large number of software tester available in the company. They follow automatic software testing tools such as functional testing, security testing, performance testing, unit testing, network testing. For functional testing, selenium is used. For security testing backtrack software is used. For performance testing, JMeter, loadUI, soapUI is used. For unit testing, nunit is used. And for network testing, backtracking software is used. Black box, white box, grey box all types of testing is getting performed. The test environment is Web based system and compatibility tested in device such as mobile and others. Likewise browser compatibility is also getting performed. 44 4.7 Test Plan document The Test Plan is prepared with the following features. The detail of the Test Plan documents is presented below (Table 3). Features are used to keep “the features” which are to be tested according to requirements. Features are also divided into sub features. For instance, software should use three languages such as English language, French and German; if images have conditions such as only 4 images should be displayed in slider. These parts can be kept in sub features. In description, “social link” title is kept for features and link provided for social links can be kept as a description. Similarly, there are design testing and development testing. Development testing can be considered as a functional part testing in backend. Design testing can be done or verified through ‘PSD’ provided by client. These designing and developing parts should be tested in different browsers such as IE different versions (7, 8, 9, 10, 11), Mozilla Firefox, Google chrome, Mac Safari, different mobile devices. Remarks also can be used to write description of features if needed. 45 4.8 “Test Plan” (Magento E-commerce Application) The Test Plan (Magento E-ecommerce Application) is presented in Table 5-25 which clearly show the features, sub-features, description design development and browsers compatibility. Under the general document of Test Plan homepage of Carisma, Home Page> Header-on all pages of website, Homepage>On all pages of website> call to action, Homepage>Slide, Homepage> Products highlight, Newsletter Subscription, Footer, Listing Page (important note: show all results in one page: infinite scroll), Creators Page (important note: show all results in one page: infinite scroll), Product detail Page, Product detail Page popup, Content page, Contact page, My Account page, Cart page, Order Process, Dashboard, Payment method, Transactional emails, CMS Pages and Types of product. Table 5: Homepage of Carisma Test For Features 1. Header Sub Features Description FR,EN,DE Header menu 2. Slideshow 5 pictures title, short description, link on each pictures 3. Calls to action FR,EN,DE 4. Link to a section/page 5. Link to the page: I'Univers carisma 6. Link to a section/page 7. Link to a section/page 8. Link to a picture, [title, link-fr,en,de] title,short desc,link -(FR,EN,DE) picture,[title,link-fr,en,de] picture,[title,link-fr,en,de] Browsers Compatibility Design/ Development Design / Development Design/ Development Design/ Development Design/ Development Design/ Development Design/Develop ment Design/ Development Design/ 46 IE7 IE8 IE9 IE10 Firefox Chrome IPAD MAC Safari OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK Remarks Test For Features Sub Features Description Design/ Development Development section/page 9. Calls to action: link to Nous rejoindre page 10. Newsletter inscription FR,EN,DE 12. Footer link Design/ Development facebook link, twitter link, pinterest link, google+ link Design/ Development Design/ Development Design/ Development FR,EN,DE 11. Social Links FR,EN,DE Browsers Compatibility footer menu Source: Story Board of Carisma IE7 IE8 IE9 IE10 Firefox Chrome IPAD MAC Safari OK OK NOK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK Remarks Test Plan for E-commerce Product Table 6: Home Page> Header-on all pages of website Test For Features 1. Logo 2. Main navigation 3. Customer account login 4. Recherche on go 5. Language Sub Features Description Design/Develop ment Design/Develop ment Linked to the homepage Fr, En, De (submenus and thumbnail managed by user in admin) redirect to login page if he is not logged otherwise redirect to dashboard page search and display result, category template page Language chosen by flag- Fr, En, De 6. Cart Card content if something in cart 7. Currency display choice Euro, Chf, Dollar Source: Story Board of Carisma Browsers Compatibility IE7 IE8 IE9 IE10 Firefox Chrome IPAD MAC Safari OK OK OK OK OK OK OK OK Design/Develop ment OK OK OK OK OK NOT TESTED OK OK Design/Develop ment OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK Design/Develop ment Design/Develop ment Design/Develop ment Design/Develop ment Test Plan for E-commerce Product 47 Remarks Table 7: Homepage>On all pages of website> call to action Test For Features Sub Features Description 1. Satisfied FR,EN,DE rollover 2. Delivery FR,EN,DE rollover 3. Contact FR,EN,DE rollover Source: Story Board of Carisma Browsers Compatibility Design/Develop ment Design/ Development Design /Development Design/ Development Remarks IE7 IE8 IE9 IE10 Firefox Chrome IPAD Safari in MAC OK OK OK OK OK SKIPPED OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK Test Plan for E-commerce Product Table 8: Homepage>Slide Test For Features 1. Slide show Sub Features 5 images/ language 2. Title Description add image from admin user will be able to define title 3. Short desc 4. Button FR,EN,DE 5. Slide navigation 5 images user will be able to define short description for image user will be able for each image in each language to define link. Label of the button Source: Story Board of Carisma Browsers Compatibility Design/ Development Design/ Development Design/ Development Design /Development IE7 IE8 IE9 IE10 Firefox Chrome IPAD Safari in MAC OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK Design/ Development OK OK OK OK OK OK OK OK Design/ Development OK OK OK OK OK OK OK OK Remarks Test Plan for E-commerce Product Table 9: Homepage> Products highlight Test For Features Sub Features 1 1,3,4,5 images 2 FR,EN,DE Description on roll over [grey layer with transparencey] title, short description, link to the content page Source: Story Board of Carisma Browsers Compatibility Design/ Development Design/ Development Design/ Development IE7 IE8 IE9 IE10 Firefox Chrome IPAD Safari in MAC OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK Test Plan for E-commerce Product 48 Remarks Table 10: Newsletter Subscription Test For Features 1. Link to content page 2. Newsletter inscription Sub Features FR,EN,DE FR,EN,DE 3. Social Links Description one link per language (Cf page 7) Message to display on subscription (in the text field) facebook link, twitter link, pinterest link, google + link Source: Story Board of Carisma Browsers Compatibility Design/ Development Design/ Development Design/ Development Design/ Development IE7 IE8 IE9 IE10 Firefox Chrome IPAD Safari in MAC OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK Remarks Link should be kept Test Plan for E-commerce Product Table 11: Footer Test For Features 1. footer menu Sub Features FR,EN,DE Description Footer menu Source: Story Board of Carisma Browsers Compatibility Design/ Development Design/ Development IE7 IE8 IE9 IE10 Firefox Chrome IPAD Safari in MAC OK OK OK OK OK OK OK OK Remarks Test Plan for E-commerce Product Table 12: Listing Page (important note: show all results in one page: infinite scroll) Test For Features 1. collection/category title 2. categories navigation filters 3. Results/product display 4. Thumbnail rollover Sub Features Description collection or name of category displayed,depending the user get there size, price, marques(brands)/designer according the navigation 1 and filter selected 2, results display as thumbnails. Title on rollover(cf4), display the price Source: Story Board of Carisma Browsers Compatibility Design/ Development IE7 IE8 IE9 IE10 Firefox Chrome IPAD Safari in MAC Design/ Development OK OK OK OK OK OK OK OK Design/ Development OK OK OK OK OK OK OK OK Design/ Development OK OK OK OK OK OK OK OK Design/ Development OK OK OK OK OK OK OK OK Test Plan for E-commerce Product 49 Remarks Table 13: Creators Page (important note: show all results in one page: infinite scroll) Test For Features 1. creators slider 2. collection/category title 3. categories navigation filters Sub Features 3 slides max 4. Results/product display 5. Thumbnail rollover Description user could manage pictures, text, link for each slide for each creator collection or name of category displayed, depending the user get there size, price, marques(brands)/designer according the navigation 1 and filter selected 2, results display as thumbnails. Title on rollover(cf4), display the price Source: Story Board of Carisma Browsers Compatibility Design/ Development IE8 IE9 IE10 Firefox Chrome IPAD Safari in MAC Remarks IE7 Design/ Development OK OK OK OK OK OK OK OK Link should be kept Design/ Development OK OK OK OK OK OK OK OK Design/ Development OK OK OK OK OK OK OK OK Design/ Development OK OK OK OK OK OK OK OK Design/ Development OK OK OK OK OK OK OK OK Test Plan for E-commerce Product Table 14: Product detail Page Test For Features Sub Features Description 3. Product title IE7 IE8 IE9 IE10 Firefox Chrome IPAD OK OK OK OK OK OK OK OK Design/ Development OK OK OK OK OK OK OK OK Design/ Development OK OK OK OK OK OK OK OK 4. Price display the price as it is entered in admin Design/ Development OK OK OK OK OK OK OK OK while creating new product, user must have the choice to create a product with or without size and/or color because some products will not have an attribute size and color. 5. Product attributes Design/ Development OK OK OK OK OK OK OK OK name of the category or collection displayed depending the way user get there manage from admin enter the price including tax max 3 (quantite, taille, couleur), these attributes are mandatory Remarks Safari in MAC 1. Breadcrumb 2. Collection/category title Browsers Compatibility Design/ Development Design/ Development 50 Test For Features Sub Features Description Browsers Compatibility Design/ Development Remarks IE7 IE8 IE9 IE10 Firefox Chrome IPAD Safari in MAC OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK NOK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK Chrome IPAD Safari in MAC OK OK OK on adding to cart. 6. Adding to cart FR,EN,DE 7. 2 tabs: en,de facebook, twitter, pinterest manage from admin manage from admin manage from admin 8. Social share to display 9. first picture of product 10. Other pictures of product 11. Related products on rollover, button becomes red Tab1, Tab2 (content managed in admin) Design/ Development Design/ Development Design/ Development max 4 pictures Source: Story Board of Carisma Design/ Development Design/ Development Design/ Development Test Plan for E-commerce Product Table 15: Product detail Page popup Test For Features 1. Popup Sub Features Description display on adding a product in the cart with grey layer behind 2. Associated products when there are some create by user (this product with one of these 3 allows customer to have 20% reduction) 3. Button continue the shopping close popup adding the product in the cart Source: Story Board of Carisma Browsers Compatibility Design/ Development IE7 IE8 IE9 IE10 Design/ Development OK OK OK OK Firefox OK Remarks Design/ Development OK OK OK OK OK OK OK OK Design/ Development To be tested OK OK OK OK OK OK OK Test Plan for E-commerce Product 51 one of these three products 20% reduction Table 16: Content page Test For Features Sub Features Description Browsers Compatibility Design/ Development IE7 IE8 IE9 IE10 Firefox Remarks Chrome IPAD Safari in MAC By default magento cms page Source: Story Board of Carisma Test Plan for E-commerce Product Table 17: Contact page Test For Features Sub Features Description 1. Breadcrumb 2. Coordinates 3. Contact form FR,EN,DE Sentence of presentation FR,EN,DE Source: Story Board of Carisma Browsers Compatibility Design/ Development Design/ Development Design/ Development Design/ Development IE7 IE8 IE9 IE10 Firefox Chrome IPAD Safari in MAC OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK Skipp ed OK OK OK OK OK OK OK Remarks Test Plan for E-commerce Product Table 18: My Account page Test For Features 1. If customer is ever logged 2. If customer is not ever logged 3. Continue to registration 4. Forgot password Sub Features Description redirect to dashboard page create an account or signin with email ID and password Design/ Development IE7 IE8 IE9 IE10 Firefox Chrome IPAD Safari in MAC OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK Development OK OK OK OK OK OK OK OK Development OK OK OK OK OK OK OK OK Development Development FR,EN,DE FR,EN,DE Browsers Compatibility After clicking this link, redirect to form of email and he will receive a new password by email. 52 Remarks Test For Features 5. Login Sub Features FR,EN,DE Description The visitor will login with his email and password and redirected to dashboard page. Source: Story Board of Carisma Browsers Compatibility Design/ Development Development IE7 OK IE8 OK IE9 OK IE10 OK Firefox OK Chrome OK IPAD Safari in MAC OK OK Remarks Test Plan for E-commerce Product Table 19: Cart page Test For Features 1. Place an order button Sub Features Description Browsers Compatibility Design/ Development Remarks IE7 IE8 IE9 IE10 Firefox Chrome IPAD Safari in MAC OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK 2. Delete button after click on button, redirect to order process after click on this image, remove the product from cart 3. Product image display image of the product Development OK OK OK OK OK OK OK OK 4. product name display product name display unit price without VAT and with VAT visitor will be able to update the quantity of the product display here subtotal without VAT and with VAT Development OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK redirect to homepage quantity of the products in the cart will be updated fill coupon number, if it is valid the discount will be applied display total price without VAT or with VAT Development OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK 5. Price 6. Quantity 7. Subtotal 8. Continuer vos achats button 9. Mettre a jour le panier button 10. Coupon 11. Total prices Source: Story Board of Carisma Development Development Development Development Development Development Development Development Test Plan for E-commerce Product 53 Table 20: Order Process Test For Features Sub Features Description Browsers Compatibility Design/ Development IE7 IE8 IE9 IE10 Firefox Chrome IPAD Safari in MAC OK OK OK OK OK OK OK OK 1. to place an order as guest Development 2. to registered Development OK OK OK OK OK OK OK OK Development OK OK OK OK OK OK OK OK 3. to sign up Source: Story Board of Carisma Remarks Test Plan for E-commerce Product Table 21: Dashboard Test For Features 1. Dashboard Menu 2. List of previous orders 3. Billing and shipping addresses Sub Features Description user can update his account information and change his password, order status, subscribe, unsubscribe newsletter, user can logout after clicking appropriate link user will see the previous orders he placed. Can see the details of orders and replace an order. We will add here link 'Reclamation', when user click on that link redirect to contact page. Contact information displayed and can be edited if we click on edit link. Can be changed password when we click on change password link. Billing and shipping address display and update them when we click on edit address link. Source: Story Board of Carisma Browsers Compatibility Design/ Development IE7 IE8 IE9 IE10 Firefox Chrome Remarks IPAD Safari in MAC Development OK OK OK OK OK OK OK OK Development OK OK OK OK OK OK OK OK Development OK OK OK OK OK OK OK OK Test Plan for E-commerce Product 54 Table 22: Payment method Test For Features Sub Features Description Browsers Compatibility Design/Develop ment IE7 IE8 IE9 IE10 Firefox Chrome IPAD Safari in MAC Remarks credit card with postfinance paypal waiting for information Source: Story Board of Carisma Test Plan for E-commerce Product Table 23: Transactional emails Test For Features 1. Order confirmation email 2. Account confirmation email 3. Shipment confirmation email 4. Newsletter subscription 5. Newsletter unsubscription Sub Features Description when an order will be placed, an email will be sent to the user to confirm the order. when user create account, an email will be sent automatically to him/her to confirm email address when the order is sent to the customer, an email will be sent to inform him/her. when somebody subscribes to the newsletter, s/he will receive a welcome email when somebody unsubscribes to the newsletter, s/he will receive a confirmation email Source: Story Board of Carisma Browsers Compatibility Design/Developm ent IE7 IE8 IE9 IE10 Firefox Chrome Remarks IPAD Safari in MAC OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK Development Development Development Development Development Test Plan for E-commerce Product 55 Table 24: CMS Pages Test For Features Sub Features Description Browsers Compatibility Design/ Development IE7 IE8 IE9 IE10 Firefox Chrome Safari in MAC Remarks IPAD Safari in MAC Remarks IPAD Manage the content of the cms pages through a wysiwyg editor, for french, english, and german version Source: Story Board of Carisma Test Plan for E-commerce Product Table 25: Types of product Test For Features Sub Features Description Browsers Compatibility Design/Developm ent IE7 IE8 IE9 Different kind of configurable products: Clothes:managing size, weight Objects:managing size, weight Source: Story Board of Carisma Test Plan for E-commerce Product 56 IE10 Firefox Chrome 4.9 “Test Plan” (Word press CMS Application) The Test Plan (word press CMS Application) is presented in Table 26-28 which represent the Homepage of Emile Garcin, For Sales and Order Details. Table 26: Homepage of Emile Garcin Features Sub Features 1. Main menu and header menu 2. Logo Emile Garcin 3. Search bar 4. Language choice 5. Slide show 6. Office button 7. Recent discoveries 8. Geneve rive gauche 9. Geneve rive gauche 10. Lausanne/vaud 11. Montagne 12. map of Switzwerland 13. Magazine Description Link to: http://www.emilegarcin.ch FR, RU,EN 3-5 elements Test for design/development design/development design/development Default language french design/development design/development Slides 5 secs with fade effect design/development design/development design/development design/development design/development design/development design/development design/development Link to: http://flipbook.emilegarcin.com/ 14. Footer Source: Story Board of Emile Garcin design/development design/development IE9 IE10 IE11 OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK Test Plan for CMS Product 57 Firefox MAC Safari Chrome IPAD Remarks Table 27: For Sales Features Sub Features 1. Results information 2. Price filter 3. Sort by dropdown menu 4. Page selector 5. Estate offer Description Price descending Increasing price Max 220 chars Source: Story Board of Emile Garcin Test for design/development design/development design/development design/development design/development design/development IE9 IE10 IE11 Firefox OK OK OK OK OK OK OK OK MAC Safari OK OK Chrome IPAD Remarks OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK Test Plan for CMS Product Table 28: Order Details Features Sub Features Description 1. Banner 2. Offer navigation button 3. Information of the offer 4. Picture gallery 5. Back to the list 6. Request for documentation Source: Story Board of Emile Garcin Test for design/development design/development design/development design/development design/development design/development design/development IE9 IE10 IE11 OK OK OK OK MAC Safari OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK Test Plan for CMS Product 58 Firefox Chrome IPAD Remarks OK OK OK CHAPTER-V: CONCLUSIONS AND RECOMMENDATIONS 5.1 Conclusions Both manual and automatic testing process is used to ensure the quality of the product. If the Test Plan is implemented to test the software, the chances of error occurring will be low. The Test Plan can be considered as a systematic testing technique and it is also more effective to test the software. Likewise, correlation also exists between quality and Test Plan significantly as per the result. Although correlation doesn’t exist between quality assurance and involvement of quality analyst in SCURM based on survey results, all the QAn should be involved in daily meeting which is called SCRUM with development team in order to deliver qualitative product because if they do not participate in the meeting, QAn may miss some information about project and lastly quality analyst may omit to test those parts. No any features are omitted to test in every required browsers while testing the software by making Test Plan. To make the quality product, not only the manual and automated testing should be focused but also check the security measures because it matters a lot when the site is launched. Moreover training on automated software testing tools should be provided to QAn personnel. All project team should realize importance of quality assurance in software development life cycle. Quality analysts should have knowledge of database and programming language in order to test the backend and white box testing also. 59 5.2 Recommendations/Future works Based on the findings of the study the recommendations presented as follows. 1. It is recommended that all the software development company should have Quality Assurance Department and necessary personnel (Quality Analysts) to ensure the quality product by reducing errors. 2. Systematic Process such as Requirement Study, Test Plan preparation, Test Case generation, Test Execution, Bug find and Bug fix should be followed in the QA task for the betterment of QA field. It is recommended that this ‘Test Plan’ document is also very fruitful to testers of web application. All the features of project need to test for browser compatibility testing in web app. 3. All the organization should follow agile methodology for the betterment of their organization working procedure. All the QAn should be involved in daily meeting which is called SCRUM with development team in order to deliver qualitative product. 4. There is some limitation in the present research that is to understand the depth study of automated software testing tools. In order to identify the similarities/gaps and better performance, comparative study can be carried out between manual testing with Test Plan and automated software testing tools as future work. 60 References Bertolino Antonia (2007). Software Testing Research: Achievements, Challenges, Dreams, 2007 IEEE Bhushan Bharat Konka (2011). A case study on Software Testing Methods and Tools, Chalmers University of Technology University of Gothenburg, Department of Computer Science and Engineering, August 2011 Black Rex (2007). Pragmatic Software Testing, Becoming an Effective and Efficient Test Professional, 2007 Chillarege Ram (n.d.). Software testing best practices, Center for software Engineering IBM Research Crowell Nathaniel (2009). Software Testing Effectiveness, October 27, 2009 Eldh Sigrid (n.d.). How to Save on Quality Assurance – Challenges in Software Testing El-Rayyes Emad Kh. and Abu-Zaid Ibrahim M. (2012). New Model to Achieve Software Quality Assurance (SQA) in Web Application, International Journal of Science and Technology, Volume 2, No. 7, July 2012 Farooq Sheikh Umar, Quadri S. M. K. and Ahmad Nesar (2011). Software Measurements and Metrics: Role in Effective Software Testing, International Journal of Engineering Science and Technology (IJEST), Vol. 3 No. 1 January 2011, ISSN : 0975-5462 Farooq Sheikh Umar and Quadri S.M.K. (2011). Evaluating Effectiveness of Software Testing Techniques With Emphasis on Enhancing Software Reliability, Journal of Emerging Trends in Computing and Information Sciences, Vol. 2, No. 12, December 2011 Farooq Umar (2012). Evaluating Effectiveness of Software Testing Techniques with Emphasis on Enhancing Software Reliability, March 2012 61 Gao Jerry (n.d.). Component Testability and Component Testing Challenges, San Jose State University One Washington Square San Jose Grater T. Michael (2005). Benefit of Using Automated Software Testing Tools to achieve software quality assurance, University of Oregon, Applied Information Management, June 2005 Hongchun Zhang (n.d.). Research on New Techniques and Development Trend of Software Testing, Hubei Polytechnic Institute Infosys (n.d.). Functional Testing – Challenges and Best Practices, Building Tomorrow's Enterprise Juristo N., Moreno A.M., Vegas S. and S. Vegas (n.d.). Limitations of Empirical Testing Technique Knowledge, Universidad Politécnica de Madrid Juristo Natalia, Moreno Ana M. and Vegas Sira (2004). Reviewing 25 Years of Testing Technique Experiments, Empirical Software Engineering, 9, 7–44, 2004 Kamsties Erik and M. Lott Christopher (1995). An Empirical Evaluation of Three DefectDetection Techniques, Appeared in the Proceedings of the Fifth European Software Engineering Conference, 26–28 September 1995 Kaner Cem (2003). Fundamental Challenges in Software Testing, Florida Tech Colloquium Presentation at Butler University, April 2003 Lucca Giuseppe A. Di and Fasolino Anna Rita (2006). Testing Web-based applications: The state of the art and future trends, August 2006 Malik Imran Ullah and Waqar Ali Zaidi (2009). Quality Assurance Activities in Agile, September 2009 Nelson Akinboyewa E. and Victor O. Johnson (2013). Software Testing Process Using a Payroll System as a Case Study, International Journal of Engineering and Innovative Technology (IJEIT) Volume 2, Issue 7, January 2013 62 Perry E. William (2006). Effective Methods for Software Testing, Third Edition, 2006 Pizza Michele and Strigini Lorenzo (n.d.). Comparing the Effectiveness of Testing Methods in Improving Programs: the Effect of Variations in Program Quality, Centre For Software Reliability City University, London, England Quadri S.M.K and Farooq Sheikh Umar (2010). Software Testing – Goals, Principles, and Limitations, International Journal of Computer Applications (0975 – 8887) Volume 6– No.9, September 2010 Rafi Dudekula Mohammad and Moses Katam Reddy Kiran (2011). A Study of State of Practice Automated Software Testing, December 2011 Rao K. Nageswara and Sastri A. Pathanjali (2011). Overcoming Testing Challenges in Project Life Cycle using Risk Based Validation Approach, Department of Computer Science and Engineering, P.V.P.Siddhartha Institute of Technology Kanuru, Vijayawada Andhra Pradesh, India, March 2011 Shah Rohen (2009). Testing Tools, rxs07u, G53QAT (11/27/2009) Shivkumar Hasmukhrai Trivedi (2012). Software Testing Techniques, International Journal of Advanced Research in Computer Science and Software Engineering, Volume 2, Issue 10, October 2012 Sirshar Mehreen and Dr. Arif Fahim (2012). Evaluation of Quality Assurance Factors in Agile Methodologies, International Journal of Advanced Computer Science, Vol. 2, No. 2, Pp. 73-78, February 2012. SmartBear Software Whitepaper (n.d.). 6 tips to get started with automated testing Sommerville Ian (n.d.). Software Engineering, Ninth Edition Tawileh Anas, Mcintosh Steve, Work Brent and Ivins Wendy (n.d). The Dynamics of Software Testing 63 Toshiaki Kurokawa and Masato Shinagawa (2008). Technical Trends and Challenges of Software Testing, October 2008 Vegas S. (n.d.). Identifying the Relevant Information for Software Testing Technique Selection, Universidad Politécnica de Madrid Campus de Montegancedo, 28660 Boadilla del Monte, Madrid, Spain Verma Vikas and Malhotra Sona (2011). Journal of Global Research in Computer Science, Applications of Software Testing Metrics In Constructing Models of The Software Development Process, Volume 2, No. 5, May 2011 64 Websites http://en.wikipedia.org/wiki/Software (Accessed date: 2-1-2014) http://en.wikipedia.org/wiki/Software_bug (Accessed date: 2-1-2014) http://asq.org/learn-about-quality/quality-assurance-qualitycontrol/overview/overview.html (Accessed date: 2-3-2014) http://en.wikipedia.org/wiki/Software_quality (Accessed date: 2-5-2014) http://en.wikipedia.org/wiki/Software_quality_assurance (Accessed date: 2-7-2014) http://searchsoftwarequality.techtarget.com/tip/Manual-testing-vs-automated-testing-Adecision-point (Accessed date: 2-4-2014) http://www.diffen.com/difference/Quality_Assurance_vs_Quality_Control (Accessed date: 2-2-2014) http://www.softwaretestinghelp.com/types-of-software-testing/ (Accessed date: 2-6- 2014) http://www.telerik.com/automated-testing-tools/ (Accessed date: 5-2-2014) http://www.tutorialspoint.com/software_testing/testing_types.htm (Accessed date: 2-82014) 65 Annexes: Annex 1: Questionnaires Name of the organization : Name of Respondent : Position of Respondent : Date of interview : 1. Do you have software testing or quality assurance department? a. Yes b. No If yes, how many software testers or quality analyst do you have? a. 1 b. 2 c. 3 d. 4 e. More than four If No, who tests the quality of the software? a. Project Manager b. Designer c. Developer d. Others e. None of the above 2. What is the testing process you follow? 66 a. Automatic b. Manual c. Both 3. Which testing types or methods you follow? a. Black box testing b. White box testing, c. Grey box testing d. All of the above 4. Do you make Test Plan while testing the software? a. Yes b. No 5. If yes, what are the benefits of using “Test Plan”? a. Keep track of test b. Store information in document and serves as a guide c. Can be reused if regression testing occurs d. All of them 6. If no, what are the reasons for not making “Test Plan”? a. Not necessary to make Test Plan b. Lack of knowledge or skill about Test Plan c. Lack of time to make Test Plan 7. What are the contents/titles that you have in “Test Plan”? a. Features to be tested b. Features not to be tested c. Browsers compatibility 67 d. Item pass/fail criteria e. Other ….. 8. Do you use automated software testing tools? a. Yes b. No 9. If yes, what are the benefits of using automated software testing tools? a. Fast Testing b. Save time, cost, effort c. Automated regression test d. Motivation to testers for new technology e. All of them 10. If no, what are the reasons of not using automated software testing tools? a. Couldn’t afford (Budget constraint) b. Lack of skilled human resource c. Lack of knowledge about automated software tools d. All of the above 11. Which software testing tools have you used currently? a. Selenium b. JMeter c. Load Runners d. Others 12. Does the company follow agile methodology like SCRUM while developing software? 68 a. Yes b. No 13. If Yes, Has QA (Quality Analyst) involved in daily scrum with development team? a. Yes b. No 14. In your opinion, what should be done for better development of QA field? ………………………….. 15. In your opinion, what are the problems you face while not making test plan? ……………………………… 16. Chances of error/bug while using “Test Plan”. Give your opinion (√) based on experience Features Below 50% Login form validation Registration Header (Slide show) Footer (Links) Social Links Category Display Roll over effect Breadcrumb Contact Form Email Templates Pagination Display 69 More than 50% 100% 17. Chances of error/bug without using “Test Plan”. Give your opinion (√) based on experience Features Below 50% Login form validation Registration validation Header (Slide show) Footer (Links) Social Links Category Display Roll over effect Breadcrumb Contact Form Email Templates Pagination Display 70 More than 50% 100% Annex 2: List of respondents and organizations SN Name of Respondents Name of organizations Position of respondents 1 Suresh Mahto EBPearls Quality Analyst 2 Kabita Dhimal Ebpearls Developer 3 Kabindra Miracle Interface Software Quality Analyst 4 Pratima Lingden Miracle Interface QA 5 Nisha Bhagat Miracle Interface QA 6 Narayan Koirala Eminence Ways Pvt. Managing Director Ltd. 7 Newton Suwal Javra Software Quality Control Engineer 8 Sujan Amatya Braindigit IT Solutions QC Incharge Pvt Ltd 9 Soni Baidya EbPearls Quality Analyst 10 Nita Poudel EbPearls Quality Analyst 11 Sujit Shrestha SPI Private Ltd. Senior Test Engineer 12 Sulochana Paudel F1soft International php developer 13 Sajani Maharjan F1soft International QA Engineer 14 Enkisha Chhetri ebPearls QA 15 Rakesh Shrestha f1soft Int'l Pvt. Ltd. QA Engineer 16 Rajesh Singh Longtail e-media Pvt. Quality Assurance 71 SN Name of Respondents Name of organizations Position of respondents Ltd 17 Dipesh Chand F1soft International QA Engineer 18 Rajan Maharjan Peace Nepal DOT Com Manager 19 Sameer Pokhrel Verisk IT Software engineer 20 Sabina Javra Sr. QC 21 PRABIN SAPKOTA JAVRA SOFTWARE TEST ENGINEER 22 Ramesh Kunwar Yomari inc. Software Developer 23 Suraiya Pradhan SPI Test Engineer 24 Shrijana Tandukar Deerwalk Services Software Quality Assurance Engineer 25 Prakash Malla SPINepal pvt ltd Test Engineer 26 Tripti pant Avionte QA 27 Dileep Dawadi PCS QA 28 Neeta Phuyal EBpearls Software Quality Analyst 29 Sabin Maharjan Auxfin Nepal Technical Manager 30 Sujan Shrestha IT Himalaya Country Manager 31 Uttam Shrestha Cross Over Nepal Manager 72