测试/测开 常见面试问题总结(2)

本文详细介绍了软件测试的不同方面,包括黑盒测试、白盒测试、灰盒测试的定义和方法,如边界值分析、健壮性测试、等价类测试等。测试级别涵盖单元测试、集成测试和系统测试,以及验收测试的Alpha、Beta和Gamma阶段。缺陷管理工具和测试流程也有提及,同时强调了性能测试的目标和测试人员的角色。此外,文章还涵盖了各种测试类型,如功能测试、兼容性测试、安全性测试等,并列举了缺陷级别和常见测试用例设计方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

七、软件测试理论
1、缺陷是错误的表现(结果)
2、功能性测试:(黑盒测试)
包括:边界值分析、健壮性分析、最坏情况分析、特殊值测试、输入等价类、输出等价类、决策树的测试
都是基于被测软件的定义信息
结构性测试:(白盒测试)
功能性测试只利用规格说明标识测试用例,结构性测试使用程序源代码作为测试用例标识的基础。
灰盒测试:介于黑盒测试与白盒测试之间的一种测试方法,既需要考虑输入输出,又需要考虑程序源码
3、测试级别:单元测试(函数、类、界面)、集成测试(接口)、系统测试(规格说明)
4、生命周期瀑布模型
需求规格说明、概要设计、详细设计、编码、单元测试、集成测试、系统测试
5、等价关系:自反的、对称的、传递的
排序关系:自反的、反对称的、传递的
关联矩阵:列点行边
相邻矩阵:行点列点
内度:该节点作为终止点的不同边的条数
外度:该节点作为起始点
内度为零:源节点,外度为零:吸收节点(汇节点),内不为零,外度不为零:传递节点
强组件:循环和孤立节点
有向无环图:DAG(压缩图消除环路)
用于测试的图:程序图(单元测试)、有限状态机(状态是节点,转移是边)、状态图、Petri网{P(地点,输入节点),T(转移,输出节点),In(输入边),Out(输出边)}

6、功能性测试

边界值测试(独立、物理量):定义域4n+1测试用例,除一个变量以外,其余变量取正常值;最小值,略高于最小值,正常值,略小于最大值,最大值
健壮性测试:略小于最小值,略高于最大值 最坏情况测试:五元素测试集合笛卡尔积,5^n个测试用例(健壮最坏情况测试:七元素集合笛卡尔积)
特殊值测试:高度主观性 等价类测试:弱一般等价类测试、强一般等价类测试、弱健壮等价类测试、强健壮等价类测试 基于决策表的测试:

7、结构型测试:(基于被测程序的源代码)

路径测试:(决策到决策路径 D-D路径) 数据流测试:
定义、使用测试:定义变量,使用变量,程序变量集合P,变量V,DEF(v,m)USE(v,n) 基于程序片的测试:片
一般来说,系统测试是功能性测试,而不是结构性测试

8、
集成测试:单元之间的接口
基于分解的集成:自顶向下集成(桩),自底向上集成(驱动器),三明治集成
基于调用图的集成:成对集成,相邻集成(所有直接前驱和直接后继)
基于路径的集成:
系统测试:(从功能出发,不是找缺陷而是证明其性能)
交互测试:单处理器中的静态交互,单处理器中的动态交互,多处理器中的静态交互,多处理器中的动态交互
单元测试:函数、类、最小被测功能模块(静态分析:源代码研读,不需要编译执行;动态分析:观察软件运行时的动作)

9、黑盒测试方法:边界值、等价类、因果图(输入输出,检查程序输入条件的各种组合情况)、错误推测法、场景法(分析用户可能会做哪些事情)
10、白盒测试方法:代码检查法(代码逻辑)、静态结构分析法(数据结构、系统结构)、逻辑覆盖法
if(strcmp(A,B)==0)判断两个字符串是否相等
11、验收测试(用户):
α测试:内测版本,开发人员内部,bug较多
β测试:公测版本,有用户参与
γ测试:即将公布版本
12、缺陷管理工具:Bugfree(PHP+Mysql,免费开源)、TD、禅道、PingCode、Bugout
软件测试工具:Bugfree、QTP
13、
在这里插入图片描述
14、对测试工作的了解/流程:测试计划、编写测试用例、执行测试用例、编写测试报告,维护和管理。
15、黑盒测试:功能,输入输出的测试,不关心软件内部;系统测试,验收测试
白盒测试:软件内部;单元测试:白盒一部分,软件子程序;集成测试:单元间接口
16、性能测试的目的:发现系统弱点,系统调优,提高系统性能;关键是从用户的角度去考虑性能测试
17、测试人员在软件开发中的任务?
①寻找bug, ②避免软件开发过程中的缺陷,③衡量软件的品质;④关注用户的需求
总目标:确保软件质量
18、Beta测试与Alpha测试有什么区别

1、Alpha测试
Alpha测试是由用户在开发环境下进行的测试,开发者坐在用户旁边,这是在开发者受控的环境下进行的测试。由开发者随时记录下错误情况和使用中的问题。

2、Beta测试

Beta测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,这是在开发者无法控制的环境下进行的测试。由用户记录下遇到的所有问题,定期向开发者报告。beta测试是一模拟真实的使用环境从而发现缺陷的一种测试

3、验收测试
验收测试是以用户为主的测试,软件开发和QA人员也应该参加,测试一般在用户所在地进行,由用户验证软件产品是否满足了所有的需求的一系列的验收测试工作。
区别:两者的主要区别是测试的场所不同。
Alpha测试是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行的测试。Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。
而beta测试的环境是不受开发方控制的,谁也不知道用户如何折磨软件,用户数量相对比较多,时间不集中。
一般地,alpha测试先于beta测试执行。通用的软件产品需要较大规模的beta测试,测试周期比较长。如果产品通过了beta测试,那么就可以正式发行了。
Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。
Beta测试
当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。

19、测试类型(编写测试用例角度):功能测试、用户界面测试、兼容性测试、安全性测试、性能测试
20、缺陷级别:p1系统崩溃 p2用户需求未实现 p3被测功能未实现 p4功能不完善 p5建议性问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值