Small organizations and big corporations start using IT-tools to manage business processes inside and outside the company. According to the research conducted by PWC (PricewaterhouseCoopers) approximately 80% of companies accept the importance of using information technologies and over half of those surveyed have just introduced IT-systems to collect and analyze data and to manage projects . There isa growing number of companies which supply IT Consulting and Development Services in Russia. In the process of creating a new product many software components need to bechanged, and these changes need to be handled in a disciplined way tocontrol that the software continues to function as intended. Thereby there is a necessity to have special methods and tools to control the quality and eliminate software defects.
I work for a Company specializing on corporate web-system development.Today the lifecycle of developing software do not consist written testing business processes and it brings the set of problems. On the one hand, time spending on product design is extended by permanent readjusts increasing costs. On the other hand, it irritates developers when they get information about new defects from users and users get negative experience from working with product.
Being the project participant in this Company I am interested in organizational improvement of current development processes and implementation of testing tools to reach high performance of my work. For me as a bachelor of business informatics preparing special testing methods is a great opportunity to do system analysis of different company activities and find common factors that could improve the quality of the final solution.
Problems of enterprise portal development.Problem statement
The Company is specialized in enterprise portal development using Microsoft SharePoint 2010 technologies. An enterprise portal, also known as an enterprise information portal (EIP) or corporate portal, is a framework for integrating information, people and processes across organizational boundaries. It provides a secure unified access point often in the form of a web-based user interface, and is designed to aggregate and personalize information through application-specific portlets. A hallmark of enterprise portals is the de-centralized content contribution and content management, which always keeps the information updated. In the development process there is a high risk of not stopping the development of portal functions on completion date; the reason is in permanent changing of the desired content and the logic, which often determines site structure and causes new developing tasks. New lines of code might cause new defects and mistakes, therefore companies should spend time and money on testing and adjusting their product to new requirements . Without a fixed model of testing processes there are the hundred and one odd chances of releasinga low-rated product.
To reduce time on product reformation and come up to user’s expectations there is a requirement in a specified document that formalizes business processes and describes methods, rules and the order of the testing processes. According to the actual challenges described before the purpose of this work is to create regulations containing methods to find, localize and solve actual problems. Regulations implementation will allow to improve the enterprise web portals performance developed through Microsoft SharePoint 2010 technologies.
These regulations seek to remedy existing problems by performing new model of the developing lifecycle based on the research of the current business processes, choosing a software tool for testing and put recommendations following from the analysis in a structured document.
Taking into consideration the stated purpose of the work the following tasks were defined. The first task is to find bottlenecks in a current development lifecycle and create «AS IS» model. It will be followed by choosing appropriate methods that will decrease the number of defects in the final solution. In order to provide testing process it is required to choose a testing software tool to make this process more efficient. The most important task is to create a «TO BE» model reducing organizational risks. Finally, it should contain technical feasibility and cost-benefit analysis of implementing new software tool and testing processes to be presented to the project management.
This research includes five main stages:
The first step is to research of the current processes in development software lifecycle and contain description of the common bottlenecks.
Secondly it is necessary to compare the types of testing software required to check the quality of corporate portal.
The third stage is devoted to choosing the toolkit for testing according to the results of the previous stages.
The most important part of the work is the description of new lifecycle which correspond to the decisions made in the previous chapters.
Finally, before presenting new lifecycle it is required to complete technical feasibility and cost-benefit analysis of implementing new testing methods and tools into developing process.
To deal with the first task it is necessary tointerview participants of the developing process from the project manager to programmers and read all documents, which regulate inside company processes. The secondary data will be taken from knowledge project database. Thecurrent lifecycle of developing web-portal should be formalized in a flow chart. This is the first model called in literature «AS IS» . The next step is to scrutinize the lifecycle model and find out the most time-consuming periods and bottlenecks.
The second stage is rendering existing testing methods relevant to bottlenecks in descending order and proving the choice. In the book Software Testing with Visual Studio 2010 written by Jeff Levinson  a classification of test methodsis described in a comprehensive way. It illustrates use of each method in common situations and a list of strengths and weaknesses for each type of using tests. The task is to determine test methods that correspond to the specification of portal technologies. It is required to limit the number of tests, as there is a limit on the number of project participants who will be involved in the testing of each solution.
Choosing the toolkit for testing is a benchmarking research of testing tools available on the IT-market. According to the results described before the most complicated type of testing is load testing in case it needs not only software but also hardware support. Therefore, only testing software containing load testing function will be analyzed. In the Company there was an experience to use three products: JMeter, HP Load Runner, Microsoft Visual Studio 2010. In the comparison table there will be analyzed four items (including the development of the software tool for testing inside a Company) by the following characteristics: price, lead time, staff trainingcosts, functionality and system requirements. The purpose is to determine optimal solution which will correspond to required functionality and have the minimal cost.
According to the decisions described before the new lifecycle of a developing process will be formalized. It should contain actions, players, constraints, documents and chosen testing methods. When the lifecycle model contains all stages of developing and testing processes and model «TO BE» is completed, it is significant to put all the decisions, models and recommendations in a document.
The fifth part of the research is cost-benefit analysis and technical feasibility of completed lifecycle model. It is an additional part so that it goes as Appendix to the main document.
Technical feasibility will answer to the following questions:
Will the internal architecture of a company’s IT-system change?
Should Company buy additional hardware for testing final solutions?
How long does it take to set up hardware and software tools?
How to configure hardware and software?
Which roles and permissions compound new testing system?
After having done technical feasibility it is significant to perform cost-benefit analysis. There is an assumption that implementing testing methods will be initiated as an autonomous project in the Company. Cost-benefit analysis shows four main steps: calculating fixed costs, finding out factors that influence the variable costs, determining optimal quantity of these factors and calculating variable costs.
Expected Results of the Work
The whole work is divided into five parts that are equal to the stages. Each stage should have the result that will be fixed as an independent document or as the appendix to the testing methods document.
The first stage is finished after completing the model «AS IS». At the flow chart the development processes begin after getting the Terms of References by project group from Customer. Software development lifecycle coincides with company project stages. Thus, portal development follows waterfall model. At the initiation stage of the project Company is presented with Terms of References where functional and logical portal parts are described. On the later stage of portal development functions are distributed among the developers in such a way that each one of them designs one’s own functions (modules, logical compounds). Then the portal is assembled and demonstrated to the client. If any adjustments are needed, the team corrects the errors or changes the logic. As soon as the number of errors occurring in the demonstration process is minimal, the project is proceeds to the test implementation where the target users evaluate the portal operation quality. Once most of the users’ remarks are eliminated, the project moves on to the pilot operation stage. In a certain time the project finishes and the portal is moved to the commercial and maintenance operation.
Time and labor input critical objectives are found at the stage of test operation, as users find the errors that might have occurred during the system design. In this case funds have to be spent on rewriting and testing which badly influences the product’s quality in case the funds are limited. This shows that internal testing portal mechanism should be introduced before following with test operation.
The second stage has the results in the form of description of each chosen testing method. Chosen tests at the second stage are load testing, regression testing, usability testing, acceptance testing and integration testing. During the process of portal developing before the client demonstration a regression testing is needed. Regression testing is the process of testing changes to computer programs to make sure that the older programming still works with the new changes. During the system integration, after transferring it to a productive stage, information should be collected on number of users able to work with the portal simultaneously; recommendations on the equipment and server maximum load should be defined. For these reasons load testing is carried out. Usability testing is held to compare the demands to the portal that are required by the Terms of Reference with the implemented portal functions. Integration testing and acceptance testing are carried out by the whole group of developers and testers before the portal commissioning. Integration testing allows to test the portal performance on different systems’ joining, whereas acceptance testing shapes the test case for the client demonstration.
At the third stage gets the comparative table of tools that enables developers to perform load testing because it is the most complicated test of the portal system.
After having done preparations and investigations the model «TO BE» should be completed. In the lifecycle described in the first stage 5 stages will be included. Model «TO BE» is the main part of the whole work and it will be recommended to the project management.
The cost-benefit analysis should be fixed in a separate document and performed in front of the Company’s management. The result of this stage is positive in case document with regulations and new lifecycle is approved.
The result of the whole work is a document that describes the model «TO BE» that control testing business processes, determines useful types of tests and short description of them.
In regard to the regulations creation the following results are achieved. Implementing special methods into development process would improve the process of finding and localizing defects and interactions between developers, testers and consumers. The chosen testing software tool would supply developers and testers with an effective instrument for creating new portal solution. The model of new lifecycle would structure inside processes regulating the order of development, testing and organizational staged within one project.
In long run period the Company would decrease time and labor costs. The developed regulations would minimize the number of overflow projects connected with unpredicted readjusts and inconvenience while using web portal. Looking forward the Company might offer testing servers the client organizations or consulting services that improve reputation and attract more customers.
The Technology developed should include recommendations on running the tests during the corporate portal developing process based on Microsoft SharePoint Services.
If the «TO BE» model is successfully formed and cost benefit analysis is carried out properly, the introduction of testing methodology project into web portals developing projects will be successful. This will allow the Company to accumulate testing product knowledge thereafter and develop in providing web application testing services. Inside the company this will help to increase the final solutions’ quality, lower the project risks, cut the product’s improvement costs, come up to the clients’ expectations when using the portal. All in all, implementing the testing methodology for the corporate web-system will be beneficial for the company both in short and long perspective.