Explore chapters and articles related to this topic
Intellectual Property
Published in G. K. Awari, Sarvesh V. Warjurkar, Ethics in Information Technology, 2022
G. K. Awari, Sarvesh V. Warjurkar
Software testing is the method of evaluating the functionality of a software program with the goal of determining whether the designed software meets the required specifications and identifying bugs in order to deliver a better product. Subroutines or programs are the building blocks of software. Large structures are formed by combining these units. In a procedure known as dynamic testing, the code for a finished unit of software is tested by directly entering test data and matching the results with the predicted results.
Overview
Published in William E. Lewis, David Dobbs, Gunasekaran Veerapillai, Software Testing and Continuous Quality Improvement, 2017
William E. Lewis, David Dobbs, Gunasekaran Veerapillai
As defined in Section 1, “Software Quality in Perspective,” the three major components of quality assurance are software testing, quality control, and software configuration management. The purpose of software testing is to verify and validate the activities to ensure that the software design, code, and documentation meet all the requirements imposed on them. Software testing focuses on test planning, test design, test development, and test execution. Quality control is the process and methods used to monitor work and observe whether requirements are met. It focuses on structured walkthroughs and inspections to remove defects introduced during the software development life cycle.
Test and Evaluation of Distributed Data and Information Fusion Systems and Processes
Published in David L. Hall, Chee-Yee Chong, James Llinas, Martin Liggins, Distributed Data Fusion for Network-Centric Operations, 2013
James Llinas, Christopher Bowman, Kedar Sambhoos
We are discussing here automated DDIFSs, where the core technical and functional capabilities are enabled in software, so another core issue in thinking about DDIFS T&E is the domain of software testing. By and large, software testing is the process of executing a program or system with the intent of finding errors. Software is not unlike other physical or functional processes where inputs are received and outputs are produced, but where software differs is in the manner in which software processes fail. Most physical systems fail in a fixed and bounded set of ways. By contrast, software, ironically because of a wide variety of interdependencies (analogous to DDIFSs in the large), can fail in many bizarre ways. Detecting all of the different failure modes for software is generally infeasible because the complexity of software is generally intractable. Unlike most physical systems, most of the defects in software are design errors, and once the software is shipped, the design defects—or bugs—will be buried in and remain latent until activation.
Quantum algorithm for solving the test suite minimization problem
Published in Cogent Engineering, 2021
Hager Hussein, Ahmed Younes, Walid Abdelmoez
This paper proposes a solution to the test-suite minimization problem. It is crucial to software testing because it helps developers to improve the software quality by finding the minimum test that covers all the requirements. Test sizes increase with software modifications over time in the maintenance phase; thus, the proposed algorithm is significant to find the minimum number of tests through this periodic test size growth. The proposed algorithm saves software testing resources such as time and money by finding the minimum sized solution with high probability.
An initial investigation of the effect of quality factors on Agile test case quality through experts’ review
Published in Cogent Engineering, 2022
Samera Obaid Barraood, Haslina Mohd, Fauziah Baharom
Software testing is a quality assurance activity and an important component of any project (Nawaz & Malik, 2008). In an Agile context, a testing process has more value for demonstrating quality products (Harichandan et al., 2014). Brian Marick provides a philosophy of Agile testing as “a style of testing, one with lessened reliance on documentation, increased acceptance of change, and the notion that a project is an ongoing conversation about quality” (Leffingwell, 2010). However, continuous changes adopted in Agile methods require much effort on testing activities (Beck, 2003; Gay et al., 2016; Humble & Farley, 2010). The efficiency of testing activities depends mainly on the test case quality (TCQ), which directly defines the quality of testing (Causevic, Punnekkat et al., 2012; Kumar & Ranjan, 2017; Lai, 2017). A good-quality test case is a test case that has high chances to expose defects in a minimum effort, produce more accurate results, increase the performance of the system at a lower cost, and has a high probability of discovering unknown defects (i.e. the higher the quality of a test case, the more the capacity to reveal failures; Gómez et al., 2016; Kamde et al., 2006; Mohi-aldeen et al., 2014; Pressman, 2010; Yadav & Yadav, 2015). However, some issues, such as those detailed in Barraood et al. (2021c), are capable of causing reductions in the quality of test cases. Some of these issues are unspecified test target or expected results (Jovanovikj et al., 2018), incomplete, incorrect, and inconsistent software requirements (Kārkliņa & Pirta, 2018), and traceability between test cases and related requirements are weak (Fischbach et al., 2020). Therefore, it is essential to evaluate and measure the quality of test cases, to understand how much testing is needed and where future test efforts should be applied (Ahmed et al., 2016).
Data change analysis based on function call path
Published in International Journal of Computers and Applications, 2018
Cao Yong, Mu Yongmin, Shen Meie
Software testing is the final review of software requirement analysis, design specification and coding before the software put into operation, which is an important part of software quality control and cost reduction. One of the purposes of software testing is to find the measured defects or errors may exist in the software. There are countless examples of serious consequences of testing neglect. Typical examples like software defects lead to Ariane 5 launch failure which is due to the reuse of code have not been fully caused by the regression test.