1)程序就是一组计算机能识别和执行的指令
2)测试的前提:程序通过编译,没有语法和连接上的错误。
3)测试用例:为了发现程序中的错误而设计的测试数据。
4)黑盒测试:又称功能测试或数据驱动测试,不考虑程序的内部结构和处理过程,只对程序的接口进行测试,检查程序是否能适当地接受输入数据并产生正确的输出信息。
黑盒测试技术有事务处理流程测试、等价类划分、边界值分析。
5)白盒测试:又称结构测试或逻辑驱动测试,检验程序内部的逻辑来测试,检查程序中每条通路是否正确工作。
百合测试有路径测试、语句测试、分支测试、条件组合测试。
4、程序设计思路
1)三种基本程序结构
(1)顺序结构:
特点:只有一个入口点和一个出口点。
组成:说明语句、赋值语句、输入输出语句、子函数调用语句、返回语句。
(2)选择结构:
特点:程序的处理步骤出现分支,根据某一特定的条件选择其中的一个分支执行。
形式:单选泽、双选择、多选择。
(3)循环结构
当型循环:先判断后执行。
直到型循环:先执行后判断。
2)结构化程序设计的基本思想
采用“自顶向下,逐步求精”(基本原则)的程序设计方法,结构化设计以模块化设计为中心,每个模块各个击破,最后再统一组装。
3)结构化程序设计的特征
(1)以三种基本结构的组合来描述程序
(2)整个程序采用模块化结构。
(3)以控制结构为单位,每个结构只有一个入口一个出口,各单位之间接口简单,逻辑清晰。
(4)采用结构化程序设计语言书写程序,并采用一定的书写格式使程序结构清晰,易于阅读。
(5)注意程序设计风格。
(6)有限制地使用转移语句,在非用不可的情况下,只限于在一个结构内部跳转,不允许从一个结构跳到另一个结构。
4)良好的设计风格
语句形式化、程序一致性、结构规范化、适当使用注释、标识符贴近实际。
5)面对对象的基本概念
(1)对象(object)---最简单的实体
对现实世界中对象的模式化,是数据和代码的组合,具有自己的特征和行为。
对象的特征用数据来表示,称属性。
对象的行为用对象中的代码来实现,称为对象的方法。
任何对象都由属性和方法组成的。
将反映对象的属性和行为封装在一起,是面向对象编程的基本元素,是面向对象设计的核心。
(2)类(class)
类是创建对象实例的模板,是同种对象的集合与抽象,它包含所创建对象的属性描述和行为特征的定义,对象是类的实例。
(3)属性(property)
属性用来表示对象的特征,不同的对象有不同的属性。
(4)方法(method)
方法是对对象的属性的各种操作。
(5)事件、事件过程和事件驱动
事件是面向对象程序设计中对应于“消息”的术语。
对象的事件是指系统事先设定的,能被对象识别和响应的动作。
事件过程:应用程序处理事件的步骤。
事件驱动的编程机制是程序执行后系统等待某个事件的发生,然后去执行处理此事件过程,待事件过程执行完后,系统又处于等待某事件发生的状态。
(6)封装
封装机制将数据和代码捆绑在一起,避免了外界的干扰和不确定性。一个对象就是一个封装了数据和操作这些数据的代码的逻辑实体,封装的目的在于将对象的使用者和对象的设计者分开。
封装一方面通过数据抽象把相关的信息结合在一起,另一方面简化了接口。
封装性可降低开发过程的复杂性,提高效率和质量,同时也保证了程序中数据的完整性和安全性。
(7)继承
继承是可以让某个类型的对象获得另一个类型的对象的属性的方法。
(8)多态性
多态机制使具有不同内部结构的对象可以共享相同的外部接口,虽然针对不同对象的具体操作不同,但通过一个公共类,他们可以通过相同的方式调用。
优点:大大提高程序的抽象程度和简洁性,降低类和模块之间的耦合性,有利于程序的开发和维护。
(9)消息传递
6)OOP的基本过程
(1)分析现实问题。
(2)建立模型(类属性/方法的确定及类之间关系的确定)。
(3)编程建立数据模型(属性、方法)。
(4)用类声明对象,通过对象间传递信息(方法调用)完成预订功能。
7)OOP的优点
(1)通过继承,减少多余的代码并扩展现有代码。
(2)在标准的模块上构建自己的程序,减少软件开发时间并提高生产效率。
(3)数据隐藏---保护程序免受外部代码的侵袭。
(4)允许一个对象的多个实例同时存在,彼此之间相互不干扰。
(5)允许将问题空间中的对象直接映射到程序中。
(6)基于对象的工程可以很容易地分割为独立部分。
(7)以数据为中心的设计方法允许我们抓住可实现模型的更多细节。
(8)面向对象的系统很容易从小到大逐步升级。
(9)对象间通信所使用的消息传递技术与外部系统接口部分描述更简单。
(10)便于控制软件复杂度。