软件测试面试题(part1 测试理论)

Posted on 2020-08-16 12:24  橙子j  阅读(246)  评论(0)    收藏  举报

 有哪些测试:功能测试,性能测试,兼容性测试,安全测试,可用性测试等等

 

 

一、测试分几个阶段:

单元测试,集成测试,系统测试,验收测试

  • 单元测试:单元测试是针对软件设计的最小单位––程序模块甚至代码段进行正确性检验的测试工作,通常由开发人员进行。
  • 集成测试:集成测试是将模块按照设计要求组装起来进行测试,主要目的是发现与接口有关的问题。由于在产品提交到测试部门前,产品开发小组都要进行联合调试,因此在大部分企业中集成测试是由开发人员来完成的。
  • 系统测试:系统测试是在集成测试通过后进行的,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求。它主要由测试部门进行,是测试部门最大最重要的一个测试,对产品的质量有重大的影响。
  • 验收测试:验收测试以需求阶段的《需求规格说明书》为验收标准,测试时要求模拟实际用户的运行环境。对于实际项目可以和客户共同进行,对于产品来说就是最后一次的系统测试。测试内容为对功能模块的全面测试,尤其要进行文档测试

软件测试模型:https://blog.csdn.net/liufuguansheng/article/details/15028563

瀑布模型:需求分析-概要分析-详细设计-编码-单元测试-集成测试-系统测试-验收测试 

敏捷Strum开发:https://www.cnblogs.com/qixuejia/p/5863216.html

 

二、软件测试流程

测试需求分析阶段:阅读需求,理解需求,主要就是对业务的学习,分析需求点,参与需求评审会议

测试计划阶段:主要任务就是编写测试计划,参考软件需求规格说明书,项目总体计划,内容包括测试范围(来自需求文档),进度安排,人力物力的分配,整体测试策略的制定。风险评估与规避措施有一个制定。

测试设计阶段:主要是编写测试用例,会参考需求文档(原型图),概要设计,详细设计等文档,用例编写完成之后会进行评审。

测试执行阶段:搭建环境,执行冒烟测试(预测试)-然后进入正式测试,bug管理直到测试结束→测试缺陷报告

测试评估阶段:出测试报告,确认是否可以上线

 

三、软件缺陷的生命周期

new:当缺陷被第一次递交的时候,它的状态即为“新建”。这也就是说缺陷未被确认其是否真正是一个缺陷

open:在测试者提交一个缺陷后,测试组长确认其确实为一个缺陷的时候他会把状态置为“打开”

assign:一旦缺陷被测试经理置为“打开”,他会把缺陷交给相应的开发人员或者开发组。这时缺陷状态变更为“分配

test:当开发人员修复缺陷后,他会吧缺陷提交给测试组进行新一轮的测试。在开发人员公布已修复缺陷的程序之前,他会把缺陷状态置为“测试”。这时表明缺陷已经修复并且已经交给了测试组

deferred:缺陷状态被置为“延迟的”意味着缺陷将会在下一个版本中被修复。将缺陷置为“延迟的”原因有许多种。有些由于缺陷优先级不高,有些由于时间紧,有些是因为缺陷对软件不会造成太大影响

rejected:如果开发人员不认为其是一个缺陷,他会不接受。他会吧缺陷状态置为“不接受的”

duplicate:如果同一个缺陷被重复提交或者两个缺陷表明的意思相同,那么这个缺陷状态会被置为“重复提交”

verified:一但缺陷被修复它就会被置为“测试”,测试员会执行测试。如果缺陷不再出现,这就证明缺陷被修复了同时其状态被置为“已核实”

reopen:如果缺陷被开发人员修复后仍然存在,测试人员会把缺陷状态置为“再次打开”。缺陷即将再次穿越其生命周期

close:一但缺陷被修复,测试人员会对其进行测试。如果测试人员认为缺陷不存在了,他会把缺陷状态置为“关闭”。这个状态意味着缺陷被修复,通过了测试并且核实确实如此

 

 

四、测试用例的设计方法

(1)等价类划分法:无效、有效,划分数据

(2)边界值法:划分数据

(3)错误推测法:凭借经验来感知bug高发区

(4)因果图法:又称为组合法,条件组合

(5)场景法

https://www.cnblogs.com/yuanbuqi/p/10944947.html

 

五、性能测试,压力测试,负载测试的区别

性能测试(或称多用户并发性能测试)

性能测试(Performance Test):通常收集所有和测试有关的所有性能,通常被不同人在不同场合下进行使用。

 

负载测试是一种通过增加负载来评估组件或系统的性能的测试方法

负载测试是逐步增加系统的负载,测试系统性能的变化,最终确定满足性能指标的情况下,系统所能承受的最大负载量,其目的是找出系统的极限在哪,找出系统能承担多少并发,承担多少数据。是极限测试。找到极限就停。

负载测试和性能测试的主要区别在于负载测试时,系统负载是逐渐增加的,而不是一步到位,负载测试需要观察系统在各种不同的负载情况下是否都能够正常工作。

 

压力测试压力测试是评估系统处于或超过预期负载时系统的运行情况。压力测试的关注点在于系统在峰值负载或超出最大载荷情况下的处理能力。

压力测试也是逐步增加系统负载,测试系统性能的变化,最终确定在什么条件下,系统性能属于失效状态,找出系统在什么情况下会崩溃,获得系统能提供最大服务级别的测试。是破坏性测试。找到极限后越过极限继续测试。

 

参考:https://blog.csdn.net/scy411082514/article/details/8063382?utm_source=blogxgwz0

https://www.cnblogs.com/wangcp-2014/p/4868254.html

 

六、测试用例包含的要素

测试编号,测试项目,测试标题,测试前置条件,测试输入,测试步骤,测试预期结果,测试级别