测试基础面试题

1.你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?

  1. 将问题提交到缺陷管理库里面进行备案

       2. 要获取判断的依据和标准:

  • 根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;
  • 如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;
  • 根据用户的一般使用习惯,来确认是否是缺陷;

  3. 与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;

  4. 合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。

  等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。

 

2. 给你一个网站,你如何测试?

  首先查找需求说明,网站设计等相关文档,分析测试需求

  制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试;性能测试;数据库测试;安全性测试;兼容性测试

  测试用例设计:

功能性测试

  1. 连接测试,连接是否能够正常跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回
  2. 提交功能的测试
  3. 多媒体功能能否正常加载和显示
  4. 多语言支持是否能够正常的显示选择的语言等

界面测试

1. 页面是否风格统一,美观

2. 页面内容是否合理,重点内容和热点内容是否突出

3. 控件是否正常使用

4. 对于必须和未安装的控件,是否提供自动安装或下载的功能

5. 文字检查

性能测试:并发测试,压力测试,负载测试

数据库测试要具体决定是否需要开展,数据库一般需要考虑连接性,对数据的存取操作,数据内容的验证等方面

安全测试:

1. 基本登录功能的检查

2. 是否存在溢出状态,导致系统崩溃或者权限泄漏

3. 相关开发语言的常见安全性问题检查,例如SQL注入问题等

4. 如果需要高等级的安全性测试,确定需要专业安全公司的帮助,外包测试或者技术支持

兼容性测试:浏览器的兼容性,操作系统的兼容性,软件平台的兼容性,数据库的兼容性

     开展测试,并记录缺陷。合理的安排调整测试进度,提前获取测试所需的资源,建立管理体系(例如,需求变更,风险,配置,测试文档,缺陷报告,人力资源报告等内容)

    定期评审,对测试进行评估和总结,调整测试的内容

 

3.一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?

资源方面:一台客户端三百个客户,则会占用更多资源,各线程之间可能会有干扰,影响结果;后者则没有这个问题。

带宽:一台客户端三百个客户,会占用更多带宽;后者则要求更宽松

IP 地址的问题:一台客户端三百个客户,如果有ip限制,则需要绕过ip限制,如采用ip欺骗。

 

4.软件生命周期是什么

  软件生命周期,即软件开发的全过程,包括可行性研究,需求分析,软件设计,编码,测试,发布,维护

 

5.软件测试分为哪些过程

按照开发阶段划分,可以分为单元测试、集成测试、系统测试、验收测试

单元测试:针对每个单元的测试, 以确保每个模块能正常工作为目标

集成测试:对已测试过的模块进行组装,进行集成测试。目的在于检验与软件设计相关的程序结构问题

确认(有效性)测试:是检验所开发的软件能否满足所有功能和性能需求的最后手段。有的划分方法中,也将确认测试合并入系统测试中。

系统测试:检验软件产品能否与系统的其他部分(比如,硬件、数据库及操作人员)协调工作。

验收(用户)测试:检验软件产品质量的最后一道工序。主要突出用户的作用,同时软件开发人员也应有一定程度的参与。

验收测试可以分成Alpha测试和Beta测试。Alpha测试是由用户在开发环境下完成的测试,Beta测试是由用户在用户环境下完成的测试。

 

6. 你能不能说下你的3-5年的职业规划?

  1.让自己的测试基础知识更加的扎实

  2.更深入的学习自动化知识,包括接口自动化测试方向,并运用到现实工作中

  3.性能,加强对性能测试结果的分析

  4.学会带领一个团队

  5.最后,达到测试经理的水平

 

7. 软件开发模式

  瀑布流:项目计划,需求分析,程序设计,程序编码,软件测试,运行维护

  V字流:需求分析,概要设计,详细设计,编码

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

  w字型:用户需求,需求分析,概要设计,详细设计,编码,集成,实施,交付

                    用户需求,需求分析,概要设计,详细设计,单元测试,集成测试,系统测试,验收测试

  

8.软件包括哪些,软件复用什么意思,构件有哪些

软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序、文档的完整集合。

软件复用(Software Reuse):是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。

构件:可以被复用的软件成分一般称作可复用构件。

 

9.什么是软件测试?软件测试的目的和原则

定义:使用人工或自动手段,来运行或测试某个系统的过程

目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

软件测试的目的

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

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

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

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

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

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

软件测试的原则

软件测试应尽早执行,并贯穿于整个软件生命周期

软件测试应追溯需求

缺陷的二八定理

严格执行测试计划,排除测试的随意性

 注意合法合理的输入,也要注意非法的非预期的输入

检查程序是否是否做了不该做的

测试应从“小规模”开始,逐步转向“大规模”

杀虫剂悖论

关注缺陷的修复

 

10. 目前主要的测试用例设计方法是什么?

  白盒测试:逻辑覆盖;循环覆盖;基本路径覆盖

  黑盒测试:边界值分析法;等价类分析法;正交试验法,错误猜测发;因果图法;状态装换测试法;判定表法;测试大纲法;随机测试;场景法

 

11. 测试用例通常包括那些内容?

    软件测试用例的基本要素包括测试用例编号、测试标题、前提条件,重要级别、优先级,测试输入、操作步骤、预期结果,实际结果

 

12. 一份测试计划应该包括哪些内容?(做什么?)

  背景、项目简介、目的、测试范围、测试策略、人员分工、资源要求、进度计划、参考文档、常用术语、提交文档、风险分析。

 

13.一份测试方案包括哪些内容(怎么做?)

  测试需求的细化,测试组网图的设计,自动化测试框架的设计,测试数据和测试脚本的设计,测试用例设计的原则等。

 

14.您认为做好测试用例设计工作的关键是什么?

  白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果

  黑盒测试用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题

 

15.软件测试的流程

1.需求分析阶段:只要就是对业务的学习,分析需求点。

2.测试计划阶段:测试组长就要根据SOW开始编写《测试计划》,其中包括人员,软件硬件资源,测试点,集成顺序,进度安排和风险识别等内容。

3.测试设计阶段:测试方案一般由对需求很熟的高资深的测试工程师设计,测试方案要求根据《SRS》上的每个需求点设计出包括需求点简介,测试思路和详细测试方法三部分的方案。《测试方案》编写完成后也需要进行评审。
4.测试方案阶段:主要是对测试用例和规程的设计。测试用例是根据《测试方案》来编写的,通过《测试方案》阶段,测试人员对整个系统需求有了详细的理解。这时开始编写用例才能保证用例的可执行和对需求的覆盖。测试用例需要包括测试项,用例级别,预置条件,操作步骤和预期结果。其中操作步骤和预期结果需要编写详细和明确。测试用例应该覆盖测试方案,而测试方案又覆盖了测试需求点,这样才能保证客户需求不遗漏。同样,测试用例也需要评审。
5.测试执行阶段:执行测试用例,及时提交有质量的Bug和测试日报,测试报告等相关文档。、

 

16.测试术语

  SSR :需求分析文档

  HLD :  概要设计文档

  LLD :详细设计文档

  BD   :基本设计

  DD  : 详细设计

  FD  :结构设计 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值