自动化测试笔试题

  1. Javascript中,性能分析(Profiler)就是分析程序各个部分的运行时间,找出瓶颈所在,使用的方法是 console.profile()。

  2. 系统吞吐量的算法

  3. 等值分析测试=等价类划分+边界值分析测试

  4. 增量式集成测试特点:

  5. alpha测试Beta测试的区别:
    都需要用户参加。但是,alpha测试是用户在开发环境或者是公司内部模拟实际操作环境的测试。Beta是由最终用户来测试。

  6. 一些专业术语:
    SOW:statement of work,工作任务说明书
    HLD: High Level Design,概要设计说明书
    LLD: Low Level Design,详细设计说明书
    UTC: Unit Testing Cases,单元测试用例

  7. 压力测试,负载测试
    压力测试是测试软件的瓶颈和极限 负载测试是性能在极限情况下能坚持多久

  8. 覆盖语句
    六种覆盖方法中,覆盖准则由弱到强依次是语句覆盖、判定覆盖(分支覆盖)、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖

  9. 增量与非增量测试模式
    非增量–每个模块测试完了再连接;
    增量:测一个模块,就连接一个模块。
    非增量式集成测试是采用一步到位的方法来构造测试:对所有模块进行个别的单元测试后,按照程序结构图将各模块连接起来,把连接后的程序当作一个整体进行测试。
    增量集成测试:集成是逐步实现的,即逐次将未曾集成测试的模块和已经集成测试的模块(或 子系统)结合成程序包,再将这些模块集成为较大系统,在集成的过程中边连接边测试,以发现连接过程中产生的问题。(分为:自顶向下增量式测试、自底向上增量式测试、混合增量式测
    试)

  10. 测试用例设计方法:
    1、等价类划分
    2、边界值分析
    3、因果图
    4、功能图分析
    5、错误推测
    6、判定表驱动分析
    7、正交实验设计
    8、场景设计

  11. 软件调试技术:
    试探法(强行排错法),
    回溯法:人工沿着程序的控制流程往跟踪代码,直到找出错误根源为止
    对分查找法:缩小错误的范围,
    归纳演绎
    原因排除法

  12. 给“登录”设计测试用例

  • 从功能上
    输入:
类别 用户名 密码 验证码
正确的 正确的用户名 正确的密码
错误的 空值 空值
空值 正确的
正确的 空值
不符合要求的(特殊字符) 正确的
正确的 不符合要求的(特殊字符)
超过所需字符限制 正确的
少于所需字符的限制 正确的
正确的 超过字符限制的
正确的 超少于字符限制的
用户是否注册 已注册的用户 不正确的密码
未注册的用户 密码
如果存在验证码验证 正确的用户名 正确的密码 不正确的验证码
不正确的 不正确的 正确的验证码
  • 从UI上:
    是否符合原型图的设计

  • 从安全上:
    密码在后台是否有加密
    登录是否具有互斥性

  • 从兼容性上:
    如果是web,多个浏览器是否表现良好
    如果是web, 浏览器的不同版本是否表现良好
    如果是web, app上的浏览器是否表现良好
    如果是app,多款手机,不同平台(Android, IOS)是否表现良好
    如果是app, 多款手机,是否表现良好

  • 从易用性上:
    是否好输入,不存在难以输入的情况
    Tab,Enter键是否能够使用

  • 从性能上:

    • 登录花费的时间,响应时间是否小于3秒
    • 单用户登录时,后台请求数量是否多
    • 高并发场景下用户登录的响应时间是否小于5秒
    • 长时间大量用户连续登录和登出,服务器端是否存在泄漏
  1. git 操作
    Q:如何回滚到上一次的commitbr> A: 方法一: git log查看对应的值,然后git reset –hard commit-id
    方法二: git reset –hard HEAD^

  2. BDD (Behavior Driven Development
    将用户故事表达方式用GWT表示出来(简明扼要的小故事)
    Given:给定什么上下文/条件 AND/Or其他条件
    When:当触发什么条件
    Then:产生了什么结果And/Or其他结果

  3. 测试的流程具体说一下
    需求分析->测试计划->编写测试用例->测试用例评审->执行测试用例->测试 告

  4. 好的测试用例怎么定义br> 是一个完备的集合,可以覆盖所有的等价类的以及各种边界值,而和是否发现缺陷无关。

  5. 自动化集成(Continuous integration,简称CI)的阶段步骤
    持续集成: 频繁的将代码集成到主干
    好处:快速发现问题,防止分支大幅度偏离主干

    1. 提交
    2. 测试(第一轮,至少要进行一次单元测试)
      单元测试:针对函数或者模块的测试
      集成测试:针对整体产品的某个功能的测试,又称功能测试
      端到端测试:从用户界面直达数据库的全链路测试
    3. 构建
    4. 测试(第二轮,可以省略)
    5. 部署
    6. 回滚(如果有问题)
  6. 自动化测试的好处

  7. 减少手工的重复工作,提高效率

  8. 可以用于回归,然后提高持续集成的能力

  9. 一个高质量的缺陷 告单
    包含日期,编 ,标题,具体过程,附件(可以是图片等),前置条件,预期结果,实际结果,环境配置,严重程度,优先级,执行人 。

  10. 常见的ajax状态码的意义
    200 —表示请求成功
    201 –created 成功
    304 – 重定向
    400 – bad request 请求参数错误
    401 – 没有权限 Not Authorized
    403 – Forbidden 没有权限
    404 – Not Found 找不到
    500 –服务器端错误
    504 – 关超时

  11. 持续集成
    自动编译 -> 自动代码检查 ->自动打包 ->自动化测试 ->自动部署

  12. Page Object是什么
    页面对象模型:是selenium中的一种测试设计模式,一个页面对象代表用户界面交互测试的一个区域。
    好处:创建可重用的代码,可以跨多个测试用例共享;减少重复代码的数量;如果用户界面更改,只需要修改一个地方。

  13. APP的测试有哪些/p>

    1. 安装与卸载
    2. UI测试
    3. 登录运行
    4. 切换测试
    5. 兼容性测试
    6. 升级更新
    7. 异常测试
    8. 络测试
    9. 权限测试
  14. 关于HTTP
    HTTP:超文本传输协议
    HTTP方法:GET ,POST,PUT,DELETE,HEAD(取得 文头部,可用来确认URL有效性以及资源的更新日期),OPTIONS(询问URL支持的资源的方法)

  15. Jmeter的相关问题

    1. jmeter是用来做什么的br> jmeter是一个开源的,java编写的,可以用来做性能,接口测试的工具。它可以用来分析web 应用程序和各种服务性能和负载功能性为。
    2. jmeter的工作原理
      将请求发送给服务器,然后收集来自于服务器端的响应及其他数据,然后通过图形或者表格显示应用程序或者服务器的性能。
    3. 测试元件的执行顺序
      配置元件 -> 前置条件 -> 计时器 ->取样器->后置处理器->断言->监听器
  16. . 络的五层结构模型
    应用层,传输层, 络层,数据链路层,物理层

  17. http与https的区别:
    http:明文传输,不安全,用的端口是80,http的连接是无状态的
    https:https在http上增加了SSL安全加密,需要申请证书,有的证书是需要收费的,端口是443.是有ssl+http构建的可进行加密传输,身份认证的协议。

  18. linux 下查找出jdk的安装路径

  19. 配置了java环境变量,可以使用

echo $JAVA_HOME

  1. 通过which java

java -version
which java
ls -lrt /user/bin/java
ls -lrt /etc/alternatives/java

其中:ls -lrt 命令表示按修改时间倒序输出,最新修改的文件会排在下面

  1. 数据库
  • 更新数据库的一个字段:

举例:
update student set name =“hh” where id =1

  • 是页面显示一个数据
    INSERT INTO student values(1, “xiao”,10)
  • 复杂的三表联合查询
  1. 同步,异步的概念
    同步(Synchronous):在一段时间内,A完成后B接着完成,整个处理过程是顺序执行。必须等A返回,B才能开始。
    异步(Asynchronous):在一段时间内,发出了A的动作,无法直接得到A的结果,再次期间,可能去处理B了,直到A完成了,通过状态,通知,回调来通知调用者。

  2. bug 的生命周期
    新建->指派->解决->验证->关闭

  3. bug的级别分类严重性(1,2,3,4):

    1. 系统崩溃,数据泄露,数据丢失,金钱出问题,安全性被破坏
    2. 操作错误,结果错误,功能遗漏
    3. 小问题,拼写错误,UI布局,罕见错误
    4. 建议

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年6月22日
下一篇 2020年6月22日

相关推荐