IntelliJ IDEA C语言 Gitlab MongoDB npm安装 elasticsearch delphi wso2 vue例子 vue数据绑定 linux内存管理 bootstrap时间轴 spark文档 清空input文本框的值 mysql自连接 eclipse显示左边目录 mysql自然连接 kubernetes视频 python中的index python中str函数 配置java开发环境 java字符串格式化 java截取 linux如何安装 局域网助手 flash实例教程 易语言进度条 mounted 动态加载js php抓取网页数据 图解深度学习 免费书籍 flash基础 扫微信二维码诈骗原理 3d看图软件 苍灵世界 spss20安装教程 一键换肤大师 oemdiy quickchm
当前位置: 首页 > 学习教程  > 编程语言

软件测试理论

2020/12/28 19:36:03 文章标签:

1、B/S架构和C/S架构区别 CS响应速度快,安全性强,用户体验好,一般应用于局域网中,但是开发维护成本高,; BS可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢…

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

CS响应速度快,安全性强,用户体验好,一般应用于局域网中,但是开发维护成本高,;
BS可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢。
所以有些单位日常办公应用BS,在实际生产中使用CS结构。

2、HTTP协议

1、https协议需要申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

3、POST与GET区别

1、GET使用URL或Cookie传参。而POST将数据放在BODY中。

2、GET的URL会有长度上的限制,2kb,则POST的数据则可以非常大。
   3、POST比GET安全,因为数据在地址栏上不可见。
   4、一般get请求用来获取数据,post请求用来发送数据。

4、Cookie和Session的区别与联系

cookie存储在客户端/session存储在服务器端
cookie和session有ID映射,通过ID映射可以管理不同用户的session对象
cookie数据存储不如session安全
session存储数据,加大服务器负载/考虑性能方面减轻服务器压力使用cookie

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

5、测试的目的

软件测试的目的是在规定的条件下对程序进行操作,以发现程序错误,
衡量软件质量,并对其是否能满足设计要求进行评估的过程。
① 软件测试是为了发现错误而执行程序的过程;
② 测试是为了证明程序有错,而不是证明程序无错误。
③ 一个好的测试用例是在于它能发现至今未发现的错误;
④ 一个成功的测试是发现了至今未发现的错误的测试。
以最少的人力,物力和时间找出软件中潜在的各种错误与缺陷,通过修正各种错误和缺陷提高软件质量,
回避软件发布后由于潜在的软件缺陷和错误造成的隐患以及带来的商业风险。

6、软件测试原则

一、Testing shows presence of defects
   	测试显示软件存在缺陷
   	测试只能证明软件中存在缺陷,但并不能证明软件中不存在缺陷。软件测试是为了降低存在缺陷的可能性,即便是没有找到缺陷,也不能证明软件是完美的。
二、Exhaustive testing is impossible
   	穷尽测试是不可能的
   	现在软件的规模越来越大,复杂度越来越高,想做到完全性的测试是不可能的。在测试阶段,测试人员可以根据风险和优先级来进行集中和高强度的测试,从而保证软件的质量。
三、Testing early
  	测试尽早介入
   	为什么测试要尽早介入呢,简单的说就是保证软件质量,降低风险和成本。测试人员一般在需求阶段就开始介入,使缺陷在需求或设计阶段就被发现,缺陷发现越早,修复的成本就越小。
四、Defect clustering
   	缺陷集群性(2/8原则)
   	缺陷集群性表明小部分模块包含大部分的缺陷。软件测试中存在Pareto原则:80%的缺陷发现在20%的模块中。
   	一个功能模块发现的缺陷越高,那存在的未被发现的缺陷也越高,故发现的缺陷与未发现的缺陷成正比。
五、Pesticide Paradox
  	杀虫剂悖论
  	反复使用相同的杀虫剂会导致害虫对杀虫剂产生免疫而无法杀死害虫。软件测试也一样。如果一直使用相同的测试方法或手段,可能无法发现新的bug。
  	为了解决这个问题,测试用例应当定期修订和评审,增加新的或不同的测试用例帮助发现更多的缺陷。
  	测试人员不能一直依赖于现有的测试技术,而要不断的提升测试方法以提高测试效率。
六、Testing is context dependent
  	测试活动依赖于测试内容
  	根据业务的不同,软件测试内部也分为不同的行业,比如游戏行业、电商行业、金融行业。不同的行业,测试活动的开展都有所不同,比如测试技术、测试工具的选择,测试流程都不尽相同,所以软件测试的活动开展依赖于所测试的内容。
七、Absence of error - fallacy
   	没有错误是好是谬论
  	有可能99%没有bug的软件也是不能使用的。如果对错误的需求进行了彻底的测试,这种情况就发生了。软件测试不仅是找出缺陷,同时也需要确认软件是否满足需求。如果开发出来的产品不满足用户的需求,即便找到和修复了缺陷也作用不大。

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

软件测试一般分为4个阶段:单元测试、集成测试、系统测试、验收测试。

8、单元测试与集成测试的侧重点

单元测试是在软件开发过程中要进行的最低级别的测zhi试活动,在单元测试活动中,软件的独立单元shu将在与程序的其他部分相隔离的情况下进行测试,
	测试重点是系统的模块,包括子程序的正确性验证等。
集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。
	测试重点是模块间的衔接以及参数的传递等。
系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。
	测试重点是整个系统的运行以及与其他软件的兼容性

9、系统测试范围

分为:单元测试,集du成测试和系统测试。
单元测试:纯代码dao的测试(白盒测试)。主要测试代shu码语句的正确性,如所有的代码是否都可以跑到,是否有冗余的代码等等。
集成测试:接口测试(灰盒测试,结合白盒和黑盒测试)。主要测试代码块之间的接口。看看数据的传输是否有问题。
系统测试:黑盒测试。不接触代码,只对整个系统做功能的测试和性能的测试。
以上的三中测试是在项目组中测试的。
确认测试:是客户做的测试。也可以叫做验收测试。客户对他提出的需求,对应要交付的软件看看是否达到其要求。
回归测试只是说,你第一次测试出的问题,开发修改好后,你再去测试他们是否改好了。这个就叫做回归测试。 

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、开发没时间修复,如何推进bug的修复:

43、软件测试流程

44、项目介绍

45、对一支圆珠笔进行测试,要从哪些方面进行测试?

46、三角形测试用例设计

47、在项目中发现哪些经典bug?什么原因导致的?

48、一个项目完成时,有多个重要的缺陷没有被修复,但是项目负责人说可以不修改,你认为测试是不通过的,请简述你的理由

49、在需求文档不太详细的情况下,如何开展测试?

50、如何尽快找到软件中的bug?

51、什么是bug?

52、ATM机吞卡的吞卡现象是不是BUG?

53、如何减少非问题单的提交?

54、有个程序,在windows上运行很慢,怎么判断是程序存在问题,还是软硬件系统存在问题?

55、你们发现bug会怎么处理。


本文链接: http://www.dtmao.cc/news_show_550319.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?