3-2 软件开发方法和测试

软件开发的方法

  1. 结构化软件开发方法SASD:也称为面向功能的软件开发方法或面向数据流的软件开发方法,与瀑布模型结合度很高。

    • 数据流图(DataFlowDiagram,DFD):用来描述数据流从输入到输出的变换流程
  2. 面向数据结构的软件开发方法:从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其他细节。

  3. 面向对象的软件开发方法:一种自底向上和自顶向下结合的方法,并且以对象建模为基础。

  4. 基于构件化的开发方法:用预先建立的构件和模版,像搭积木一样。

软件设计的基本原理

  • 模块化:将软件分解成若干个小的简单的部分-模块,每个模块可独立开发、测试,最后组装成完整的程序。

  • 抽象化:抽象出事物本质,共同特性而不考虑它的细节。

  • 信息隐藏:每个模块尽可能少显露内部的处理

  • 模块独立:每个模块完成一个独立的特定子功能,并且与其模块的联系简单

    • 衡量标准有两个:
      • 模块间的耦合
      • 模块的内聚度
      • 模块独立性强:即意味着高内聚低耦合——这是模块独立性强的表现

面向对象分析和设计

  1. 对象:一组属性以及这组属性上的专用操作封装体,通常由对象名、属性和操作三个部分组成。

  2. 类:一组具有相同属性和相同操作的对象集合。——人类

  3. 继承:子类可以继承父类的属性,也可以定义和被继承相同方法名称的方法,构成方法的重载或覆盖

  4. 消息:对象间的通信手段

  5. 多态:同一个操作作用于不同对象有不同的解释,产生不同的执行效果。

程序设计语言

  1. 标记语言:一种将文本以及文本相关的其他信息结合起来,展现出关于文档结
    构和数据处理细节的电脑文字编码。常用于格式化和链接,如HTML、XML。

  2. 脚本语言:又称为动态语言,是一种编程语言,用来控制软件应用程序,只在调用时进行解释,可以定义函数和变量,与编程语言的区别时候编程语言的语法和规则更严格和复杂,典型的脚步语言:JavaScript、VBScript、PHP。

  3. 编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成机器语言,比如exe文件。运行时不需要重新翻译,直接使用编译结果就行。程序执行效率高,依赖编译器,如:C、C++、Java

软件测试

根据测试目的和阶段不同,分为:单元测试、集成测试、系统测试、验收测试。

如下图所示为软件测试的V模型

image-20240327213718365

  • 单元测试:单个模块功能测试

  • 集成测试:多个模块功能测试,测试是否满足详细设计

  • 系统测试:所有模块集成起来测试,测试是否满足概要设计

  • 验收测试:测试所有功能,只关心功能,测试是否满足需求分析

常见测试方法

α测试和β测试

  • α测试:在用户组织模拟软件系统的运行环境下测试,由用户或第三方测试公司进行测试,模拟各类用户行为,试图发现并修改错误。——(内测)

  • β测试:用户公司组织各方面的典型终端用户在日常工作中实际使用beta版本,并要求用户报告异常情况,提出修改意见。——(公测,内部试运行)

黑盒测试和白盒测试

  • 黑盒测试:也称功能测试,通过检测每个功能是否正常。主要针对软件界面和软件功能性测试

  • 白盒测试:检查代码或逻辑结构是否合理

站内搜索

没有找到内容!