菜单
  
    Software Testing and Software Development Lifecycles 1. Introduction The various activities which are undertaken when developing software are commonly modelled as a software development lifecycle. The software development lifecycle begins with the identification of a requirement for software and ends with the formal verification of the developed software against that requirement.32339
    The software development lifecycle does not exist by itself, it is in fact part of an overall product lifecycle. Within the product lifecycle, software will undergo maintenance to correct errors and to comply with changes to requirements. The simplest overall form is where the product is just software, but it can become much more complicated, with multiple software developments each forming part of an overall system to comprise a product.
    There are a number of different models for software development lifecycles. One thing which all models have in common, is that at some point in the lifecycle, software has to be tested. This paper outlines some of the more commonly used software development lifecycles, with particular emphasis on the testing activities in each model.
    2. Sequential Lifecycle Models
    The software development lifecycle begins with the identification of a requirement for software and ends with the formal verification of the developed software against that requirement. Traditionally, the models used for the software development lifecycle have been sequential, with the development progressing through a number of well defined phases. The sequential phases are usually represented by a V or waterfall diagram. These models are respectively called a V lifecycle model and a waterfall lifecycle model.
     
    Figure 1 V Lifecycle Model
    There are in fact many variations of V and waterfall lifecycle models, introducing different phases to the lifecycle and creating different boundaries between phases. The following set of lifecycle phases fits in with the practices of most professional software developers.
    • The Requirements phase, in which the requirements for the software are gathered and analyzed, to produce a complete and unambiguous specification of what the software is required to do.
    • The Architectural Design phase, where a software architecture for the implementation of the requirements is designed and specified, identifying the components within the software and the relationships between the components.
     
    Figure 2 Waterfall Lifecycle Model
    • The Detailed Design phase, where the detailed implementation of each component is specified.
    • The Code and Unit Test phase, in which each component of the software is coded and tested to verify that it faithfully implements the detailed design.
    • The Software Integration phase, in which progressively larger groups of tested software components are integrated and tested until the software works as a whole.
    • The System Integration phase, in which the software is integrated to the overall product and tested.
    • The Acceptance Testing phase, where tests are applied and witnessed to validate that the software faithfully implements the specified requirements. Software specifications will be products of the first three phases of this lifecycle model.The remaining four phases all involve testing the software at various levels, requiring test specifications against which the testing will be conducted as an input to each of these phases.
    3. Progressive Development Lifecycle Models
    The sequential V and waterfall lifecycle models represent an idealised model of software development. Other lifecycle models may be used for a number of reasons, such as volatility of requirements, or a need for an interim system with reduced functionality when long timescales are involved. As an example of other lifecycle models, let us look at progressive development and iterative lifecycle models.
    A common problem with software development is that software is needed quickly, but it will take a long time to fully develop. The solution is to form a compromise between timescales and functionality, providing "interim" deliveries of software, with reduced functionality, but serving as a stepping stones towards the fully functional software. It is also possible to use such a stepping stone approach as a means of reducing risk.
  1. 上一篇:学生考勤管理系统英文文献和中文翻译
  2. 下一篇:Android系统英文文献和中文翻译
  1. 汽车内燃机连杆载荷和应...

  2. 机械手系统英文文献和中文翻译

  3. 固体氧化物燃料电池英文文献和中文翻译

  4. 船舶运动仿真系统英文文献和中文翻译

  5. 新能源空调系统设计英文文献和中文翻译

  6. 正交试验回归法和响应曲...

  7. 机械设计制造及其自动化英文文献和中文翻译

  8. 上市公司股权结构对经营绩效的影响研究

  9. NFC协议物理层的软件实现+文献综述

  10. 高警觉工作人群的元情绪...

  11. 现代简约美式风格在室内家装中的运用

  12. C++最短路径算法研究和程序设计

  13. 浅析中国古代宗法制度

  14. 中国传统元素在游戏角色...

  15. 江苏省某高中学生体质现状的调查研究

  16. g-C3N4光催化剂的制备和光催化性能研究

  17. 巴金《激流三部曲》高觉新的悲剧命运

  

About

优尔论文网手机版...

主页:http://www.youerw.com

关闭返回