2018年四川理工学院软件工程考试大纲(软件测试)
2018年四川理工学院软件工程考试大纲(软件测试)
1、软件测试的概念、目的
软件测试就是软件在投入运行前,对软件的需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤
软件测试是为了发现错误而执行程序的过程
软件测试的目的是为了找出软件中潜在的各种错误和缺陷
2、调试是指
调试是对测试发现的错误进行纠错的过程
3、软件测试的分类
Ⅰ(按照动、静来分)、
①、静态分析测试法(编码前分析文档是否符合要求)
②、动态执行测试(通过运行程序来检验程序的动态行为和运行结果的正确性)
Ⅱ(按照软件开发的内、外进行分类)
①、单元测试(是对软件设计最小单元进行正确性验证的测试)
②、集成测试(是在单元测试的基础之上,将软件多个模块或系统前后合并之后进行的测试)
③、系统测试(基于计算机硬件环境,对整个软件进行的一系列测试)
④、验收测试(向软件购买者展示该软件系统满足其用户的要求)
4、三明治集成
三明治集成也称为混合式集成,它综合了自顶向下和自底向上的策略
5、H模型的特性
H模型效率和灵活性都很好,适用各种规模、类型的软件项目
6、白盒测试、灰盒测试、黑盒测试
白盒测试:从软件的具体的逻辑结构和执行路径出发,设计测试用例,完成测试
黑盒测试:着眼于程序的外部特征,而不考虑程序的内部结构
灰盒测试:介于白盒测试与黑盒测试之间,关注输出对于输入的正确性,同时也关注内部表现
7、什么是测试用例
测试用例就是设计的一个场景,用于检测软件在这种场景下,是否能够正常运行,并达到程序设计的执行结果
8、白盒测试的用例设计
语句覆盖:选择足够的测试用例,使程序中的每条语句都至少执行一次;
判定覆盖:选择足够的测试用例,使判定的“真”、“假”都执行一次;
条件覆盖:选择足够的测试用例,使其数据满足给定的判断中的每一个条件集合;
判定/条件覆盖:选择足够的测试用例,使其同时满足条件覆盖和判定覆盖;
条件组合覆盖:选择足够的测试用例,使判定中条件的各种可能组合都至少执行一次,这是一种很强的逻辑覆盖标准;
点覆盖:选择足够的测试用例,使程序执行时至少经过程序图中每个节点一次;
边覆盖:选择足够的测试用例,使程序执行时路径至少经过程序图的每条边一次;
路径覆盖:选择足够的测试用例,使程序的每条可能路径都至少执行一次。
9、黑盒测试的用例设计
等价类划分:确定不同数据的不同测试作用、范围;
因果图法:是指输入的数据不一定是等价的,而是存在 原因-结果 的;
边界值法:设计的测试用例,包含全部边界值的方法;
错误推测:基于经验、直觉推测程序中所有的可能存在的各种错误。
10、软件调试的步骤
step1:从错误的外部表现入手,确定程序中出错的位置
step2:分析有关程序代码,找出错误的内在原因
step3:修改程序代码,排除这个错误
step4:重复进行暴露了这个错误的原始测试以及某些回归测试,以确保该错误确实被排除且没有引入新的错误
step5:如果所做的修正无效,则撤销这次改动,重复上述过程,直到找到一个有效的办法为止。