Test-driven global software development
2004
Sign up for access to the world's latest research
Related papers
Zenodo (CERN European Organization for Nuclear Research), 2023
Test Driven Development (TDD) is one of the important approaches in software development. Sometimes, it is very difficult to understand what the codes of a system are doing, so to have a clear understanding one needs to write test cases first with the expected output, for these type of development TDD is required. This is to make the code cleaner and fault free. In software engineering, one has to undergo some testing to meet the company's goal and customers need. One of the software development approaches in software engineering is Test-Driven Development (TDD). An attempt is made to reveal the necessity of Test-Driven Development (TDD) for software development. On reviewing the literatures, challenges and problems were identified while adopting TDD. In this paper, a conclusion is made on TDD as an essential approach in software engineering.
2009 Testing: Academic and Industrial Conference - Practice and Research Techniques, 2009
Recently there has been a focus on test first and test driven development; several empirical studies have tried to assess the advantage that these methods give over testing after development. The results have been mixed. In this paper we investigate nine teams who tested during coding to examine the effect it had on the external quality of their code. Of the top three performing teams two used a documented testing strategy and the other an ad-hoc approach to testing. We conclude that their success appears to be related to a testing culture where the teams proactively test rather than carry out only what is required in a mechanical fashion.
2002
The goal of this workshop is to bring together researchers and practitioners in trying to understand the emerging phenomenon of global software development. As we witness an increased globalization of software development, it is important that research addresses the challenges of distributed software engineering, identifies the impact of geographical and cultural differences on software engineering practice, and informs the development of techniques and technologies to improve such practice.
IEEE Computer, 2005
Test-driven development creates software in very short iterations with minimal upfront design. Poised for widespread adoption, TDD has become the focus of an increasing number of researchers and developers.
Proceedings of the 28th international conference on Software engineering, 2006
In recent years, a number of business reasons have caused software development to become increasingly distributed. Remote development of software offers several advantages, but it is also fraught with challenges. In this paper, we report on our study of distributed software development that helped shape a research agenda for this field. Our study has identified four areas where important research questions need to be addressed to make distributed development more effective. These areas are: collaborative software tools, knowledge acquisition and management, testing in a distributed setup and process and metrics issues. We present a brief summary of related research in each of these areas, and also outline open research issues.
Proceedings of the 2006 ACM/IEEE international symposium on International symposium on empirical software engineering - ISESE '06, 2006
This paper discusses software development using the Test Driven Development (TDD) methodology in two different environments (Windows and MSN divisions) at Microsoft. In both these case studies we measure the various context, product and outcome measures to compare and evaluate the efficacy of TDD. We observed a significant increase in quality of the code (greater than two times) for projects developed using TDD compared to similar projects developed in the same organization in a non-TDD fashion. The projects also took at least 15% extra upfront time for writing the tests. Additionally, the unit tests have served as auto documentation for the code when libraries/APIs had to be used as well as for code maintenance.
Software engineering principles are brought into practice by Information Technology companies all around the world. Software can be developed by local teams which members have different cultural backgrounds, as well as by teams distributed across countries. To save costs and be close to markets and customers, companies offshore or outsource the personnel. Although developing software in distributed teams offers multiple benefits, there are also stiff challenges that engineers and managers have to deal with, e.g. communication and collaboration may get affected because of geographic distance, different time zones and distinct cultural backgrounds among team members. If not addressed on time and effectively, these challenges generate misunderstanding and conflict among the team which eventually may impact the projects deadlines and quality of the software. This paper presents the most common software engineering practices, challenges and tools in global teams, as well as practical cases in the industrial and academic realms.
2019
Test-driven development(TDD), also known as test-first development, is an important component in the widely adopted agile development or extreme programming practices of today. It is a design philosophy which attempts at discovering and finding system defects as early in the development process as possible. In this sense of the word, programmers have adopted some form of test-driven development since the conception of software. However, it is only recently that a more systematic approach to TDD has been adopted widely. This work is a survey of TDD techniques developed and formalized in the past decade. From unit testing, regression testing to the more recent concept of continuous testing we evaluate the potential pitfalls of different TDD approaches, particularly as the scope and the number of contributors in a project increases.
Proceedings - International Conference on Global Software Engineering, ICGSE 2007, 2007
The advent of global distribution of software development has made managing collaboration and coordination among developers more difficult due to various reasons including physical distance, differences in time, cultural differences etc. A nearly total absence of informal communication among developers makes coordinating work in a globally distributed setting more critical. The goal of this workshop is to provide an opportunity for researchers and industry practitioners to explore both the state-of-the art in tools and methodologies for managing global software development (GSD).
2005
Abstract Distributed software development presents several characteristics that differentiate from co-located software development. Currently, one of the main difficulties imposed by geographically distributed software teams is the requirements engineering process. Traditional approaches to requirements process don't cover the fundamental difficulties of dispersion, like communication and coordination.

Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
References (8)
- B.Meyer. Design by contract. Advances in Object-Oriented Software Engineering, 1991.
- B.Meyer. Eiffel: The language. 1991.
- E.M.Maximilien and L.Williams. Assessing test-driven de- velopment at IBM. 25th International Conference on Soft- ware Engineering, pages 564-569, 2003.
- G.T.Leavens, A.L.Baker, and C.Ruby. Jml: A notation for detailed design. Behaviroal Specifications of Businesses and Systems, pages Chapter 12, 175 -188, 1991.
- J.D.Herbsleb, A.Mockus, T.A.Finholt, and R.E.Grinter. Dis- tance, dependencies and delay in a global collaboration. ACM Conference on Computer Supported Collaborative Work, pages 319-328, 2000.
- J.Warmer and A.Kleppe. The object constraint language, pre- cise modeling with UML. 1999.
- K.Beck. Test driven development: By example. 2002.
- R.Doong and P.Frankl. The astoot approach to testing object- oriented programs. ACM Transactions on Software Engineer- ing and Methodologies, 1994.