软件测试常见的问题(理论题)

目录

写好测试用例的关键 /写好用例要关注的维度?

软件测试的分类?

测试流程是什么?

测试的原则是?

软件测试的黑盒白盒灰盒的区别?

       黑盒测试

     白盒测试

     灰盒测试

软件测试的开始条件和结束条件分别是什么?

怎么保证百分之百覆盖用户需求?

常见的测试风险有哪些?

常见的测试方法有哪些?

产品上线后发现bug怎么办?

开发不认为是bug的时候怎么办?

如何跟踪bug?

Bug的关注点有哪些?

你发现一个bug后怎么处理?

Bug的状态有哪些?

用linux命令把a.log文件中的包含 Error 字符串的内容提取出来,追加到b.log文件中?

用linux命令从远程服务器(192.168.2.1)上把/root/log拷贝到本地的/opt目录下?

用linux命令在当前文件夹中查找a.log?

查看可用内存,磁盘大小和CPU使用率的命令?

查看内存:free

磁盘大小:df -h

CPU使用率: top

测试环境怎么搭建的?

在需求文档不太详细的情况下,如何开展一个web端项目测试?

项目中的订单怎么测试?(主要测试订单的状态变化)?

项目中的支付模块怎么测试?

项目中的登录怎么测试?

Python中的模块有哪些?

Python中的2.0和3.0有什么区别?

用自己熟悉的语言编写一个9*9乘法表?

用自己熟悉的语言编写一个冒泡排序?

用自己熟悉的语言编写一个2分排序?

显示等待 隐式等待 强制等待的区别以及对应的代码是?

常见的定位方式有哪些?Web端和app端?

Adb查看当前运行的APP的包名和打开的Activity?

Adb先监控日志中关于START关键字的日志?

Adb 将 安卓/data目录下a.txt文件 下载到D:\test中?

Charles中如何进行请求断点替换?

Charles中如何进行响应断点替换?

Charles中如何进行对app端抓包?

Charles中如何进行弱网测试?

Charles中如何模拟404/403?

Jmeter中如何进行对数据库压测?

Jmeter中如何实现参数化关联?

Ant+jmeter+jenkins 如何实现的(关键步骤)?

tps和qps的区别?

Cookie和session的区别?

你知道的请求方式有哪些以及区别?

举例说明下你的自动化如何做的?

你知道的测试框架有哪些都怎么用的?

自动化中如何切换不同的浏览器和iframe的以及对应的代码?

切换 iframe

切换 窗口

如果有验证码功能怎么实现自动化?

请你简单的浅谈一下你了解的po模型?


写好测试用例的关键 /写好用例要关注的维度?

  1. 覆盖用户的需求;

  2. 从用户使用场景出发,考虑用户的各种正常和异常的使用场景;

  3. 用例的颗粒大小要均匀。通常,一个测试用例对应一个场景;

  4. 用例各个要素要齐全,步骤应该足够详细,容易被其它测试工程师读懂,并能顺利执行;

  5. 做好用例评审,及时更新测试用例。

做好测试用例工作的关键是要充分考虑测试计划的实用性,坚持5W1H的原则,采用评审和更新机制以及测试策略。

要充分考虑测试计划的实用性,即测试计划与实际之间的接近程度和可操作性。

要坚持“5W1H”的原则,明确测试内容与过程。采用评审和更新机制,确保测试计划满足实际需求。

因为软件项目是一个渐进的过程,中间不可避免地会发生需求变化,为满足需求变化,测试计划也需要及时地进行变更。

测试策略要作为测试的重点进行描述。测试策略是测试计划中的重要组成部分,测试计划是从宏观上说明一个项目的测试需求、测试方法、测试人员安排等因素。

维度:功能、性能、安全、网络、界面、易用

UI 测试、功能、易用性、容错性:特殊字符测试性能、兼容性测试:IE8/9/10/11 谷歌浏览器 火狐浏览器、安全

软件测试的分类?

白盒测试
指的是把盒子盖打开,去研究里边源代码和程序结构(单元测试,ui/接口自动化测试)
黑盒测试
把被测试的软件看做一个黑盒子,我们不去关心盒子里边的结构是什么样子,只关心软件的输入数据和输出结果

功能测试
逻辑功能测试
测试应用是否符合逻辑,比如应该先注册账号之后,才能进行登录,登录之后才能看我的购物车
界面测试
窗口大小,按钮大小,点击按钮弹出什么样的提示框,是否有滚动条,下拉菜单是否有展示内容
易用测试
从软件使用的合理性和方便性等角度对软件系统进行检查,比如,软件窗口长宽比例是否合适,颜色色彩是否赏心悦目,字体大小是否合适
安装测试
安装磁盘空间不足,安装中断(关闭程序,关机,,)下次安装时是否继续上次的安装等。。。
兼容测试
硬件兼容性测试和软件兼容性测试(硬件兼容性:比如一款软件在pc机,笔记本,主机上是否兼容,软件兼容性测试:比如一款软件在window8和window10上是否兼容)

性能测试
负载测试
让被测系统在其能够忍受的压力范围之内连续运行,来测试系统的稳定性。(测试载重)
压力测试
持续不断的给被测试的系统增加压力,直到被测试的系统压垮为止,用来测试系统所承受的最大压力。(测试强度)

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

冒烟测试
对一个软件进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。

单元测试 是指对软件中的最小可测试单元进行检查和验证

集成测试 集成测试是单元测试的下一个阶段,是指将通过测试的单元模块组装成系统或者子系统,再进行测试,重点测试不同模块的接口部分。

系统测试 指的是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。

验收测试 以用户为主的测试,软件开发人员和质量保证人员参加

测试流程是什么?

立项(确定项目)–编写需求(需求人员)–需求评审(编写需求人员发起)–

开发编写概要和详细设计(编码并自测[开发环境])
测试:测试用例-测试用例评审(测试人员发起)–

部署环境–冒烟测试(通过)–提交bug–回归测试(测试报告)–验收测试–上线

测试的原则是?

1.应当把“尽早和不断的测试” 作为开发者的座右铭

2.设计测试用例时,应该考虑到合法的输入和不合法的输入,以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如网络异常终端,电源断电等情况

3.一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大关系

4.对测试错误结果一定要有一个确认的过程,一般有A测试出来结果,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析

5.制定严格的测试计划,并把测试时间安排的尽量宽松,不要希望在极短的时间内我弄成一个高水平的测试

6.回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见

7.妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档

软件测试的黑盒白盒灰盒的区别?

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

1.从测试目标和依据来说:黑盒面对的是产品设计,白盒针对的是程序功能的实现,灰盒针对兼而有之,既要考虑产品设计要求,又考虑到功能实现的效果。

2.从实现者而言:黑盒在意的是客户的角度,白盒测试针对的研发人员。

3.从测试模块颗粒度而言:白盒在意的是代码实现层面,而灰盒更加侧重模块之间,颗粒度大于白盒。

4.在版本层面上,白盒测试一般发生在debug版本,灰盒大多一般在release版本进行。

5.从测试效果而言,大量的bug在黑盒测试阶段测试出来,而白盒和灰盒测试的bug数目相对较少。

6.从耗时上来讲,在同等时间内,一般白盒和灰盒的耗时长,bug数量少,一般表现为时间产出比较低,很难大范围普及白盒。黑盒相对bug时间投入产出比较高。黑盒入门较为容易,其次是灰盒,白盒入门门槛教黑盒高很多。

任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。
黑盒测试 :已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试 :已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。

黑盒测试
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。

黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在 接口 上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?

具体的黑盒测试方法包括等价类划分、因果图、正交实验设计法、边值分析、判定表驱动法、功能测试等。
1、等价类划分 :
等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例可以不用考虑程序的内部结构,只以对程序的要求和说明,即需求规格说明书为依据,仔细分析和推敲说明书的各项需求,特别是功能需求,把说明中对输入的要求和输出的要求区别开来并加以分解。
2、边界值分析 :
软件测试常用的一个方法是把测试工作按同样的形式划分。对数据进行软件测试,就是检查用户输入的信息、返回结果以及中间计算结果是否正确。边界值分析(Boundary Value Analysis,BVA)是一种补充等价划分的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。
3、错误推测法:是基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例.
4、因果图:考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型).
  因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.
  就是使用已经造好了的正交表格来安排试验并进行数据分析的一种方法,目的是用最少的测试用例达到最高的测试覆盖率

白盒测试
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值