软件工程-软件测试和系统运维

?????

一、软件测试概念和目标

概念:为了发现错误而执行程序的过程

目标(《软件测试的艺术》)

是为了发现错误而执行程序的过程

好的测试方案能够发现迄今为止尚未发现的错误

成功的测试将发现至今尚未发现的错误

二、软件测试原则

  1. 应尽早并不断地进行测试

  2. 程序员避免测试自己设计的程序:测试工作应避免由原开发软件的人或小组来承担(单元测试除外)

  3. 不仅要包括合理、有效的输入条件,也要包括不合理、失效的输入条件

  4. 不仅要确定输入数据,而且要从系统的功能出发确定输出的结果

  5. 不仅要检测程序是否做了该做的事,还要检测是否做了不该做的事

  6. 修改后应进行回归测试

  7. 尚未发现的错误数量与该程序已发现的错误数成正比。

  8. 充分重视测试中的群集现象

  9. 所有的测试都应追溯到用户需求

  10. 穷举测试是不可能的

  11. 严格按照测试计划来进行,避免随意性

  12. 妥善保存测试计划、测试用例、作为软件

三、基本测试活动

  1. 拟定测试计划,制定系统测试计划

    在拟定测试计划时,要充分考虑整个项目的开发时间和开发进度以及一些人为因素和客观条件等,使得测试计划是可行的。测试计划的内容主要有:测试的内容、进度安排、测试所需的环境和条件(包括设备、被测项目、人员等)、测试培训安排等。

  2. 编制测试大纲

    测试大纲是测试的依据。其明确详尽地规定了在测试中针对系统的每一项功能或特性所必须完成的基本测试项目和测试完成的标准。

  3. 设计和生成测试用例

    根据测试大纲,设计和生成测试用例。在设计测试用例时,可综合利用前面介绍的测试用例设计技术,产生测试设计说明文档,其内容主要有:被测项目、输入数据、测试过程、预期输出结果等等。

  4. 执行系统测试,实施测试

    测试的实施阶段是由一系列的测试周期组成的。在每个测试周期中,测试人员和开发人员将依据预先编制好的测试大纲和准备好的测试用例,对被测软件或设备进行完整的测试。

  5. 缺陷管理与改错,生成测试报告

    测试完成后要形成相应的测试报告,主要对测试进行概要说明,列出测试的结论,指出缺陷和错误。

四、测试阶段和分类

软件工程-软件测试和系统运维

淘汰策略:遗留系统的技术含量较低,且具有较低的业务价值。对遗留系统的完全淘汰是企业资源的根本浪费,系统分析师应该善于“变废为宝”,通过对遗留系统功能的理解和借鉴,可以帮助新系统的设计,降低新系统开发的风险。

继承策略:遗留系统的技术含量较低,已经满足企业运作的功能或性能要求,但具有较高的商业价值,目前企业的业务尚紧密依赖该系统。对这种遗留系统的演化策略为继承。在开发新系统时,需要完全兼容遗留系统的功能模型和数据模型。为了保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。

改造策略:遗留系统具有较高的业务价值,基本上能够满足企业业务运作和决策支持的需要。这种系统可能建成的时间还很短,对这种遗留系统的演化策略为改造。改造包括系统功能的增强和数据模型的改造两个方面。系统功能的增强是指在原有系统的基础上增加新的应用要求,对遗留系统本身不做改变;数据模型的改造是指将遗留系统的旧的数据模型向新的数据模型的转化。

集成策略:遗留系统的技术含量较高,但其业务价值较低,可能只完成某个部门(或子公司)的业务管理。这种系统在各自的局部领域里工作良好,但对于整个企业来说,存在多个这样的系统,不同的系统基于不同的平台、不同的数据模型,形成了一个个信息孤岛,对这种遗留系统的演化策略为集成。

  1. 系统转换计划-新旧系统转换策略
    软件工程-软件测试和系统运维
    移植工作大体上分为计划阶段、准备阶段、转换阶段、测试阶段、验证阶段。
    1、计划阶段,在计划阶段,要进行现有系统的调查整理,从移植技术、系统内容(是否进行系统提炼等)、系统运行三个方面,探讨如何转换成新系统,决定移植方法,确立移植工作体制及移植日程。
    2、准备阶段,在准备阶段要进行移植方面的研究,准备转换所需的资料。该阶段的作业质量将对以后的生产效率产生很大的影响。
    3、转换阶段,这一阶段是将程序设计和数据转换成新机器能根据需要工作的阶段。提高转换工作的精度,减轻下一阶段的测试负担是提高移植工作效率的基本内容。
    4、测试阶段,这一阶段是进行程序单元、工作单元测试的阶段。在本阶段要核实程序能否在新系统中准确地工作。所以,当有不能准确工作的程序时,就要回到转换阶段重新工作。
    5、验证阶段,这是测试完的程序使新系统工作,最后核实系统,准备正式运行的阶段。

    八、系统维护 ?

    1. 概念

      软件维护是生命周期的一个完整部分。可以将软件维护定义为需要提供软件支持的全部活动,这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前完成的活动包括交付后运行的计划和维护计划等;交付后的活动包括软件修改、培训、帮助资料等。

    2. 分类

      正确性维护:指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。

      适应性维护:指使应用软件适应信息技术变化和管理需求变化而进行的修改。企业的外部市场环境和管理需求的不断变化也使得各级管理人员不断提出新的信息需求。

      完善性维护:扩充功能和改善性能而进行的修改。对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。

      预防性维护:为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使用系统适应各类变化而不被淘汰。如将专用报表功能改成通用报表生成功能,以适应将来报表格式的变化。

    九、软件开发环境与工具 ?

    软件工程-软件测试和系统运维 狂热JAVA小毕超 软件工程-软件测试和系统运维 微信公众号 软件工程-软件测试和系统运维 专注于JAVA、微服务、中间件等技术分享

    来源:小毕超

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年5月4日
下一篇 2021年5月4日

相关推荐