首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基础决定上层建筑

软件测试

测试概念

经典定义:是在规定条件下对程序进行操作,以发现错误,对软件质量进行评估。

软件测试的类型

按开发阶段划分:单元测试、集成测试、系统测试、确认测试、验收测试

按测试技术划分:白盒测试、黑盒测试、灰盒测试

按实施组织划分:开发方测试、用户测试、第三方测试

单元测试

又称模块测试,是针对软件设计的最小单位——程序模块,进行正确性检验的测试工作。

目的在于发现各模块内部可能存在的各种差错。

需要从程序的内部结构出发设计测试用例;多个模块可以平行地独立进行单元测试

测试内容:模块接口测试;局部数据结构测试;路径测试;错误处理测试;边界测试

集成测试

又称组装测试或联合测试;在单元测试的基础上,需要将所有模块按照概要设计说明书和详细设计说明书的要求进行组装。

组装时需要考虑的问题:

在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失

一个模块的功能是否会对另一个模块的功能产生不利的影响

各个子功能组合起来,能否达到预期要求的父功能

全局数据结构是否有问题

单个模块的误差累积起来,是否会放大,以致达到不能接受的程度

系统测试

是将通过集成测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际或者模拟运行(使用)环境下,对计算机系统进行一系列测试

目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方

常见系统测试内容:恢复测试,安全性测试,压力测试,性能测试,可靠性、可用性和可维护性测试,安装测试

黑盒测试

又称功能测试:通过软件的外部表现来发现其缺陷和错误。

黑盒测试法把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程;黑盒测试是在程序界面处进行测试,它只是检查程序是否按照需求规格说明书的规定正常实现。

试图发现的错误:功能不正确或遗漏;界面错误;数据库访问错误;性能错误;初始化和终止错误等

方法:等价类划分法;判定表驱动法;边界值分析法;正交试验设计法;错误推测法;功能图法;因果图法

白盒测试

又称结构测试或逻辑驱动测试,是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定的要求正确工作。

白盒测试原则:

保证一个模块中的所有独立路径至少被使用一次

对所有逻辑值均需测试True和False

在上下边界及可操作范围内运行所有循环

检查内部数据结构以确保其有效性

方法:基本路径测试法;逻辑覆盖法;代码检查法

软件维护

维护分类(ISO/IEC 14764)

纠错性维护:更正交付后发现的错误

适应性维护:使软件产品能够在变化中的环境中继续使用

完善性维护:改进交付后产品的性能和可维护性

预防性维护:在软件产品中的潜在错误成为实际错误前,检测并更正它们

软件质量

软件质量

是软件特性的总和,是软件满足用户需求的能力,即遵从用户量需求,达到用户满意

质量包括:内部质量;外部质量;使用质量

质量管理过程

质量保证过程、验证过程、确认过程、评审过程、审计过程

软件质量保证

通过制订计划、实施和完成等活动保证项目生命周期中的软件产品和过程符合其规定的要求

验证与确认

验证过程试图确保活动的输出产品构造正确,即活动的输出产品满足活动的规范说明

确认过程试图确保构造了正确的产品,即产品满足其特定的目的

评审与审计

包括管理评审、技术评审、检查、走查、审计

管理评审:是监控进展,决定计划和进度的状态,或评价用于达到目标所用管理方法的有效性

技术评审:是评价软件产品,以确定其对使用意图的适合性

审计:是提供软件产品和过程对于可应用的规则、标准、指南、计划和流程的遵从性的独立评价。是正式的组织活动,识别违例情况,并要生成审计报告,采取更正性行动

软件配置管理

概念

通过标识产品的组成元素、管理和控制变更、验证、记录和报告配置信息,来控制产品的进化和完整性

活动

软件配置管理计划;软件配置标识;软件配置控制;软件配置状态记录;软件配置审计;软件发布管理;交付

软件过程管理

包括的方面

项目启动与范围定义;项目规划;项目实施;项目监控与评审;项目收尾与关闭

软件复用

概念

是指利用已有软件的各种相关知识构造新的软件,以缩减软件开发和维护的费用

思想

将软件看成是由不同功能的“组件”所组成的有机体,每一个组件在设计编写时可以被设计完成同类工作的通用工具

面向对象

概念

对象:是基本运行时的实体,既包括数据(属性),也包括(行为)

类:类所包含的方法和数据描述一组对象的共同行为和属性;类是在对象之上的抽象,对象是类的具体化,是类的实例

抽象:通过特定的实例抽取共同特征以后形成概念的过程

消息:对象之间进行通信的一种构造

继承:父类和子类之间共享数据和方法的机制

封装:将数据和操作数据的函数衔接在一起,构成的一个具有类类型的对象的描述

多态性:是多种表现形式;多态性的实现,一般通过在派生类中重定义基类的虚函数来实现

组件:表示软件系统可替换的、物理的组成部分,封装了模块功能的实现

复用:将已有的软件及其有效成分用于构造新的软件或系统

模式:描述了一个不断重复发生的问题,以及该问题的解决方案

面向对象系统分析

概念

面向对象分析运用面向对象方法分析问题域, 建立基于对象、消息的业务模型、形成对客观世界和业务本身的正确认识

模型

由用例模型、类-对象模型、对象-关系模型和对象-行为模型组成

面向对象系统设计

概念

面向对象系统设计基于系统分析得出的问题域模型,用面向对象的方法设计出软件基础架构(概要设计)和完整的类结构(详细设计),以实现业务功能

内容

主要包括用例设计、类设计和子系统设计

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200410A0TN7O00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券