Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2000, International Journal of Project Management
The most critical and visible principle of TQM in the Information Systems (IS) environment is the focus on zero defects in a software development project to achieve customer satisfaction. This paper presents results from a simulation study that suggests that greater performance towards zero defects can be achieved through testing after each phase (concurrently), in the development life-cycle of a software as opposed to testing after the coding of the system has been completed. The simulation model is developed using four benchmark software development projects, and is validated using the Software Life-Cycle Management Model (SLIM), developed by Quantitative Software Management (QSM). Three performance measures are used in comparing the two testing philosophies: time required to produce the software, the eort expended and the cost. The results indicate that the two approaches do not dier signi®cantly on the ®rst two measures, however, the costs are found to be dramatically dierent. This dierence in costs leads to the conclusion that concurrent testing is superior. The cost superiority of concurrent testing can be attributed to the distribution of hours worked throughout the life-cycle, as opposed to being backloaded in the maintenance of the system when the costs are much higher than the earlier phases in development. 7
Journal of Systems Management, 1990
Computer software is a major component of an information system (IS) whose reliability is critical to the performance of an organization. The reliability of an IS has four facets people, hardware, software and data. Among these four facets, the reliability of software is a joint responsibility of computer science and information system professionals; the former handles technical software and the latter application software. Regardless of the types of software involved, the reliability of software must be achieved through a continuous effort of planning, analysis, design, programming, testing, installation and maintenance. To quote an old sage, "Quality is built in, not added on." Studies have shown that most of the system errors detected during the testing phase originate in the early analysis phase. 2 Therefore, software testing should start early in the system development process. A system development process today may come in many different forms. Depending on the structure of the intended system, a system development life cycle (SDLC) process 6 or a prototyping process 2,7,13 or a mixture of both 4 can be followed. An SDLC process typically is applied to a system with clear requirements definitions, well structured processing and reporting, and a long and stable life expectancy. On the other hand, a prototyping process is suitable for a system of ambiguous or incomplete requirements with ad hoc reporting capability, or of a transient life span with ever-changing requirements. It may be used along with an SDLC process to shorten the development time required by a project adopting the SDLC process. The scope of this article is to discuss the software testing process and test activities in a large system project following the SDLC approach. The test process and activities discussed herein is complete and rigorous. Its principles can be applied to a project of any size and using any system development approach,. be it an SDLC a prototyping, ware acquisition or a spiral development and enhancement 4 approach.
International Journal of Soft Computing
The purpose of testing can be quality assurance, verification, and validation or reliability estimation. It is a tradeoff between budget, time and quality. Software Quality is the central concern of software engineering. Testing is the single most widely used approach to ensuring software quality.
A Comprehensive Research Analysis of Software Development Life Cycle (SDLC) Agile & Waterfall Model Advantages, Disadvantages, and Application Suitability in Software Quality, 2023
Software testing is an indispensable process in the software development lifecycle, aimed at ensuring the delivery of reliable and high-quality software products. This article provides an in-depth exploration of the principles and techniques that govern software testing, delving into their advantages and disadvantages. By examining these key aspects, software developers, testers, and project stakeholders can gain valuable insights into the efficacy of testing practices and make informed decisions to improve the overall quality of their software. The article begins by outlining the fundamental principles that guide effective software testing, such as the Principle of Exhaustiveness, Early Testing, Independence, Defect Clustering, and Pesticide Paradox. We highlight the importance of each principle and how they contribute to thorough testing and early detection of defects. While embracing these principles can lead to comprehensive testing, we also acknowledge the practical challenges and limitations in achieving 100% exhaustive testing. By providing a comprehensive analysis of the advantages and disadvantages of software testing principles and techniques, this article equips readers with a balanced understanding of the testing landscape. It empowers software development teams to make well-informed decisions when designing their testing strategies, balancing trade-offs, and optimizing their testing efforts to deliver top-notch software products that meet user expectations and business objectives.
2010
Software-development and testing is a complex activity that often shows signs of contradicting instinctive activities, in that outcomes can vary drastically with deliberate consequences. Software-development and testing has many complexities, including dynamic behavior and feedback mechanisms, as well as various interacting factors. System dynamics is a modeling methodology that is well suited to explaining the root causes of contradicting instinctive activities-through its focus on building a simulation model that reflects causal relationships, feedback and delays. The production of a high quality software product requires application of both defect prevention and defect detection techniques. A common defect detection strategy is to subject the product to several phases of testing such as unit, integration, and system. These testing phases consume significant project resources and cycle time. As software companies continue to search for ways for reducing cycle time and development costs while increasing quality, software testing processes emerge as a prime target for investigation. This paper presents a system dynamics model of software development, better understanding testing processes. Motivation for modeling testing processes is presented along with a an executable model of the unit test phase. It motivates the importance of software cycle time reduction. The objective of the research is to provide decision makers with a model that will enable the prediction of the impact a set of process improvements will have on their software development cycle time.
36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the, 2003
Testing can be difficult to integrate into software development. Approaches to software testing in relation to implementing software are based on the V-model of testing. The software process behind the V-model is the traditional waterfall model, and as such the traditional testing approaches cannot take iterative, incremental and agile approaches to developing software into account well enough.
2015
Abstract: Software testing provides a means to minimize errors, cut maintenance and decrease overall software costs. Different software development and testing methodologies, tools, and techniques have emerged to enhance software quality. At each and every phase of software development life cycle testing is performed with different tools and techniques. One of the major problems within software testing area is how to get a suitable set of cases to test a software system. The software should assure maximum effectiveness with the least possible number of test cases. At present there are many testing techniques available for generating test cases.
International Journal of Engineering in Computer Science, 2019
Software testing course is one of the main and significant phenomenon of software development, whereas systematically testing the program is not the core concept of software engineering education. As a conclusion most of the software developers consider testing as liability, in addition to this one of the main reason that standard testing method seems to be boring and students do not show more interest to this field. This research offers the impact of software testing on quality of software systems which is a challenging demand for IT industries and software houses. This paper focuses more on finding long term benefits of software systems with respect to different factors such as economic, social and personal dimensions, collaborative ability in developing and testing of engineering applications, practical approach of real-life application and software testing supplementing with new concepts, understand the testing and programming ability of students in the context of software testing and comparative study on tailor-made training program and generalized training program on software testing course for the development of software systems with high quality. Keywords: software testing, phenomenon of software development, IT industries and software houses
2011
According to James Whittake, Microsoft Testing Expert and Author, "There are a number of trends that testers are going to have to grapple with. The first is that software is getting better. The result of this is that bugs are going to become harder and harder to find and the weaker testers will be relegated to Darwinian insignificance. Keeping sharp, building skills and maintaining a cutting edge testing knowledge has never been more important". The key drive for software testing is capturing defects. Testing is becoming a lot more complex. Most software products are not tested thoroughly, so both users and the organizations that write the software expect them to have bugs. There is more and more realization that testing becomes a bottleneck without upfront planning and projects need consider that in software development reducing defects is substantially important. When a project is low on funding or over budget, the first important task that is cut is 'Testing'. But limiting testing of a solution will increase the chance of system failure or unknown bugs that can cripple your business. This paper focuses on the approaches that can be considered to reduce the number of defects captured in testing or later phase of testing.
A critical problem in many software development projects is missing some important requirements until late in the development life cycle. The impact of a missing or misunderstood requirement can add to the project cost and delay product launch due to rework both of the application code, documentation updates, and addition test passes. Building a thorough test plan very early in the product development cycle has the potential for early discovery of missing requirements with attendant reduction in project costs and schedule improvement. In this paper we discuss some of the causative factors of how and why requirements can be missed in software development projects and show how the early formulation of a test plan can directly address these factors. Key to the success of this approach is the understanding that mature tests often go beyond the documented requirements for applications and into exploring the boundaries of the application domain where missing requirements can often be unco...
2013 10th International Conference on Information Technology: New Generations, 2013
Software free from defects is a goal to be ideally achieved. Defects in software do arise from the development process. A possible solution for quality improvement is to apply a reference framework for software testing during all development phases. What is needed is a software testing process performed along with its development, in an orderly and simple way, even if the software development have been conducted in an organization without maturity certification. This investigation proposes to validate the hypothesis: software product quality is dependent on the software testing. In order to verify and validate the proposed hypothesis, it was applied to a case study, in which the statistical technique for Pearson's Chi-Square was used to determine whether there is a significant relationship among the categorical variables based on software testing results. This case study was derived from an actual project at the Brazilian Aeronautics Institute of Technology and its preliminary results are promising.
2012
The demand for testing services is, to a large extend a "derived demand" influenced directly by the manner in which prior developed activities are undertaken. The early stages of a structured software development life cycle (SDLC) project can often run behind schedule, shrinking the time available for performing adequate testing especially when software release deadlines have to be met. This situation fosters the need to influence pre-testing activities and manage the testing effort efficiently. Our research examines how to measure testability of a SDLC project before testing begins. It builds on the "design for testability" perspective by introducing a "manage for testability" perspective. Software testability focuses on whether the activities of the SDLC process are progressing in ways that enable the testing team to find software product defects if they exist. To address this challenge, we develop a software testing assessment. This assessment is designed to provide testing managers with information needed to: (1) influence pre-testing activities in ways that ultimately increase testing efficiency and effectiveness, and (2) plan testing resources to optimize efficient and effective testing. We developed specific software testing assessment measures through interviews with key informants. We present data collected for the measures for large-scale structured software development projects to illustrate the assessment's usefulness and application.
2013
trends that testers are going to have to grapple with. The first is that software is getting better. The result of this is that bugs are going to become harder and harder to find and the weaker testers will be relegated to Darwinian insignificance. Keeping sharp, building skills and maintaining a cutting edge testing knowledge has never been more important”. The key drive for software testing is capturing defects. Testing is becoming a lot more complex. Most software products are not tested thoroughly, so both users and the organizations that write the software expect them to have bugs. There is more and more realization that testing becomes a bottleneck without upfront planning and projects need consider that in software development reducing defects is substantially important. When a project is low on funding or over budget, the first important task that is cut is ‘Testing’. But limiting testing of a solution will increase the chance of system failure or unknown bugs that can cripp...
Software testing and measurement are not separate engineering process facets – they interconnect within the lifecycle of a system development. The testing lifecycle process is not just a process of debugging or identifying defects within a program. The same can be said of change management, which is one of the fundamental processes of a management dichotomy of a project. This is due to the fact that change management provides the means for developers and project managers to document the change requests for each development artefacts, within a software development lifecycle. However, it is imperative that one is comfortable and well adept with the testing lifecycle, which in its entirety cannot slow the absence of defects: it can only show that software defects are present.
2007
Software testing needs to be measured in similar terms as overall software development process (SDP) in order to understand its true progress and make informed decisions. Basic considerations of Software Testing Metrics Framework (STMF) and some commonly used testing metrics and where in testing process they apply are described in this, Part 1 article. Typically, software development is measured in terms of overall progress in meeting functional and business goals. By considering testing dimensions other than cost and schedule, managers and other team members can better understand and optimize the testing process, in effect opening the black box and managing testing more effectively were described in Part 2 article. Key-Words:software testing, testing metrics, size estimation, effort estimation, test effectiveness evaluation.
Proceedings of the 38th Annual Hawaii International Conference on System Sciences, 2005
Learning through experience shows improvement in productivity. Many models and approaches related to learning or experience curve have been established and successfully applied to the traditional industries. This paper investigates the learning process and extends the idea of improvement through learning to software test processes. A novel quantitative learning model for software life cycle is proposed and compared with the existing learning models. An existing formal software test process model is modified to include effects of learning based on the developed learning model. Finally, the extended quantitative software test process model is applied to several industrial software test projects to validate the improved prediction capabilities of the model. Original STP Model over which the current improvement has been applied.
International Journal of Computer Applications, 2014
It is infeasible to develop quality software without software testing. Software testing typically consumes 40-50% of development efforts, even more efforts for systems that require higher levels of reliability. It is a significant part of the software development process. If a software defect is found in latter stages of development process it costs more than if it is found in earlier stages of development. Thus the earlier we introduce testing, the less the defects found, which in turn reduces the development time and cost. Risk minimization is another approach for efficient software development. Traditionally risk management and test management are addressed separately, but if the two approaches were integrated it would further reduce time and cost of software development. There are a number of testing approaches and models for software development but no testing process model addresses defect prevention and risk minimization simultaneously. In this paper we propose a methodical or formal approach of software testing that introduces testing from the very beginning of software development life cycle as well as integrates risk management with test management. The proposed model has been evaluated in a number of software and it outperforms the existing models.
2021
Testing is a task, which is performed to check the quality of the software and also this process is done for the improvement in software at the same time. Software testing is just testing software for the purpose of checking whether the behavior of the software is correctly working or not according to the user expectations. For knowing the full details of any software development there is a concept of software development life cycle (SDLC) which describes all the stages of the software development. There are various phases i.e., Analysis (ideation), Requirements (Documentation), Design, Development (implementation), Testing, Deployment (release), maintenance which is used to actual development of software according to the users requirement. The main goal of the software development life cycle is to provide error free software and fulfill the user’s expectations within the time limit. Testing of any software is basically a process which is used to assist in recognizing the completene...
2005
The Software Testing Process (STP) raised many challenging issues in past decades of software development practice, several of which remain open. The System/Software under test (SUT) continually increases complexity of applied technology, software application domain model and corresponding process knowledge and experience. Today's SUT have billions of possible inputs and outputs. How does one obtain adequate test coverage with reasonable or even optimal number of test events i.e. test cases? How does one measure test effectiveness, efficacy, benefits, risks (confidence) of project success, availability of resources, budget, time allocated to STP? How does one plan, estimate, predict, control, evaluate and choose "the best" test scenario among hundreds of possible (considered, available, feasible) number of test events (test cases)? How does one judge, decide if satisfied/not satisfied program behavior, Pass/Fail result , Go/Ngo decision after test run i.e. does have Test Oracle? This paper describes the major issues that are encountered while developing framework of Integrated and Optimized Software Testing Process (IOSTP). IOSTP framework combines few engineering and scientific areas such as: Design of Experiments, Modeling & Simulation, integrated practical software measurement, Six Sigma strategy, Earned (Economic) Value Management (EVM) and Risk Management (RM) methodology through simulation-based software testing scenarios at various abstraction levels of the SUT to manage stable (predictable and controllable) software testing process at lowest risk, at an affordable price and time. In order to significantly improve software testing efficiency and effectiveness for the detection and removal of requirements and design defects in our framework of IOSTP, during 3 years of our IOSTP framework deployment to STP we calculated overall value returned on each dollar invested i.e. ROI of 100:1.
2019
Software testing is essential to build and improve programming. Software testing is the basic order of construction software. Testing is undoubtedly expensive and involves the biggest individual time. Its supreme undertakings to conquer the costs and improve the viability of decreasing software implementation and expand the hazardous aspects of the quality level. The examination explores the convergence of test schemes with the counteractive action of imperfection and the following measurements used in Software Improvement by which the execution and viability of the value product is achieved. The research study further emphasizes pre-testing and quantifiable measurements of execution by which testing efforts can be broken down and the result can anticipate software execution within the progress process. The research study provides information of interest to understand and apply test techniques as desired. It is essential to make the correct decisions to embrace test techniques that ...
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.