能按预定的要求正确工作。白盒测试又称为结构测试。
语句覆盖就是设计足够的调试用例,使得程序中的每个语句至少执行一次。
判定覆盖就是设计足够的测试用例,使得程序中每个判定的取“真”分支和取“假”分支至少都执行一次,判定覆盖又称分支覆盖
条件覆盖就是设计足够的测试用例,使得程序判定中的每个条件能获得各种可能的结果。 判定/条件覆盖就是设计足够的测试用例,使得判定中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。 条件组合覆盖就是设计足够的测试用例,使得每个判定中的条件的各种可能组合都至少出现一次。 基本路经测试:
黑盒测试技术(等价划分)
黑盒测试时完全不考虑程序内部的结构和处理过程,只按照规格说明书的规定来检查程序是否符合它的功能要求。黑盒测试是在程序接口进行的测试,又称为功能测试。
16
1、黑盒测试检查的主要方面有: 程序的功能是否正确或完善;
数据的输入能否正确接收,输出是否正确; 是否能保证外部信息(如数据文件)的完整性等。 用黑盒法设计测试用例时,必须用所有可能的输入数据来检查程序是否都能产生正确的输出 2、等价类划分
等价类的划分在很大程度上依靠的是测试人员的经验,下面给出几条基本原则: (1)如果输入条件规定了取值范围,则可划分出一个有效的等价类(输入值在此范围内)和两个无效的等价类(输入值小于最小值、输入值大于最大值)。
(2)如果输入条件规定了输入数据的个数,则可相应地划分出一个有效的等价类(输入数据的个数等于给定的个数要求)和两个无效的等价类(输入数据的个数少于给定的个数要求、输入数据的个数多于给定的个数要求)。 (3)如果输入条件规定了输入数据的一组可能的值,而且程序对这组可能的值做相同的处理,则可将这组可能的值划分为一个有效的等价类,而这些值以外的值划分成无效的等价
17
类。
(4)如果输入条件规定了输入数据的一组可能的值,但是程序对不同的输入值做不同的处理,则每个输入值是一个有效的等价类,此外还有一个无效的等价类(所有不允许值的集合)。
(5)如果输入条件规定了输入数据必须遵循的规则,则可以划分一个有效的等价类(符合规则)和若干个无效的等价类(从各种角度违反规则)。
维护(改正性维护、适应性维护、完善性维护、预防性维护)
决定软件可维护性因素(可理解性、可测试性、可修改性、可移植性、可重用性)
面向对象方法学优点:1、与人类习惯的思维方法一致2、稳定性好3、可重用性好4、较易开发大型软件产品5、可维护性好
对象模型1、关联2、聚集3、泛化4、依赖和细化
18
贰 软件工程
1.1软件危机
1、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
(熟记)
2、了解软件危机主要的一些典型表现。(P2) 3、出现软件危机的原因:
4、消除软件危机的途径:首先,我们要对计算机软件有一个正确的认识;更重
要的是,必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严格、各类人员协同配合、共同完成的工程项目;最后,应该开发和使用更好的软件工具。
总之,为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织
管理措施。
1.2软件工程
1、软件工程:采用工程的概念、原理、技术和方法来开发和维护软件,把经过
时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。(熟记) 2、了解软件工程的本质特征: 1)、软件工程关注于大型程序的构造 2)、软件工程的中心课题是控制复杂性 3)、软件经常变化 4)、开发软件的效率非常重要 5)、和谐的合作是开发软件的关键 6)、软件必须有效地支持它的用户 7)、在软件工程的领域中通常由具有一种文化背景的人替具有另一种文化背
19
景的人创造产品
3、缺乏应用领域地相关知识,是软件开发项目出现问题的常见原因。 4、软件工程的基本原理: 1)、用分阶段的生命周期计划严格管理 2)、坚持进行阶段审评 3)、实行严格的产品控制 4)、采用现代程序设计技术 5)、结果应能清楚地审查 6)、开发小组的人员应该少而精 7)、承认不断改进软件工程实践的必要性 5、方法学(范型):在软件生命周期全过程中使用的一整套技术方法的集合。 6、软件工程方法学3要素:方法、工具和过程。
7、目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学 8、传统方法学也成为生命周期方法学或结构化范型。 9、面向对象方法学具有的4个要点。(P10)
1.3软件生命周期
1、概括地说,软件生命周期由软件定义、软件开发和运行维护(也称为软件维
护)3个时期组成,每个时期又进一步划分成若干个阶段。 2、软件定义时期的任务
3、软件定义时期通常进一步划分成3个阶段:问题定义、可行性研究、需求分
析
4、维护时期的主要任务是使软件持久地满足用户的需要。
5、软件开发时期通常分成4个阶段:总体设计、详细设计、编码和单元测试、
综合测试。前两个阶段又称为系统设计,后两个阶段又称为系统实现。 6、软件生命周期每个阶段的基本任务:问题定义、可行性研究、需求分析、总
体设计、详细设计、编码和单元测试、综合测试
。
1.4软件工程
生命周期模型(过程模型):瀑布模型、快速原型模型、增量模型、螺旋模型、
喷泉模型。
(对各种模型要了解)
1.5小结(熟读,对本章系统地了解)
可行性分析
可行性分析的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。
2.1可行性研究的任务
研究解法的可行性的三个方面:技术可行性、经济可行性、操作可行性。 可行性研究最根本的任务:对以后的行动方针提出建议。 可行性研究需要的时间长短取决于工程的规模。
2.2可行性研究过程
20
相关推荐: