1、 设计模式(4 必考)
创建型:用于创建对象,为设计类实例化新的对象提供指南。
结构型:用于处理类或对象间的组合关系,形成更大的结构。
行为型:用来描述类或对象交互及交互时的职责分配。
2、 软件测试(2 必考)
目的:软件质量保证的主要手段之一,在软件投入生产性运行之前,尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。
测试方法
动态测试:动态测试指通过运行程序发现错误,分为黑盒测试法、白盒测试法和灰盒测试法。
静态测试:采用人工检测和计算机辅助静态分析的手段对程序进行检测。主要方法有桌前检查(Desk Checking)、代码审查和代码走查。
测试的阶段
单元测试:又称为模块测试,针对软件设计的最小单位(程序模块)进行正确性检验的测试工作。单元测试根据详细设计说明书,包括模块接口测试、局部数据结构测试、路径测试、错误处理测试和边界测试,单元测试通常由开发人员自己负责。要借助驱动模块(用于测试模拟的主程序)和桩模块(子模块)完成。单元测试的计划通常是在软件详细设计阶段完成的。
集成测试:也称为组装测试、联合测试,主要是将已通过单元测试的模块集成在一起,主要测试模块之间的协作性。集成测试计划通常在软件概要设计阶段完成。从组装策略而言,可以分为一次性组装和增量式组装,增量式组装又包括自顶向下、自底向上、混合式三种。
确认测试:确认测试也称为有效性测试,主要验证软件的功能、性能及其他特性是否与用户要求一致。确认测试计划通常在需求分析阶段完成。
内部确认测试:由软件开发组织内部按软件需求说明书进行测试
a测试(Alpha测试):由用户在开发环境下进行测试。
b测试(Beta测试):由用户在实际使用环境下进行测试。
验收测试:针对软件需求说明书,在交付前由用户为主进行的测试。
系统测试:要将软件与外部支持的硬件、外设、支持软件、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统的一系列集成与确认测试。系统测试的主要内容包括功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、安装与反安装测试等。系统测试计划通常是在系统分析阶段(需求分析阶段)完成的。
回归测试:一旦测试出问题,就要进行修改。为了检查这种修改是否会引起其他错误,还要对这个问题进行测试,这种测试称为回归测试或退化测试。
3、 软件维护(1-2)
改正性维护:为了识别和纠正软件错误、改正软件性能上的缺陷
适应性维护:在使用过程中,外部环境可能发生变化。
改善性维护:用户往往会对软件提出新的功能与性能要求
预防性维护:这是指预先提高软件的可维护性、可靠性等
4、 遗留问题
高水平、低价值:集成;高水平、高价值:改造
低水平、低价值:淘汰;低水平、高价值:继承