Software Testing Under Agile, Scrum, and DevOps

2022 ◽  
pp. 1059-1076
Author(s):  
Kamalendu Pal ◽  
Bill Karakostas

The adoption of agility at a large scale often requires the integration of agile and non-agile development practices into hybrid software development and delivery environment. This chapter addresses software testing related issues for Agile software application development. Currently, the umbrella of Agile methodologies (e.g. Scrum, Extreme Programming, Development and Operations – i.e., DevOps) have become the preferred tools for modern software development. These methodologies emphasize iterative and incremental development, where both the requirements and solutions evolve through the collaboration between cross-functional teams. The success of such practices relies on the quality result of each stage of development, obtained through rigorous testing. This chapter introduces the principles of software testing within the context of Scrum/DevOps based software development lifecycle.

Author(s):  
Kamalendu Pal ◽  
Bill Karakostas

The adoption of agility at a large scale often requires the integration of agile and non-agile development practices into hybrid software development and delivery environment. This chapter addresses software testing related issues for Agile software application development. Currently, the umbrella of Agile methodologies (e.g. Scrum, Extreme Programming, Development and Operations – i.e., DevOps) have become the preferred tools for modern software development. These methodologies emphasize iterative and incremental development, where both the requirements and solutions evolve through the collaboration between cross-functional teams. The success of such practices relies on the quality result of each stage of development, obtained through rigorous testing. This chapter introduces the principles of software testing within the context of Scrum/DevOps based software development lifecycle.


2021 ◽  
Vol 13 (5) ◽  
pp. 2602
Author(s):  
Basit Shahzad ◽  
Fazal-e-Amin Fazal-e-Amin ◽  
Ahsanullah Abro ◽  
Muhammad Imran ◽  
Muhammad Shoaib

Software risks are a common phenomenon in the software development lifecycle, and risks emerge into larger problems if they are not dealt with on time. Software risk management is a strategy that focuses on the identification, management, and mitigation of the risk factors in the software development lifecycle. The management itself depends on the nature, size, and skill of the project under consideration. This paper proposes a model that deals with identifying and dealing with the risk factors by introducing different observatory and participatory project factors. It is assumed that most of the risk factors can be dealt with by doing effective business processing that in response deals with the orientation of risks and elimination or reduction of those risk factors that emerge over time. The model proposes different combinations of resource allocation that can help us conclude a software project with an extended amount of acceptability. This paper presents a Risk Reduction Model, which effectively handles the application development risks. The model can synchronize its working with medium to large-scale software projects. The reduction in software failures positively affects the software development environment, and the software failures shall reduce consequently.


Author(s):  
Torstein Nicolaysen ◽  
Richard Sassoon ◽  
Maria B. Line ◽  
Martin Gilje Jaatun

In this article, the authors contrast the results of a series of interviews with agile software development organizations with a case study of a distributed agile development effort, focusing on how information security is taken care of in an agile context. The interviews indicate that small and medium-sized agile software development organizations do not use any particular methodology to achieve security goals, even when their software is web-facing and potential targets of attack. This case study confirms that even in cases where security is an articulated requirement, and where security design is fed as input to the implementation team, there is no guarantee that the end result meets the security objectives. The authors contend that security must be built as an intrinsic software property and emphasize the need for security awareness throughout the whole software development lifecycle. This paper suggests two extensions to agile methodologies that may contribute to ensuring focus on security during the complete lifecycle.


2022 ◽  
pp. 819-834
Author(s):  
Nayem Rahman

Software development projects have been blamed for being behind schedule, cost overruns, and the delivery of poor quality product. This paper presents a simulation model of a data warehouse to evaluate the feasibility of different software development controls and measures to better manage a software development lifecycle, and improve the performance of the launched software. This paper attempts to address the practical issue of code defects in each stage of data warehouse application development. The author has compared the defect removal rate of their previous project to the newly proposed enhanced project development life cycle that uses code inspection and code scorecard along with other phases of software development life cycle. Simulation results show that the code inspection and code score-carding have achieved a significant code defect reduction. This has also significantly improved the software development process and allowed for a flawless production execution. The author proposes this simulation model to a data warehouse application development process to enable developers to improve their current process.


10.29007/cfm3 ◽  
2019 ◽  
Author(s):  
Salman Faizi ◽  
Shawon Rahman

Software application development must include implementation of core functionality along with secure coding to contain security vulnerabilities of applications. Considering the life cycle that a software application undergoes, application developers have many opportunities to include security starting from the very first stage of planning or requirement gathering. However, before even starting requirement gathering, the software application development team must select a framework to use for the application’s lifecycle. Based on the application and organizational characteristics, software application developers must select the best-fit framework for the lifecycle. A software application’s functionality and security start with picking the right lifecycle framework.When it comes to application development frameworks, one size does not fit all. Based on the characteristics of the application development organization such as the number of application developers involved, project budget and criticality, and the number of teams, one of the five frameworks will work better than others.Keywords: Software development lifecycle, software functionality, software security, application development, framework security


Author(s):  
RUCHIKA MALHOTRA ◽  
ABHISHEK BHARADWAJ

Software is built by human so it cannot be perfect. So in order to make sure that developed software does not do any unintended thing we have to test every software before launching it in the operational world. Software testing is the major part of software development lifecycle. Testing involves identifying the test cases which can find the errors in the program. Exhaustive testing is not a good idea to follow. It is very difficult and time consuming to perform. In this paper a technique has been proposed to do prioritize test cases according to their capability of finding errors. One which is more likely to find the errors has been assigned a higher priority and the one which is less likely to find the errors in the program has been assigned low priority. It is recommended to execute the test cases according their priority to find the errors.


2015 ◽  
Vol 16 (2) ◽  
pp. 377
Author(s):  
Nidhi Sharma ◽  
Manoj Wadhwa

<p>Software industries are progressively adopting the agile development practices of customized models such as Extreme Programming (XP) or Scrum or Rational Unified Process (RUP). Scrum and Extreme Programming (XP) are frequently used agile models, whereas Rational Unified Process (RUP) is one popular classic plan driven software development methodology. Both agile and plan driven models have their own merits &amp; demerits such as XP has good engineering practices, team collaboration and on the other hand weak documentation, poor performance in medium &amp; large scale projects. Scrum is based on project management practices. RUP model has some limitations such as impractical for small and fast paced projects, tendency to be over budgeted, condemn rapid changes in requirements. This research paper based on proposes hybrid framework eXSRUP by combining strengths of Scrum, XP and RUP by suppressing their limitations to produce high quality software.</p>


2010 ◽  
Vol 1 (2) ◽  
Author(s):  
Ridi Ferdiana ◽  
Lukito Edi Nugroho ◽  
Paulus Insap Santoso ◽  
Ahmad Ashari

Abstrak. Belajar dari Studi Kasus, Bagaimana Proses Pengembangan Perangkat Lunak Global Dieksekusi Pada Lingkungan Metode Agile. Tantangan terbesar dalam Software Development Global (GSD) adalah efisiensi waktu untuk mengembangkan. GSD menyediakan panduan untuk menggunakan proses bersama dengan muka seperti proses metode analisis terpadu atau metode air terjun. Meskipun, itu memberikan manfaat melalui dokumentasi yang komprehensif dan kejelasan, ia memberikan menghambat organisasi yang ingin menggunakan GSD tetapi dalam terburu-buru. Metode Agile mengklaim efisien dan pendekatan yang efektif untuk pengembangan perangkat lunak. Makalah ini laporan tentang bagaimana organisasi menggabungkan proses GSD dengan metode tangkas seperti eXtreme Programming (XP), Scrum, Agile Unified Process (UP Agile), Pengembangan Fitur Driven (FDD), dan Microsoft Solusi Kerangka Agile (MSF Agile). Makalah ini menggunakan studi kasus untuk mendapatkan pengalaman organisasi dan menjelaskan praktek yang berguna untuk organisasi yang ingin menerapkan GSD dengan metode tangkas. Kata Kunci: Siklus Hidup Pengembangan Perangkat Lunak, Agile, GSD Abstract. The biggest challenge in Global Software Development (GSD) is the efficiency of time to develop. GSD provides a guidance to use the process along with up-front analysis method like unified process or waterfall method. Although, it gives a benefit through comprehensive documentation and its clearness, it gives inhibits the organization which wants use GSD but in a rush. Agile methods claim an efficient and the effective approach to software development. This paper reports on how organizations combine the GSD process with agile methods like eXtreme Programming (XP), Scrum, Agile Unified Process (Agile UP), Feature Driven Development (FDD), and Microsoft Solution Framework Agile (MSF Agile). The paper uses case study to get organization experiences and describe useful practices for the organization that want to implement GSD with an agile method. Keywords: Software Development Lifecycle, Agile, GSD


Author(s):  
Naresh E. ◽  
Vijaya Kumar B.P.

The article tries to shed some light on the impact of human psychology on the effective use of pair programming in the modern Software development lifecycle such as SCRUM, Extreme Programming which are in turn used on heterogeneous software projects. This article also tries to identify that if the authors try to pair people keeping their psychology in mind that pair can come up with code with fewer defects, with efficient code, if the paper tries to pair people randomly without any planning or thinking might create a pair which let aside create inefficient code and lead to be unproductive nature, and even it will create a negative impact on the project and the team. This article introduces a few novel approaches in framing the pairs in pair programming's like known and unknown pairs, coder and reviewer pair and coder and tester pair. Applying the described approaches, an industry can improve the quality of the delivered product and improve the efficiency of software engineers.


This paper takes a deeper look at data breach, its causes and the linked vulnerability aspects in the application development lifecycle. Further, the Vulnerabilities are mapped to the software development life cycle (SDLC) involving requirement elicitation, design, development, testing and deployment phases. Being aware of exact SDLC life cycle where the vulnerabilities are injected, suitable security practices (countermeasures) can be adopted in delivery methodology, which can control the eventual data breaches and safeguard the application from security perspective. Our research focuses on Evolution of Vulnerabilities through the application development life cycle, and we have leveraged “Inverted Tree Structure/Attack Tree” and “Affinity Principles” to map the vulnerabilities to right Software Development Life Cycle.


Sign in / Sign up

Export Citation Format

Share Document