• 自动化笔试题


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

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

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

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

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

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

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

    ②接口自动化测试:

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

    ③APP自动化测试:

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

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

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

    自动化测试主要工作场景

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

      功能自动化测试脚本开发

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

      性能自动化测试脚本开发

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

      接口测试代码开发

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

      单元测试代码开发

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

      常见框架:Gtest、Cunit、Junit等

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

    1. 业务和代码分离,封装性好。
    2. 用例之间耦合性低,独立性强,易于扩展维护

    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

  • 相关阅读:
    mysqllog
    清理:db上面的过期的binlog,释放磁盘空间。 (转)
    linux下shell命令trap
    mvc
    uci随笔
    luci 随笔
    shell脚本 整数比较
    lua学习
    OPENWRT make menuconfig错误之一
    openwrt 中make的使用
  • 原文地址:https://www.cnblogs.com/dengvv/p/7767528.html
Copyright © 2020-2023  润新知