软件测试面试题

目录:
1.B/S架构和C/S架构区别
2.HTTP协议
3.POST与GET区别
4.Cookie和Session的区别与联系
5.测试的目的
6.软件测试原则
7.软件测试分为哪几个阶段?
8.单元测试与集成测试的侧重点
9.系统测试范围
10.a测试与ß测试的区别
11.验收测试怎么做?
12.白盒、黑盒和灰盒测试区别
13.冒烟测试的目的
14.回归测试怎么做?
15.全部回归与部分回归的区别?
16.需求分析的目的
17.测试计划的目的
18.什么时候开始写测试计划
19.由谁来编写测试计划
20.测试计划的内容
21.结束条件(项目上线的条件)
22.常见的测试风险
23.测试用例的要素
24.测试用例级别的划分
25.怎样保证覆盖用户需求?
26.写好测试用例的关键 /写好用例要关注的维度
27.测试用例的状态
28.常见的测试用例设计方法
29.判定表用在哪些时候/哪些功能
30.什么时候用到场景法
31.测试环境怎么搭建的?
32.偶然性问题的处理
33.当我们认为某个地方是bug,但开发认为不是bug,怎么处理?
34.产品在上线后用户发现bug,这时测试人员应做哪些工作?
35.二八定理
36.如何跟踪缺陷
37.缺陷的状态
38.缺陷的等级
39.缺陷单应该包含这些要素
40.测试报告的主要内容
41.如何定位bug:
42.Cookie和Session的区别与联系
42.开发没时间修复,如何推进bug的修复:
43.软件测试流程
44.项目介绍
45.对一支圆珠笔进行测试,要从哪些方面进行测试?三角形测试用例设计
46.在项目中发现哪些经典bug?什么原因导致的?
47.一个项目完成时,有多个重要的缺陷没有被修复,但是项目负责人说可以不修改,你认为测试是不通过的,请简述你的理由。
48.在需求文档不太详细的情况下,如何开展测试?
49.如何尽快找到软件中的bug?
50.什么是bug?
51.ATM机吞卡的吞卡现象是不是BUG?
52.如何减少非问题单的提交?
53.有个程序,在windows上运行很慢,怎么判断是程序存在问题,还是软硬件系统存在问题?
54.你们发现bug会怎么处理。
55.请写出设计测试用例所需的文档资料
56.请说明功能测试的重点
57.请详细说明 Web 功能测试的方法主要包括的内容
58.请列举在进行性能测试之前我们应掌握的相关文档
59.简述系统测试的测试类型
60.中断测试可分为:人为中断、硬件异常中断、程序执行中断以及意外中断 4 种情况,请分别说明这 4 种情况
61.请详细列举验收测试的首要条件
62.请列举验收测试过程中所涉及到的相关文档
63.正式验收测试是什么?它的优缺点又是什么?请介绍之
64.请介绍非正式验收测试的两个过程
65.请说明回归测试的范围是什么
66. 请详细说明确认测试的内容(功能测试和性能测试)
67. 请用简短的语言介绍一下易用性测试
68. 请详细说明易用性测试中的用户界面测试的内容
69. 你对测试最大的兴趣在哪里?为什么?
70. 你以前工作时的测试流程是什么?
71.什么时候开始进行性能测试?
72.什么是性能测试、负载测试、压力测试?
73.一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别? ?
74.给你一个网站,你如何测试?
75.软件的安全性应从哪几个方面 去测试?
76.在您以往的工作中,一条软件缺陷(或者叫 Bug )记录都包含了哪些内容?如何提交高质量的软件缺陷( Bug )记录?
77.您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试„„)
78.web测试和APP测试的区别
79.没有产品说明书和需求文档地情况下能够进行黑盒测试吗?
80.以windows对文件的复制粘帖功能为例,尽可能多地写出测试思路
81.python常用模块大全
82.指定 logcat 的日志输出格式 (日志级别)
83.monkey事件简介
84.请你分别画出OSI的七层网络结构图
86.如何定位bug
87.如何判断bug是前端 还是后端
88.Bug不能复现怎么办?
89.功能测试:三轮测试的定义
90.在测试工作中bug是不会流转的,是需要追踪的
91. APP测试和web测试区别
92. 常用工具的使用,postman
93.如果在购物平台上选购了物品,并且成功支付,但在“我的订单”中没有查到该笔订单,此时怎么处理?
94.app注册你怎么测的
95.面试时让你说一个印象最深的bug,该怎么回答
96.web端和app端性能测试关注的指标是什么?
97.bug不能复现怎么办?
98.测试人员在软件开发过程中的任务是什么?
99.详细的描述一个测试活动完整的过程。(供参考,本答案主要是瀑布模型的做法)?
100.app的闪退通常是什么原因造成的?
101.ios和android测试的侧重点是什么
102.push消息测试如何测试
103.常见的接口协议/类型是什么
104.常见的接口请求方式
105.接口测试的原理是什么
106.性能测试都包含哪些
107.接口测试的流程,步骤
108.如何编写接口测试用例
109.什么时候执行性能测试
110.请问你一般如何做测试分析?
111.性能测试步骤/流程?
112.你如何识别性能瓶颈?
113.响应时间,并发用户数、吞吐量、性能计算器、tps、qps、hps的含义?
114.你知道Python基本数据类型是哪6个么?
115.给你一个App,你将如何测试?
116.什么是测试用例?什么是测试脚本?两者什么关系?
117.简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试 β测试?
118.描述一个测试活动完整的过程?
119.如果项目周期很短,测试人力匮乏,你是怎么协调的??
120.软件测试人员分工?
121.移动端app和web端的应用程序是如何做兼容性测试的?
122.移动应用的灰度是怎么做的?
123.移动应用在升级安装时应该考虑的场景?
124.简述你在以前的工作中做过哪些事情,比较熟悉什么?
125.在windows下保存一个文本文件时会弹出保存对话框,如果文件名建立测试用例,等价类应该怎么样划分?
126.假设有一个文本框要求输入10个字符的邮政编码,对于该文本框应该怎样划分等价类??
127.软件测试用例评审的过程?内容?相关角色?
128.时间上不允许进行全部测试,测试负责人应该如何做?
129.列举web自动化中常见的元素定位方式是??
130.简述你知道的延时等待的方式?
131.自动化测试用例的覆盖率多少?
132.完整运行一次自动化用例需要多久时间?
133.什么是分层自动化?
134.你的测试数据是怎么准备的?
135.请简述Appium和selenium的原理?
136.Charles拦截并修改请求和返回值的步骤以及在你项目中的应用场景?
137.从一个数组中找出前4个最大的数,用最优解
138.写一个方法把字符串转为数字,比如str-“1234”,变成int 1234,并且测试这个程序
139.黑盒测试方法有哪些?(写出15种以上)
140.Bug单的内容:
141.如何提高质量的bug记录?
142.难以复现的BUG怎么处理:?
143.测试APP的时候安卓和iOS的区别:?
144.如何编写提交给客户的测试报告?
145.?
146.?
147.?
148.?
149.?
150.?

1.B/S架构和C/S架构区别

区别:
	B/S :
			只需要有操作系统和浏览器就行,可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢 
	C/S:
			响应速度快,安全性强,一般应用于局域网中,因为要针对不同的操作系统,需要针对性的开发,并且维护成本高

2.HTTP协议

	超文本传输协议,应用层协议,由请求与响应组成。
	常见的请求方式有POST/GET,常见的状态码200ok,301永久移动,302临时移动,404找不到资源,500服务器内部错误。

HTTP协议:点击跳转查看详情
HTTP和https的区别

HTTP和https的区别:点击跳转查看详情

	安全性上,HTTPS是安全超文本协议,在HTTP基础上有更强的安全性。简单来说,HTTPS是使用TLS/SSL加密的HTTP协议
	
	申请证书上,HTTPS需要使用ca申请证书
	
	传输协议上, HTTP是超文本传输协议,明文传输;HTTPS是具有安全性的 SSL 加密传输协议
	
	连接方式与端口上,http的连接简单,是无状态的,端口是 80; https 在http的基础上使用了ssl协议进行加密传输,端口是 443

3.POST与GET区别

1.Get是不安全的,因为在传输过程,数据被放在请求的URL中; Post的所有操作对用户来说都是不可见的。
2.Get传送的数据量较小,这主要是因为受URL长度限制;Post传送的数据量较大,一般被默认为不受限制。
3. Get限制Form表单的数据集的值必须为ASCII(a思k)字符;而Post支持整个ISO 10646字符集。
4.Get执行效率却比Post方法好。Get是form提交的默认方法。

4.Cookie和Session的区别与联系

区别:

1.Cookie是把数据保存在浏览器端的内存中

Session把数据保存在服务器端的内存中

2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用cookie。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

cookie与session的联系:

当服务器端生成一个session时就会向客户端发送一个cookie保存在客户端,这个cookie保存的是session的sessionId。。这样才能保证客户端发起请求后客户端已经登录的用户能够与服务器端成千上万的session中准确匹配到已经保存了该用户信息的session,同时也能够确保不同页面之间传值时的正确匹配。

5.测试的目的

1.测试是程序的执行过程,目的在于发现错误

2.一个成功的测试用例在于发现至今未发现的错误

3.一个成功的测试是发现了至今未发现的错误的测试

4.确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。

5.确保产品满足性能和效率的要求

6.确保产品是健壮的和适应用户环境的

6.软件测试原则

  1. 测试用例中一个必须部分是对预期输出或接过进行定义
  2. 程序员应避免测试自己编写的程序
  3. 编写软件的组织不应当测试自己编写的软件
  4. 应当彻底检查每个测试的执行结果
  5. 测试用例的编写不仅应当根据有效和预料到的输入情况,而且也应当根据无效和未预料到的输入情况
  6. 检擦程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的”
  7. 应避免测试用例用后即弃,除非软件本身就是个一次性的软件
  8. 计划测试工作时不应默许假定不会发现错误
  9. 程序某部分存在更多错误的可能性,与该部分已经发现错误的数量成正比
  10. 软件测试是一项极富创造性,极具智力的挑战性的工作

7.软件测试分为哪几个阶段?

1、单元测试阶段:单元测试是以最小单位的测试、也是最初期的测试阶段、一般是以一个函数方法窗口、一个功能模块、都可以看做是一个单元,主要依据的是详细设计文档。主要以白盒为主,一般有开发人员完成

2、集成测试阶段:
集成测试又称组装测试,在单元测试的基础上把软件逐渐组装起来一起继续测试的过程。逐渐组装的过程中会出现很多临时版本(迭代测试)。集成测试主要以黑盒为主(当然接口测试也在这阶段进行)

3、系统测试阶段:
整个功能全部完成后对集成了硬件和软件的完整系统进行模拟真实的环境模拟、测试重点主要在于1)整个系统能否正常运行2)真个系统的兼容性测试

4、验收测试阶段: 由用户参与完成的过程

8.单元测试与集成测试和系统测试的侧重点

单元测试

   是在软件开发过程中要进行的最低级别的测试活动,
   在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试,
   测试重点是系统的模块,包括子程序的正确性验证等。

集成测试

    也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,
    组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,
    但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。
    测试重点是模块间的衔接以及参数的传递等。

系统测试

    是将经过测试的子系统装配成一个完整系统来测试。
    它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。
    测试重点是整个系统的运行以及与其他软件的兼容性。

9.系统测试范围

其实也差不多就是我们的黑盒测试,系统测试,是不基于代码和模块之间,只是基于我们从外观入口的测试,这个更多的其实就是模仿用户的操作来进行测试。所以,我们每天使用的app,网页,也可以当做是为他们做了一个功能测试。

    我这里说的,是我们从事功能测试需要从哪些方面去思考这个测试该怎么做覆盖面会广一些:
    1、UI:这是最能直观反应我们系统的最好地方。就像现在是一个看颜值的时代,一个好看的美女 | 帅哥,就会有一种看一眼,再看一眼,我还要看一眼的感觉,这个时候这个人是好是坏,都会暂且不伦,就一句话,好看就完事了。

    2、功能:功能是最能反应一个系统的强大之处。就好像一个人的内涵,我们常常都会说,你看别人家的孩子多牛啊,你看别人家的老公多成功啊,你看别人家的妻子多贤惠啊,咳咳。。。跑偏了。我们可以这样看,XX博士精通8国语言汉、韩、日、英、德、法、俄、匈,精通琴棋书画,擅长各类运动,身高180cm、体重75kg,XX研究院教授,兼职健身教练,还会客串XX美食节目等。那么就可以看出这个人的技能很多,人的技能转换成应用就是功能。

    3、易用性:就是看这个系统是不是很好操作,很好上手。就好像我们使用搜索引擎,输入自己的内容,就可以出现想要的答案;再比如,我们再领取了什么优惠券,或者说我们跨平台登录之后,自动返回系统主页,也就是对用户的一种引导性操作,很人性化;之前使用过一个app,就是点击一个按钮之后,弹窗提示请签约,但是不会跳到签约界面上,自己找半天才找到签约的地方,这种在操作上就会流失用户,体验就没有那么高。

    4、安全:这是比较大的一块,现在我还没有接触到,不敢妄述,以后再补充吧。

    5、网络:网络的影响会影响到用户的体验,一般遵守258原则是最好的。2秒内反应,欢呼雀跃;5秒内反应,还能接受;8秒之后,不能忍受。就像我们叫一个人,那个人立刻就回答你,我们就会觉得被尊重,而一个人半天不理你,是不是可能心里就会有点其他的想法。网络我们可以测试联网,断网,弱网,切换网络等等情况。

    6、稳定:我觉得这是一个系统的健康。就好像一个人三天两头的就感冒生病,你觉得他的这个身体系统会很稳定吗。

    7、兼容:不管是app,还是web都会有兼容的测试。web兼容各种浏览器以及不同浏览器的版本,app的话系统的选择、厂家的选择、分辨率的选择、运行内存的选择等等。

10.a测试与ß测试的区别?

α测试是指软件开发公司组织内部人员模拟各类用户对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。α测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的用户操作方式。 

经过α测试调整的软件产品称为β版本。β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况、提出批评意见

11.验收测试怎么做?

测试步骤:

1、制定测试计划,测试项,测试策略及验收通过准则,并经过客户参与的计划评审。
2、建立测试环境,设计测试用例,并经过评审。
3、准备测试数据,执行测试用例,记录测试结果。
4、分析测试结果,根据验收通过准则分析测试结果,作出验收是否通过及测试评价。
测试项目通过; 测试项目没有通过,并且不存在变通方法,需要很大的修改;
测试项目没有通过,但存在变通方法,在维护后期或下一个版本改进;
测试项目无法评估或者无法给出完整的评估。此时必须给出原因。如果是因为该测试项目没有说明清楚,应该修改测试计划。
5、提交测试报告。

验收测试:在软件产品完成了功能测试和系统测试之后、产品发布之前所进行的软件测试活动。它是技术测试的最后一个阶段,也称为交付测试。
验收测试的目的:确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
验收测试的参与者:用户,还可能有软测工程师等。
前提: 系统或软件产品已通过了系统测试的软件系统。
测试内容: 验证系统是否达到了用户需求规格说明书(可能包括项目或产品验收准则)中的要求,测试试图尽可能地发现软件中存留的缺陷,从而为软件进一步改善提供帮助,并保证系统或软件产品最终被用户接
受。主要包括易用性测试、兼容性测试、安装测试、文档(如用户手册、操作手册等)测试等几个方面的内容。

任务: 验证软件的功能和性能符合用户期待。

验收标准和注意事项:

验收测试完成标准: 完全执行了验收测试计划中的每个测试用例。
在验收测试中发现的错误已经得到修改并且通过了测试或者经过评估留待下一版本中修改。
完成软件验收测试报告。

注意事项:

必须编写正式的、单独的验收测试报告
验收测试必须在实际用户运行环境中进行 由用户和测试部门共同执行。
如公司自开发产品,应由测试人员,产品设计部门,市场部门等共同进行。

12.白盒、黑盒和灰盒测试区别

白盒、黑盒和灰盒测试区别

白盒测试:对程序的内部结构与算法进行的测试
黑盒测试:不考虑程序的内部结果,只检查程序是否实现了需求的功能
灰盒测试:关注系统接口所实现的功能,是否和需求一致。

> 黑盒测试

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

> 白盒测试

白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。

采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。

> 灰盒测试

灰盒测试是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。

13.冒烟测试的目的

冒烟测试其实就是确保该版本的系统基本功能能正常运行。如果冒烟测试不通过,测试人员是不会进行测试,打回给开发

14.回归测试怎么做?

回归测试是指修改了旧代码后,重新在新环境上进行测试以确认修改没有引入新的错误或导致其他代码产生错误

1、在测试策略制定阶段,制定回归测试策略
2、确定需要回归测试的版本
3、回归测试版本发布,按照回归测试策略执行回归测试
4、回归测试通过,关闭缺陷跟踪单(问题单)
5、回归测试不通过,缺陷跟踪单返回开发人员,开发人员重新修改问题,再次提交测试人员回归测试

15.全量回归与部分回归的区别?

全量回归:

对软件的新版本测试时,重复执行上一个版本测试时使用的测试用例,防止出现“以前应用没有的问题现在出问题了”,这是全量回归;

部分回归

当在测试过程中,发现某个模块存在缺陷,开发修复后,测试人员重新验证该缺陷是否被修复,以及验证相关联的模块是否受影响,这叫部分回归。

16.需求分析的目的

  1. 把用户需求转化为功能需求:1)对测试范围进度量 2)对处理分支进行度量 3)对需求业务的场景进行度量 4)明确其功能对应的输入、处理和输出 5)把隐式需求转变为明确。

  2. 明确测试活动的五个要素:测试需求是什么、决定怎么测试、明确测试时间、确定测试人员、确定测试环境:测试中需要的技能,工具以及相应的背景知识,测试过程中可能遇到的风险等等。测试需求需要做到尽可能的详细明确,以避免测试遗漏和误解。

17.测试计划的目的

测试计划的目的:编写软件测试计划的目的是指导测试组成员进行工作和让测试组以外的项目成员了解测试工作的。

测试计划的内容:测试目的和测试项目简介、测试参考文档和测试提交文档、术语和定义、测试策略、确定测试内容、资源、测试进度、测试员的职责与任务分配、项目通过或失败的标准、暂停和重新启动测试的标准、风险和问题等。

最重要的 : 测试策略、确定测试内容、资源、测试进度、测试员的职责与任务分配、项目通过或失败的标准。

18.什么时候开始写测试计划

我这边的测试计划都是在需求形成文档时候开始的,也就是常说的软件需求分析阶段就开始,因为从这个时候就要进行需求测试了。

19.由谁来编写测试计划

需要编写测试计划的人员有:项目经理、测试经理、测试人员,他们将根据每个所处的位置编写相应的测试计划,下面我们看下每个人写的主要内容是哪些?

1.项目经理
项目经理当然是从整个项目角度出发,编写整体项目计划,那么其中就包括测试的计划了,他依赖于对应的开发计划,也就是首先要有开发计划、提测计划,再评估测试计划,最终得出上线时间

2.测试经理
测试经理主要是从测试组角度出发,编写项目的测试计划,重点就是项目的任务拆分、合理的安排人力资源、预估时间和风险等

3.测试人员

测试同学本人收到测试经理同步过来的具体分工后,也需要编写自己的测试计划,重点就是详细的说明自己的时间规划、每一个测试任务的前期准备以及开始和结束测试的时间等

20.测试计划的内容

测试背景,测试目的,确定测试范围,制定测试策略(功能测试/业务测试…),测试资源安排,测试时间安排,测试人员分配,风险评估

21.结束条件(项目上线的条件)

如何确认软件测试结束的标准(系统可以上线)

基于“测试阶段”的原则:
  每个软件的测试一般都要经过单元测试、集成测试、系统测试这几个阶段,我们可以分别对单元测试、集成测试和系统测试制定详细的测试结束点。每个测试阶段符合结束标准后,再进行后面一个阶段的测试。举个例子来说:单元测试,我们要求测试结束点必须满足“核心代码100%经过Code
Review”、“功能覆盖率达到100%”、“代码行覆盖率不低于80%”、“不存在A、B类缺陷”、“所有发现缺陷至少60%都纳入缺陷追踪系统且各级缺陷修复率达到标准”等等标准。集成测试和系统测试的结束点都制定相关的结束标准,当然也是如此。
基于“验收测试”的原则:
  很多公司都是做项目软件,如果这种要确定测试结束点,最好测试到一定阶段,达到或接近测试部门指定的标准后,就递交用户做验收测试。如果通过用户的测试验收,就可以立即终止测试部门的测试;如果客户验收测试时,发现了部分缺陷,就可以针对性的修改缺陷后,验证通过后递交客户,相应测试也可以结束。

第一类标准:测试超过了预定时间,则停止测试
第二类标准:执行了所有的测试用例,但并没有发现故障,则停止测试
第三类标准:使用特定的测试用例设计方案作为判断测试停止的基础
第四类标准:正面指出停止测试的具体要求,即停止测试的标准可定义为查出某一预订数目的故障
第五类标准:根据单位时间内查出故障的数量决定是否停止测试

22.常见的测试风险

1、需求风险

产品需求的不明确,对产品需求理解不准确,导致测试范围存在误差,遗漏部分需求或者执行了错误的测试方式;另外需求变更导致测试用例变更,测试用例维护成本增加,实时更新时存在误差。

2、测试用例风险

测试用例设计不完整,忽视了边界条件、异常输入等情况,用例覆盖率没有做到足够覆盖,测试用例没有得到全部执行,有些用例被有意或者无意的漏测,需求变更导致的测试时间被压缩等情况。

3、缺陷风险

某些缺陷偶发,难以重现,容易被遗漏;缺陷跟踪不够积极主动,没做好缺陷记录和及时更新,同样的缺陷,导致的原因可能不同,对这点没意识到导致的线上生产问题等。

4、代码质量风险

代码质量差,可读性差,重构性差,没做好注释等原因导致缺陷较多,修改难度增大;另外还有系统架构设计的不足,导致的扩展性不足,性能兼容差等问题。

5、测试环境风险

测试环境和生产环境配置不同,测试环境交叉影响较大,测试环境数据量不足导致的测试结果误差等问题。

6、测试技术风险

某些项目存在技术难度,测试能力和经验所限,技术水平相对较差导致测试进展缓慢,测试结果准确性不够,项目发布日期延期等问题。

7、回归测试风险

回归测试,一般时间相对来说较少,且大多只回归主要的功能点用例,可能造成漏测;另外还有回归验证缺陷时业务流走不通导致的打回修复再验证造成的时间延后问题。

8、沟通协调风险

项目进行过程中需要多方沟通协调,不同部门,岗位之间的沟通、协作,难免存在误解、沟通不畅的情况,比如需求变更没有及时沟通,开发代码提交没有及时告知,测试结果的反馈不及时等问题。

9、研发流程风险

其中包括从产品需求评审、研发设计、代码提交、测试发布等一些列流程,流程的不规范不协调很可能导致很多问题;比如开发在不告知其他成员的情况下提交代码,发布没有预生产环境,生产出现

问题无法及时回滚等很多说烂了的情况。流程没必要一板一眼的执行,但没有流程是万万不行的。

10、其它不可预计风险

一些突发状况、不可抗力等也构成风险因素,且难以预估和避免。对于这种情况,往往一时无法解决,建议做好备份方案和容灾机制,或者采用灰度发布等措施。

PS:以上是测试过程中可能发生的风险及原因,其中有的风险是难以避免的,如缺陷风险;有的风险从理论上可以避免,如需求风险,沟通风险等;还有些风险在实际操作过程中出于时间和成本的考虑,

也难以完全回避,如回归测试风险等。

对于这些风险的存在,要尽量避免,也要做好备份方案和容灾机制,规范流程,明确职责,尽可能将风险降到可接受范围内。。。

23.测试用例的要素

下面我们就聊一聊每个要素都是干什么的;

标题: 是对测试用例的描述,标题应该清楚的表达测试用例的用例。

操作步骤&#x

  • 25
    点赞
  • 214
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值