自动化笔试题

1.黑盒测试和白盒测试的区别?

2.自动化测试类型按效率从高到低的顺序?

3.介绍下熟悉的测试工具

4.接口测试和界面自动化测试的区别

①WEB的UI自动化测试的优缺点:

缺点:开发效率低、维护成本高、执行速度慢等等

优点:用户操作真实性强。

②接口自动化测试:

UI自动化的缺点它都能进行弥补,但同时它也存在一个最大的问题:用户操作真实性不强。

③APP自动化测试:

5.自动化测试使用的场景

自动化测试是一种手段,真正能发现缺陷(Bug)的是手工测试。如果项目满足以下一种或多种条件,就可以考虑引入自动化测试了---产品需求变更较少、项目开发周期较长、测试用例执行频繁、手工测试无法胜任、人物财力资源充足。

适合自动化的测试类型:单元测试回归测试性能测试接口测试协议测试

自动化测试主要工作场景

黑盒级自动化测试脚本开发

  功能自动化测试脚本开发

    主要作用:用程序代替人工功能回归测试执行

  性能自动化测试脚本开发

    主要作用:实现大规模的并行操作、大量重复操作测试、性能指标监控等。常见测试脚本开发语言:python、ruby、vbscript、Perl、Tcl、Shell脚本等
非黑盒级自动化测试代码开发

  接口测试代码开发

    主要作用:能够重复的进行接口测试

  单元测试代码开发

    主要作用:能够重复的进行单元测试

  常见框架:Gtest、Cunit、Junit等

6.高质量的自动化脚本特性

7.自动化脚本有时成功,有时失败,导致这种不稳定的原因有哪些?

配置环境引起问题,包括:
a、自动化测试脚本的配置。
b、对测试程序进行配置。如:是否还原初始设置、是否删除某些数据。
c、对浏览器进行配置。
d、对与测试程序有关的程序或影响脚本稳定性的程序进行配置。

对于非配置环境引起的问题,又分为如下几类:
a、网络延时,识别对象的同步问题。
b、未知因素引起脚本失败。
c、未知因素引起脚本运行中断。
d、自动化脚本本身使用了不稳定的因素。
e、脚本的继承性,上个脚本失败导致了下一个脚本也失败。

对于程序更新引起的问题,分为如下几类:
a、程序更新,导致大量脚本失败。大量脚本失败,原因又分很多种,情况比较复杂:有整个页面都发生了变化、有业务逻辑发生变化、有控件类型发生变化、有程序修改的是最频繁使用的控件。如果是业务逻辑发生变化,则改起来比较费力。
b、程序更新,导致少量脚本失败。少量脚本失败,一般主要流程没变,修改起来相对容易。

8.打印斐波纳数列前20项,(1 1 2 3 5 8)

public class Dome{
    public static void main(String[] args) {
        int []array=new int[20];
        array[0]=1;
        array[1]=1;
        for (int i=2;i<array.length;i++ ){
            array[i]=array[i-1]+array[i-2];
        }
        //遍历数组并打印输出。
        for (int i=0;i<array.length;i++ ){
            System.out.print(array[i]+" ");
        }
    }
}

9.递归函数n!

import java.util.Scanner; 

/**
 * @Description: 用递归和非递归算阶乘
 */ 

public class test {
    // 递归
    public static int factorial(int m) {
        if (m < 0){
            return 0;
        }
        else if (m == 1){
            return 1;
        }
        else{
            return m * factorial(m - 1);
        }
    }
    // 非递归
    public static int noFactorial(int m){
        if (m < 0){
            return 0;
        }
        else if (m == 1){
            return 1;
        }
        else{
            int sum = 1;
            for (int i = 2; i <= m; i++)
                sum = sum * i;
            return sum;
        }
    }

    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.print("输入一个数N:");
        int n = scanner.nextInt();
        System.out.println("它的阶乘为(递归):" + factorial(n));
        System.out.println("它的阶乘为(非递归):" + noFactorial(n));
    }
}
import java.util.Scanner;

public class test {
    public static int Factorial(int n) {
        if (n < 0) {
            System.out.println("无效输入,请重新输入!");
            return 0;
        } else if (n == 1 || n == 0) {
            return 1;
        } else
            return n * Factorial(n - 1);
    }

    public static void main(String[] args) {
        System.out.println("请输入n: ");
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        System.out.println("n! "+n+" is "+Factorial(n));
    }
}

10.最大的两位无符号二进制整数转换为十进制数的是:4095

时间: 2024-07-30 19:22:49

自动化笔试题的相关文章

自动化笔试题持续总结

1.Jmeter自动获取手机验证码 https://www.cnblogs.com/only-love-you-519920/p/7742809.html 2.Jmeter中使用循环如何保证数据不重复 https://jingyan.baidu.com/article/d5a880ebbae90213f047cc4a.html 3.用户登录接口循环10次,要求手机号和密码不重复. 用unittest+ddt,或pytest实现参数化. 4.登录接口的token值如何供其他接口使用 存在全局变量中

【转】嵌入式软件工程师经典笔试题

嵌入式软件工程师经典笔试题 > 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中 有多少秒而不是计算出实际的值,是更清晰而没有代价的. 3).

腾讯web前端开发工程师笔试题及答案

1. 如何实现事件委托? 首先要知道什么是事件委托. 考虑一个列表,在li的数量非常少的时候,为每一个li添加事件侦听当然不会存在太多性能方面的问题,但是当列表非常的长,长到上百上千甚至上万的时候(当然只是一个解释,实际工作中很少遇到这么多li的情况),为每个li添加事件侦听就会对页面性能产生很大的影响. 就像下面这段代码: <!DOCTYPE HTML><html><head><meta charset="utf-8" /><ti

ThoughtWorks笔试题之Merchant&#39;s Guide To The Galaxy解析

一.背景 在某网站上看到ThoughtWorks在武汉招人,待遇在本地还算不错,就投递了简历.第二天HR就打开电话,基本了解了一下情况(工作环境不错,男人妹子比例:1:1,双休,六险一金,满一年年假15天,病假8天,月薪1W--2W).然后立马收到一封:Coding Assignment的笔试题目.网上搜索了一下,发现这个公司还是挺大的,公司面试流程是出了名的繁杂和苛刻.据说有8轮:电话面试=>笔试=>Homework=>结对编程(中午管饭)=>技术面试=>PM面试=>

java各公司笔试题集1

IBM笔试题 注:IBM笔试题一小时之内完成,题目全部用英文描述,这里用中文表述 一.名词解释 1.Eclipse 2.J2EE 3.EJB 4.Ajax 5.Web service 二.找出以下代码问题 public class test{ public void print(String str){ char[] s=str: } } public class a{ public static void main(String [] args){ puts() } } 三.写出以下输出 pu

腾讯笔试题:满二叉排序树,任给3个子节点,找他们最大的公共父节点

腾讯笔试题出现了和这个类似的题目,没做出来,现在来好好解决这个问题吧,先从基本的开始. 先吐槽一下:感觉算法设计什么的,真的超级难,也许是我头脑太笨,转不过弯来吧,呵呵. 题目是这样的:一棵满二叉排序树,有K层,节点的值依次为 1~2k-1.现在告诉你树的高度是4层,给定你3个节点,比如9,11, 13,那么最大的公共父节点是12. 现在想起来这题我已经想出来一半了呀,但是大概人在紧张的时候大脑会思维短路,跳不出原有的思维陷阱.想法是这样的: 1. 首先是从根节点开始,如果给的三个叶节点的值其中

2017CVTE笔试题

下面是凭记忆整理的2017CVTE校招笔试题,基本上全都是我不会或很模糊的题,为了更好突出重点我以问答题的形式来描述题目. 1. 中序遍历是属于层次遍历.广度优先遍历.深度优先遍历中的哪一种? 答:层次遍历是指一层一层的遍历树中的节点,广度优先遍历是指遍历完它所有的兄弟节点后再开始遍历其孩子节点,因此层次遍历也属于广度优先遍历.深度优先遍历就是顺着节点的孩子节点一直往下搜索,直到没有孩子节点时才开始搜索叶子节点,常见的前序遍历.中序遍历.后序遍历就是属于深度优先遍历. 2. 产生死锁的4个条件,

c++笔试题贪吃蛇问题

贪吃蛇 现在有一个N*M(N,M=100)的方形矩形,在这个矩形的每一个方格上都放有一个随机值,一条可爱的小蛇从矩形的 左上角开始出发,每次移动都只能移动一格,向右或向下,而每到达一格贪吃的小蛇都会吧该位置上的值吃个一干二净,直到到达右下角时停止.而贪吃的小蛇不怕撑死,它只想吃到最多,并输出路径. #include <iostream> #include<string> #include <cstring> #include<vector> #include

多线程关于腾讯笔试题

今天在头条上看到一道据说是腾讯的笔试题,闲来无事,准备验证一下! 题目如下: 有一个变量int a=0:两个线程同时进行+1操作,每个线程加100次,不加锁,最后a的值是()? 根据我的理解答案不唯一,最大是两百,最小是2吧.直接上代码: class MyThread implements Runnable { static volatile long i = 0; public void run() { for (int m = 0; m < 100; m++) { i++; } } }; p