Exploring Software Testing Strategies Used on Software Applications in the Government

Total Page:16

File Type:pdf, Size:1020Kb

Exploring Software Testing Strategies Used on Software Applications in the Government Walden University ScholarWorks Walden Dissertations and Doctoral Studies Walden Dissertations and Doctoral Studies Collection 2020 Exploring Software Testing Strategies Used on Software Applications in the Government Angel Diane Cross Walden University Follow this and additional works at: https://scholarworks.waldenu.edu/dissertations Part of the Databases and Information Systems Commons This Dissertation is brought to you for free and open access by the Walden Dissertations and Doctoral Studies Collection at ScholarWorks. It has been accepted for inclusion in Walden Dissertations and Doctoral Studies by an authorized administrator of ScholarWorks. For more information, please contact [email protected]. Walden University College of Management and Technology This is to certify that the doctoral study by Angel D. Cross has been found to be complete and satisfactory in all respects, and that any and all revisions required by the review committee have been made. Review Committee Dr. Steven Case, Committee Chairperson, Information Technology Faculty Dr. Gail Miles, Committee Member, Information Technology Faculty Dr. Jodine Burchell, University Reviewer, Information Technology Faculty Chief Academic Officer and Provost Sue Subocz, Ph.D. Walden University 2020 Abstract Exploring Software Testing Strategies Used on Software Applications in the Government by Angel D. Cross MS, Strayer University, 2008 BS, Hampton University, 2001 Doctoral Study Submitted in Partial Fulfillment of the Requirements for the Degree of Doctor of Information Technology Walden University March 2020 Abstract Developing a defect-free software application is a challenging task. Despite many years of experience, the intense development of reliable software remains a challenge. For this reason, software defects identified at the end of the testing phase are more expensive than those detected sooner. The purpose of this multiple case study is to explore the testing strategies software developers use to ensure the reliability of software applications in the government contracting industry. The target population consisted of software developers from 3 government contracting organizations located along the East Coast region of the United States. Lehman’s laws of software evolution was the conceptual framework. The data collection process included semistructured interviews with software developers (n = 10), including a review of organizational documents (n = 77). Thematic analysis was used to identify patterns and codes from the interviews. Member checking activities were triangulated with organizational documents to produce 4 major themes: (a) communication and collaboration with all stakeholders, (b) development of well-defined requirements, (c) focus on thorough documentation, and (d) focus on automation testing. The results of this study may contribute to information about testing strategies that may help organizations improve or enhance their testing practices. The results of this study may serve as a foundation for positive social change by potentially improving citizens’ experience with government software applications as a result of potential improvement in software testing practices. Exploring Software Testing Strategies Used on Software Applications in the Government by Angel D. Cross MS, Strayer University, 2008 BS, Hampton University, 2001 Doctoral Study Submitted in Partial Fulfillment of the Requirements for the Degree of Doctor of Information Technology Walden University March 2020 Dedication I dedicate this study to my family. Thanks to my parents, my brother, and most of all, my husband, Eddie. There is absolutely no way in the world that I could have completed this program without your continued support and, most of all, your prayers. Thank you all for cheering me on as my lifelong dream has manifested into a reality. It is never too late to make your dreams come true. I know that I have been unavailable on many occasions while I worked on my research study; in the end, it paid off. You all have been very supportive and understanding, and I am forever grateful. As the first in the family to achieve a doctoral-level degree, I hope to have made everyone proud. To my nephews Justin and Jordan, my niece Robyn, and my cousins Tyrie and Tyler, you are the next generation of leaders. Remember, education is the key to unlocking the world. To achieve your dreams, remember your ABCs. Finally, I dedicate this study to the memory of my grandmother, who would have been incredibly proud of this accomplishment. I miss you a lot. You will always be in my heart. Acknowledgments First and foremost, I want to give honor to my Heavenly Father Jesus Christ, for making all of this possible. I encouraged myself daily by meditating on scriptures, Philippians 4:13, Jeremiah 31:17, and Galatians 6:9. I am blessed and fortunate to have furthered and completed my doctoral-level studies at Walden University. The education that I received from Walden has added value to my life, as well as enhanced my corporate skills. Second, I would like to thank my committee chair, Dr. Steven Case, for his mentorship, support, and guidance during my doctoral journey. The difficulty level would have been extremely high without his guidance and encouragement. Especially during the times when I was tired and wanted to throw in the towel. Third, I would also like to thank my second committee member, Dr. Gail Miles, for her valuable comments and feedback on making my study complete. Next, I also would like to thank all the staff, administrators, and instructors who encouraged me along the way. I even would like to extend special thanks to all of the participants in my study who so kindly shared information and their time with me. Finally, to my employer, you helped me make this possible in more ways than you could ever imagine. Table of Contents List of Tables................................................................................................................... v List of Figures ................................................................................................................ vi Section 1: Foundation of the Study .................................................................................. 1 Background of the Problem........................................................................................ 1 Problem Statement ..................................................................................................... 3 Purpose Statement ..................................................................................................... 3 Nature of the Study .................................................................................................... 4 Research Question ..................................................................................................... 5 Interview Questions .............................................................................................6 Conceptual Framework .............................................................................................. 7 Definition of Terms ................................................................................................... 8 Assumptions, Limitations, and Delimitations ........................................................... 10 Assumptions ...................................................................................................... 10 Limitations ......................................................................................................... 11 Delimitations ..................................................................................................... 12 Significance of the Study ......................................................................................... 12 Contribution to Information Technology Practice ............................................... 12 Implications for Social Change .......................................................................... 13 A Review of the Professional and Academic Literature ............................................ 14 Literature Review Strategy....................................................................................... 16 Lehman’s Laws of Software Evolution ............................................................... 17 i Lehman’s Laws and Software Evolution ............................................................ 26 Lehman’s Laws of Software Evolution and the Linux Kernel ............................. 39 Lehman’s Laws of Software Evolution and Software Maintenance .................... 41 Complementary and Contrasting Theories .......................................................... 43 Software Testing ................................................................................................ 46 Software Testing Strategies ................................................................................ 63 The Waterfall Methodology ............................................................................... 75 The Agile Methodology ..................................................................................... 78 Comparing Agile and Waterfall Methodologies.................................................. 80 Software Testing and The Federal Government .................................................. 84 Transition and Summary .......................................................................................... 88 Section 2: The Project ...................................................................................................
Recommended publications
  • Balancing Dependability Quality Attributes Relationships for Increased Embedded Systems Dependability
    Master Thesis Software Engineering Thesis no: MSE-2009:17 September 2009 Balancing Dependability Quality Attributes Relationships for Increased Embedded Systems Dependability Saleh Al-Daajeh Supervisor: Professor Mikael Svahnberg School of Engineering Blekinge Institute of Technology Box 520 SE – 372 25 Ronneby Sweden This thesis is submitted to the School of Engineering at Blekinge Institute of Technology in partial fulfillment of the requirements for the degree of Master of Science in Software Engineering. The thesis is equivalent to 2 x 20 weeks of full time studies. Contact Information: Author: Saleh Al-Daajeh E-mail: [email protected] University advisor: Prof. Miakel Svahnberg School of Engineering Internet : www.bth.se/tek Blekinge Institute of Technology Phone : +46 457 385 000 Box 520 Fax : +46 457 271 25 SE – 372 25 Ronneby Sweden II Abstract Embedded systems are used in many critical applications of our daily life. The increased complexity of embedded systems and the tightened safety regulations posed on them and the scope of the environment in which they operate are driving the need for more dependable embedded systems. Therefore, achieving a high level of dependability to embedded systems is an ultimate goal. In order to achieve this goal we are in need of understanding the interrelationships between the different dependability quality attributes and other embedded systems’ quality attributes. This research study provides indicators of the relationship between the dependability quality attributes and other quality attributes for embedded systems by identify- ing the impact of architectural tactics as the candidate solutions to construct dependable embedded systems. III Acknowledgment I would like to express my gratitude to all those who gave me the possibility to complete this thesis.
    [Show full text]
  • Software Development Career Pathway
    Career Exploration Guide Software Development Career Pathway Information Technology Career Cluster For more information about NYC Career and Technical Education, visit: www.cte.nyc Summer 2018 Getting Started What is software? What Types of Software Can You Develop? Computers and other smart devices are made up of Software includes operating systems—like Windows, Web applications are websites that allow users to contact management system, and PeopleSoft, a hardware and software. Hardware includes all of the Apple, and Google Android—and the applications check email, share documents, and shop online, human resources information system. physical parts of a device, like the power supply, that run on them— like word processors and games. among other things. Users access them with a Mobile applications are programs that can be data storage, and microprocessors. Software contains Software applications can be run directly from a connection to the Internet through a web browser accessed directly through mobile devices like smart instructions that are stored and run by the hardware. device or through a connection to the Internet. like Firefox, Chrome, or Safari. Web browsers are phones and tablets. Many mobile applications have Other names for software are programs or applications. the platforms people use to find, retrieve, and web-based counterparts. display information online. Web browsers are applications too. Desktop applications are programs that are stored on and accessed from a computer or laptop, like Enterprise software are off-the-shelf applications What is Software Development? word processors and spreadsheets. that are customized to the needs of businesses. Popular examples include Salesforce, a customer Software development is the design and creation of Quality Testers test the application to make sure software and is usually done by a team of people.
    [Show full text]
  • A Reasoning Framework for Dependability in Software Architectures Tacksoo Im Clemson University, [email protected]
    Clemson University TigerPrints All Dissertations Dissertations 12-2010 A Reasoning Framework for Dependability in Software Architectures Tacksoo Im Clemson University, [email protected] Follow this and additional works at: https://tigerprints.clemson.edu/all_dissertations Part of the Computer Sciences Commons Recommended Citation Im, Tacksoo, "A Reasoning Framework for Dependability in Software Architectures" (2010). All Dissertations. 618. https://tigerprints.clemson.edu/all_dissertations/618 This Dissertation is brought to you for free and open access by the Dissertations at TigerPrints. It has been accepted for inclusion in All Dissertations by an authorized administrator of TigerPrints. For more information, please contact [email protected]. A Reasoning Framework for Dependability in Software Architectures A Dissertation Presented to the Graduate School of Clemson University In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy Computer Science by Tacksoo Im August 2010 Accepted by: Dr. John D. McGregor, Committee Chair Dr. Harold C. Grossman Dr. Jason O. Hallstrom Dr. Pradip K. Srimani Abstract The degree to which a software system possesses specified levels of software quality at- tributes, such as performance and modifiability, often have more influence on the success and failure of those systems than the functional requirements. One method of improving the level of a software quality that a product possesses is to reason about the structure of the software architecture in terms of how well the structure supports the quality. This is accomplished by reasoning through software quality attribute scenarios while designing the software architecture of the system. As society relies more heavily on software systems, the dependability of those systems be- comes critical.
    [Show full text]
  • Object Oriented Programming
    No. 52 March-A pril'1990 $3.95 T H E M TEe H CAL J 0 URN A L COPIA Object Oriented Programming First it was BASIC, then it was structures, now it's objects. C++ afi<;ionados feel, of course, that objects are so powerful, so encompassing that anything could be so defined. I hope they're not placing bets, because if they are, money's no object. C++ 2.0 page 8 An objective view of the newest C++. Training A Neural Network Now that you have a neural network what do you do with it? Part two of a fascinating series. Debugging C page 21 Pointers Using MEM Keep C fro111 (C)rashing your system. An AT Keyboard Interface Use an AT keyboard with your latest project. And More ... Understanding Logic Families EPROM Programming Speeding Up Your AT Keyboard ((CHAOS MADE TO ORDER~ Explore the Magnificent and Infinite World of Fractals with FRAC LS™ AN ELECTRONIC KALEIDOSCOPE OF NATURES GEOMETRYTM With FracTools, you can modify and play with any of the included images, or easily create new ones by marking a region in an existing image or entering the coordinates directly. Filter out areas of the display, change colors in any area, and animate the fractal to create gorgeous and mesmerizing images. Special effects include Strobe, Kaleidoscope, Stained Glass, Horizontal, Vertical and Diagonal Panning, and Mouse Movies. The most spectacular application is the creation of self-running Slide Shows. Include any PCX file from any of the popular "paint" programs. FracTools also includes a Slide Show Programming Language, to bring a higher degree of control to your shows.
    [Show full text]
  • Effectiveness of Software Testing Techniques in Enterprise: a Case Study
    MYKOLAS ROMERIS UNIVERSITY BUSINESS AND MEDIA SCHOOL BRIGITA JAZUKEVIČIŪTĖ (Business Informatics) EFFECTIVENESS OF SOFTWARE TESTING TECHNIQUES IN ENTERPRISE: A CASE STUDY Master Thesis Supervisor – Assoc. Prof. Andrej Vlasenko Vilnius, 2016 CONTENTS INTRODUCTION .................................................................................................................................. 7 1. THE RELATIONSHIP BETWEEN SOFTWARE TESTING AND SOFTWARE QUALITY ASSURANCE ........................................................................................................................................ 11 1.1. Introduction to Software Quality Assurance ......................................................................... 11 1.2. The overview of Software testing fundamentals: Concepts, History, Main principles ......... 20 2. AN OVERVIEW OF SOFTWARE TESTING TECHNIQUES AND THEIR USE IN ENTERPRISES ...................................................................................................................................... 26 2.1. Testing techniques as code analysis ....................................................................................... 26 2.1.1. Static testing ...................................................................................................................... 26 2.1.2. Dynamic testing ................................................................................................................. 28 2.2. Test design based Techniques ...............................................................................................
    [Show full text]
  • Microprocessor
    MICROPROCESSOR www.MPRonline.com THE REPORTINSIDER’S GUIDE TO MICROPROCESSOR HARDWARE EEMBC’S MULTIBENCH ARRIVES CPU Benchmarks: Not Just For ‘Benchmarketing’ Any More By Tom R. Halfhill {7/28/08-01} Imagine a world without measurements or statistical comparisons. Baseball fans wouldn’t fail to notice that a .300 hitter is better than a .100 hitter. But would they welcome a trade that sends the .300 hitter to Cleveland for three .100 hitters? System designers and software developers face similar quandaries when making trade-offs EEMBC’s role has evolved over the years, and Multi- with multicore processors. Even if a dual-core processor Bench is another step. Originally, EEMBC was conceived as an appears to be better than a single-core processor, how much independent entity that would create benchmark suites and better is it? Twice as good? Would a quad-core processor be certify the scores for accuracy, allowing vendors and customers four times better? Are more cores worth the additional cost, to make valid comparisons among embedded microproces- design complexity, power consumption, and programming sors. (See MPR 5/1/00-02, “EEMBC Releases First Bench- difficulty? marks.”) EEMBC still serves that role. But, as it turns out, most The Embedded Microprocessor Benchmark Consor- EEMBC members don’t openly publish their scores. Instead, tium (EEMBC) wants to help answer those questions. they disclose scores to prospective customers under an NDA or EEMBC’s MultiBench 1.0 is a new benchmark suite for use the benchmarks for internal testing and analysis. measuring the throughput of multiprocessor systems, Partly for this reason, MPR rarely cites EEMBC scores including those built with multicore processors.
    [Show full text]
  • Software Company Edition
    Data Sheet Software Company Edition NetSuite Software Company Edition offers the industry’s first and only: NetSuite—The One Integrated Application To Manage Your Software Business • Integrated revenue recognition and advanced billing With NetSuite, your software company can manage its entire front-office and back-office • Role-based, customizable dashboards operations with a single, flexible, powerful business application — integrating customer relation- • Integrated CRM, Accounting/ERP, ecommerce ship management, customer service, financials, inventory management, ecommerce, and more. NetSuite Software Company Edition Hundreds of software companies run their business on NetSuite — and we do too. Here’s why features include: NetSuite is the best application for software companies. • Customer Relationship Management - Sales Force Automation Advanced Financials with Revenue Management and Revenue Recognition - Marketing Automation Financials are complex in any industry, and they are arguably the most complex in the software - Customer Support and Service industry. The stumbling block for most software companies is managing revenue recognition - Incentive Management* - Offline Sales Client* and billing schedules—and ensuring compliance. Few financial packages provide these tools, - Issue Management* forcing companies to manage these complexities offline in spreadsheets or in third party stand- - Partner Relationship Management alone packages. With NetSuite you have one financial system that manages accounting, complex billing and revenue recognition—so there’s no more double entry. • Accounting/ERP - Revenue Recognition NetSuite supports AICPA, FASB and SEC regulations (including SOP 81-1, SAB 101, and EITF - Advanced Billing 00-21). NetSuite also accommodates the requirements specified in SOP 97-2 & 98-9 relating - General Ledger to Vendor Specific Objective Evidence or VSOE, including the accommodation of the Residual - Accounts Receivable, Accounts Payable Method and a separate VSOE price for every item.
    [Show full text]
  • Studying the Feasibility and Importance of Software Testing: an Analysis
    Dr. S.S.Riaz Ahamed / Internatinal Journal of Engineering Science and Technology Vol.1(3), 2009, 119-128 STUDYING THE FEASIBILITY AND IMPORTANCE OF SOFTWARE TESTING: AN ANALYSIS Dr.S.S.Riaz Ahamed Principal, Sathak Institute of Technology, Ramanathapuram,India. Email:[email protected], [email protected] ABSTRACT Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding. Software testing is the process of testing the functionality and correctness of software by running it. Software testing is usually performed for one of two reasons: defect detection, and reliability estimation. The problem of applying software testing to defect detection is that software can only suggest the presence of flaws, not their absence (unless the testing is exhaustive). The problem of applying software testing to reliability estimation is that the input distribution used for selecting test cases may be flawed. The key to software testing is trying to find the modes of failure - something that requires exhaustively testing the code on all possible inputs. Software Testing, depending on the testing method employed, can be implemented at any time in the development process. Keywords: verification and validation (V & V) 1 INTRODUCTION Testing is a set of activities that could be planned ahead and conducted systematically. The main objective of testing is to find an error by executing a program. The objective of testing is to check whether the designed software meets the customer specification. The Testing should fulfill the following criteria: ¾ Test should begin at the module level and work “outward” toward the integration of the entire computer based system.
    [Show full text]
  • Chapter 1 Introduction to Computers, Programs, and Java
    Chapter 1 Introduction to Computers, Programs, and Java 1.1 Introduction • The central theme of this book is to learn how to solve problems by writing a program . • This book teaches you how to create programs by using the Java programming languages . • Java is the Internet program language • Why Java? The answer is that Java enables user to deploy applications on the Internet for servers , desktop computers , and small hand-held devices . 1.2 What is a Computer? • A computer is an electronic device that stores and processes data. • A computer includes both hardware and software. o Hardware is the physical aspect of the computer that can be seen. o Software is the invisible instructions that control the hardware and make it work. • Computer programming consists of writing instructions for computers to perform. • A computer consists of the following hardware components o CPU (Central Processing Unit) o Memory (Main memory) o Storage Devices (hard disk, floppy disk, CDs) o Input/Output devices (monitor, printer, keyboard, mouse) o Communication devices (Modem, NIC (Network Interface Card)). Bus Storage Communication Input Output Memory CPU Devices Devices Devices Devices e.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor, and Tape and NIC Mouse Printer FIGURE 1.1 A computer consists of a CPU, memory, Hard disk, floppy disk, monitor, printer, and communication devices. CMPS161 Class Notes (Chap 01) Page 1 / 15 Kuo-pao Yang 1.2.1 Central Processing Unit (CPU) • The central processing unit (CPU) is the brain of a computer. • It retrieves instructions from memory and executes them.
    [Show full text]
  • FUNDAMENTALS of COMPUTING (2019-20) COURSE CODE: 5023 502800CH (Grade 7 for ½ High School Credit) 502900CH (Grade 8 for ½ High School Credit)
    EXPLORING COMPUTER SCIENCE NEW NAME: FUNDAMENTALS OF COMPUTING (2019-20) COURSE CODE: 5023 502800CH (grade 7 for ½ high school credit) 502900CH (grade 8 for ½ high school credit) COURSE DESCRIPTION: Fundamentals of Computing is designed to introduce students to the field of computer science through an exploration of engaging and accessible topics. Through creativity and innovation, students will use critical thinking and problem solving skills to implement projects that are relevant to students’ lives. They will create a variety of computing artifacts while collaborating in teams. Students will gain a fundamental understanding of the history and operation of computers, programming, and web design. Students will also be introduced to computing careers and will examine societal and ethical issues of computing. OBJECTIVE: Given the necessary equipment, software, supplies, and facilities, the student will be able to successfully complete the following core standards for courses that grant one unit of credit. RECOMMENDED GRADE LEVELS: 9-12 (Preference 9-10) COURSE CREDIT: 1 unit (120 hours) COMPUTER REQUIREMENTS: One computer per student with Internet access RESOURCES: See attached Resource List A. SAFETY Effective professionals know the academic subject matter, including safety as required for proficiency within their area. They will use this knowledge as needed in their role. The following accountability criteria are considered essential for students in any program of study. 1. Review school safety policies and procedures. 2. Review classroom safety rules and procedures. 3. Review safety procedures for using equipment in the classroom. 4. Identify major causes of work-related accidents in office environments. 5. Demonstrate safety skills in an office/work environment.
    [Show full text]
  • Load Testing, Benchmarking, and Application Performance Management for the Web
    Published in the 2002 Computer Measurement Group (CMG) Conference, Reno, NV, Dec. 2002. LOAD TESTING, BENCHMARKING, AND APPLICATION PERFORMANCE MANAGEMENT FOR THE WEB Daniel A. Menascé Department of Computer Science and E-center of E-Business George Mason University Fairfax, VA 22030-4444 [email protected] Web-based applications are becoming mission-critical for many organizations and their performance has to be closely watched. This paper discusses three important activities in this context: load testing, benchmarking, and application performance management. Best practices for each of these activities are identified. The paper also explains how basic performance results can be used to increase the efficiency of load testing procedures. infrastructure depends on the traffic it expects to see 1. Introduction at its site. One needs to spend enough but no more than is required in the IT infrastructure. Besides, Web-based applications are becoming mission- resources need to be spent where they will generate critical to most private and governmental the most benefit. For example, one should not organizations. The ever-increasing number of upgrade the Web servers if most of the delay is in computers connected to the Internet and the fast the database server. So, in order to maximize the growing number of Web-enabled wireless devices ROI, one needs to know when and how to upgrade create incentives for companies to invest in Web- the IT infrastructure. In other words, not spending at based infrastructures and the associated personnel the right time and spending at the wrong place will to maintain them. By establishing a Web presence, a reduce the cost-benefit of the investment.
    [Show full text]
  • Security Testing
    ISSN 1866-5705 www.testingexperience.com free digital version print version 8,00 € printed in Germany 6 The Magazine for Professional Testers The MagazineforProfessional Security Testing © iStockphoto/alexandru_lamba June, 2009 © iStockphoto/Manu1174 ISTQB® Certified Tester Foundation Level for only 499,- € plus VAT ONLINE TRAINING English & German www.testingexperience.learntesting.com Certified Tester Advanced Level coming soon Editorial Dear readers, One of my professors at the university said once to all of us: Computer scientists are at some point criminals. What he meant was that we or some of us – computer scientists – at some point like to try things that are not that “legal”. The most of us are “clean”, but some of us are “free time hackers”! Nowadays the hackers are almost away from the 17 years old guy, trying to pen- etrate in some website and so on. They are now adults, with families, cars, pets, holidays and a job. They are professionals earning money for acting as such. Application Security is not only important and essential for the companies and their businesses, technology and employees. Application Security is a macroeco- nomic aspect for the countries. There are a lot of secret services or governments agencies working on getting technology or information by advance hacking the server and databases of top companies or governments worldwide. When we hear that some countries could be behind the penetration of the USA electricity net- work, you can imagine what is going on outside. Are we testers prepared for that job? I’m not! Last year we had the first tutorial by Manu Cohen about Application Security Testing.
    [Show full text]