热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

读书报告(第1316章)

一、软件测试(一)软件测试基本概念:使用人工或自动的手段来运行或测试某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别,是帮助识别开发完成的计

一、软件测试

(一)软件测试基本概念:使用人工或自动的手段来运行或测试某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别,是帮助识别开发完成的计算机软件的正确度、完全度和质量的过程,是软件质量保证的重要子域。

(二)软件测试原则

为了更好地进行软件测试,提高测试的整体效率,降低项目的整体成本,在测试过程中要遵循以下的几点原则:



  1. 完全测试程序是不可能的,不可能找出软件的所有缺陷

  2. 软件测试是有风险的,要学会把无尽的可能减少到可以控制的范围,去粗存精

  3. 测试无法展示潜伏的软件缺陷

  4. 软件缺陷通常成群出现

  5. 软件对测试方法及技术也有免疫力

  6. 并非所有的缺陷都能修复

  7. 小组成员对于缺陷的理解不一致

  8. 产品说明书不断变化,软件变得越复杂越多功能化

  9. 软件测试员在小组中不受欢迎

(三)软件版本

Alpha版:公司内部测试的版本

Beta版:对外发布公测的版本

发布版:正式发布版本

(四)软件测试分类

        1.按软件测试特性可分为:

白盒测试:测试人员直接在软件的源程序上进行测试、修改、复测,分为语句测试、分支测试、路径测试等。

黑盒测试:主要是功能测试,从外部测试软件的各项功能及性能。

灰盒测试:介于白黑两者之间,是二者结合的测试方法。 

        2.按软件开发过程可以分为:单元测试、集成测试、系统测试、用户验收测试及回归测试。

回归测试V模型图如下:

 

 

 

        3.按软件测试要求可分为:基本功能测试、全面测试、基准测试、功能测试和非功能测试。

        4.当回归测试或者手测完成难度较大时,优先采用自动化测试,即使用工具来进行测试。这种方法优点很多,如能为日后自动化测试节省大量资源、没有时间限制、可以反复执行、具有较高的功能测试覆盖率等。当然缺点也是显而易见,使用性测试和兼容性测试不能采用自动化测试、没有创造性、受具体项目资源限制和时间人力限制等。

        5.自动化测试步骤

编写测试用例,分析验证测试用例,对已有的测试用例归类,制定测试自动化计划方案,编写自动化测试程序,尽量用“数据驱动”提高测试覆盖率,将测试用例编写成自动化测试程序,执行测试程序、记录反馈bug,不断完善自动化测试系统或程序。

(五)BUG流程管理



  1. 通用的bug管理流程

Bug登记--测试工程师,初始

指派任务--项目经理,激活

修改bug--开发工程师,修改

验证--测试工程师,通过则继续,否则状态为再激活

关闭--测试工程师

        2.bug分类

按缺陷状态分类:open,rejected,resolved,reopen,close

按缺陷严重级分类:严重,较严重,一般,轻微

按缺陷优先级分类:高,中,低

二、系统实现与测试过程

(一)简述

系统实现阶段开始的时机,一般有以下的约定:系统设计阶段的《数据库设计》、《模块设计》、《用户界面设计》已完成,且通过同行评审后才开始系统实现过程。整个实现及测试过程的活动可以分为:准备工作、产品实现、单元测试、缺陷管理与改错、系统集成及集成测试、建立产品支持文档。具体操作流程如下图

 

 

(二)编码流程



  1. 工作准备:更新项目进度表,评审该计划,确定相关规范,搭建开发环境

  2. 编码活动:开发人员根据《编程计划》、《数据库设计》、《模块设计》、《用户界面设计》、《编码规范》编写模块代码,在完成每个模块时进行必要的自查和测试,发现bug记录下来。

  3. 编码中常见问题:如何避免开发阻塞,换用更快的计算机还是开发更快的算法等

(三)测试流程



  1. 单元测试流程

根据开发进展情况,安排测试人员或系统分析人员编写《单元测试管理列表》或直接使用测试相关测试工具来编写,项目经理审批《单元测试管理表》,指定测试人员进行单元测试,

测试人员进行相应的单元测试,产生单元测试报告

        2.集成测试

当《实现与测试计划》中涉及的单元均通过单元测试,开始集成测试。针对本次集成范围、集成顺序、集成环境等制定《集成测试策略》,建立集成环境进行集成测试,记录结果。

(四)缺陷管理与改错原则



  1. 记录缺陷

  2. 及时清除缺陷

  3. 消除缺陷后进行回归测试

(五)建立产品支持文档

文档人员在开发人员的协助下编制《用户操作手册》、《系统维护手册》、《培训教材》、联机帮助、系统安装包等。

三、制定测试方案与编写测试用例

(一)测试资料收集与整理



  1. 通用信息:一般信息,技术信息

  2. 被测软件的类别及构成

  3. 被测软件的用户界面

(二)检查产品说明书



  1. 高级审查步骤:设身处地为客户着想,研究现有的标准和规范惯用语和约定等,审查和测试同类软件

  2. 产品说明书的8个属性:完整,准确,精确,一致,贴切,合理,代码无关,可测试

(三)测试方案的制定

测试方案是软件测试的总体规划,包括测试的方针、策略、系统建立等,制定时一般考虑四个因素。



  1. 软件的现状及将来可能的发展

  2. 现有的资源及将来可能获得的补充资源

  3. 风险分析

  4. 制定测试的策略,确定采用的测试方法

(四)测试计划书的编写及要素



  1. 测试计划书衡量标准

有效达到最终目的,引导整个测试软件测试工作正常运行

列举的数据准确

提供的方法使测试高效运行

提供明确的测试目标、测试策略、具体步骤等

强调测试重点,重视测试的基本覆盖率

尽可能利用现有资源

有一定的灵活性

        2.测试计划内容

测试计划书的文件名及版本号

基本情况介绍

测试的具体目标

具体执行的测试类型

测试通过的判断准则

测试用例等

(五)测试用例编写



  1. 单元测试用例编写:用例编号、被测对象,输入数据,期望输出

  2. 集成测试用例编写:用例编号、被测对象、场景,输入数据,测试操作步骤,期望输出

  3. 系统测试用例编写:包括对外的接口测试用例、系统性能测试用例等15种类型

四、系统测试

(一)系统测试简述

系统测试的目的是对最终软件系统进行全面测试,确保最终软件系统满足产品需求并且遵循系统设计的标准和规定。采用黑盒测试方法进行测试,主要内容有功能性测试、健壮性测试等。

制定测试计划和设计测试用例活动的准则是:产品需求和系统设计文档完成以后,系统测试小组可以提前开始制定测试计划和设计测试用例,提高测试效率。

(二)系统测试活动内容



  1. 系统测试内容

用户层,主要面向产品最终的使用操作者的测试

应用层,针对产品应用的测试

功能层,针对产品具体功能实现的测试

子系统层,针对产品内部结构性能的测试

协议/指标层,针对系统支持的协议、指标的测试

        2.制定系统测试计划

主要内容有:测试目标、测试范围、测试方法、测试环境与辅助工具、测试完成准则、人员与任务表。

       3.设计测试用例

       4.执行系统测试

系统测试人员依据《系统测试计划》和《系统测试用例》执行系统测试,并对测试过程中发现的缺陷进行跟踪,及时解决验证。

       5.两个结束准则

对于非严格系统可以采用“基于测试用例”的准则,对于严格系统,应当采用“基于缺陷密度”的准则。



推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 非公版RTX 3080显卡的革新与亮点
    本文深入探讨了图形显卡的进化历程,重点介绍了非公版RTX 3080显卡的技术特点和创新设计。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • Søren Kierkegaard famously stated that life can only be understood in retrospect but must be lived moving forward. This perspective delves into the intricate relationship between our lived experiences and our reflections on them. ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • C++实现经典排序算法
    本文详细介绍了七种经典的排序算法及其性能分析。每种算法的平均、最坏和最好情况的时间复杂度、辅助空间需求以及稳定性都被列出,帮助读者全面了解这些排序方法的特点。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 如何查找和管理计算机中的C盘临时文件
    本文详细介绍了如何在计算机中找到和管理C盘的临时文件,包括其具体路径、环境变量设置方法以及清理这些文件对系统性能的影响。对于希望优化系统性能和释放磁盘空间的用户来说,这是一篇非常有价值的参考。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 本文详细介绍了如何使用Spring Boot进行高效开发,涵盖了配置、实例化容器以及核心注解的使用方法。 ... [详细]
author-avatar
乱舞仙魔神啊_414
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有