华为-2022-测试面试题

文章目录

      • 一、源数组a,将a中所有元素乘以2之后组成一个新数组,则这个新数组就叫双倍数组,给你一个数组a,判断它是不是双倍数组,如果是则输出源数组,不是则输出空数组。
      • 二、如果想把一个文件移动到另一个文件夹里面去,用什么命令
      • 三、自我介绍
      • 四、你觉得功能测试,按照你的理解,工作内容包括哪些?
      • 五、黑盒测试和白盒测试的区别
      • 六、假设我们公司现在开发一个类似于微信的软件1.0版本,现在要你测试这个功能:打开聊天窗口,输入文本,限制字数在200字以内。问你怎么提取测试点。
      • 七、接口测试的工具你了解哪些。

一、源数组a,将a中所有元素乘以2之后组成一个新数组,则这个新数组就叫双倍数组,给你一个数组a,判断它是不是双倍数组,如果是则输出源数组,不是则输出空数组。

def is_double_array(a):
    # 类型检查,在处理之前确保传入参数 a 是一个列表,并且列表中的每个元素都是数字。
    # 使用 isinstance 函数确保传入参数 a 是一个列表,并且列表中的每个元素都是整数或浮点数。如果不符合要求,则抛出 ValueError 异常。
    if not isinstance(a, list) or not all(isinstance(x, (int, float)) for x in a):
        raise ValueError("Input must be a list of numbers")

    # 特殊情况处理:空数组
    if not a:
        return []

    # 生成将a中所有元素乘以2的新数组
    b = [2 * x for x in a]

    # 检查是否所有元素都为0
    if all(x == 0 for x in a):
        return []

    # 判断是否为双倍数组
    if b == a:
        return a  # 如果a等于b,即为双倍数组,返回源数组a
    else:
        return []  # 如果a不等于b,即不为双倍数组,返回空数组


# 测试
a = [1, 2, 3, 4, 5]
result = is_double_array(a)
if result:
    print("源数组为:", result)
else:
    print("该数组不是双倍数组,输出空数组:", result)

二、如果想把一个文件移动到另一个文件夹里面去,用什么命令

1、如果是在Linux或MacOS系统下,可以使用mv命令来移动文件。

mv [源文件路径] [目标文件夹路径] 

其中,mv命令既可以用来移动文件,也可以用来重命名文件。

2、例如,将/home/user/test.txt文件移动到/home/user/backup文件夹中,可以使用如下命令:

 mv /home/user/test.txt /home/user/backup/

三、自我介绍

根据情况自我介绍。

四、你觉得功能测试,按照你的理解,工作内容包括哪些?

功能测试是软件测试中最常见和基础的测试类型之一,其主要目的是验证软件系统是否符合功能需求和规格说明书的要求。根据我的理解,功能测试的工作内容包括以下几个方面:

1、需求分析:功能测试的第一步是分析系统的需求和规格说明书,了解系统应该具备的功能特性,以便针对不同的功能需求制定测试计划和测试用例。

2、测试计划和用例设计:在了解系统功能需求的基础上,制定测试计划和测试用例,包括测试目标、测试环境、测试步骤、预期结果等内容。

3、测试执行:按照测试计划和测试用例执行测试,记录测试结果,包括测试通过、失败、错误等情况,及时反馈给开发人员进行问题修复和迭代。

4、缺陷管理:对测试过程中发现的缺陷进行记录、归档和追踪,跟踪缺陷的修复进度,确保缺陷得到及时修复和验证。

5、自动化测试:在功能测试的基础上,根据测试需求和用例,编写自动化测试脚本,提高测试效率和可靠性,同时节约测试资源和时间。

6、 测试报告和总结:对测试结果进行分析和总结,编写测试报告,包括测试覆盖率、测试通过率、缺陷统计、测试建议等,向相关人员汇报测试结果和测试建议。

需要注意的是,功能测试的具体工作内容还受到测试对象、测试方法、测试环境等多方面因素的影响,需要根据实际情况进行调整和补充。同时,测试人员还需要具备良好的沟通、协调、分析和解决问题的能力,以确保测试工作顺利进行并达到预期效果。

分析需求说明书>提取测试点>制定测试计划>编写测试用例>执行测试用例>制作测试报告

五、黑盒测试和白盒测试的区别

黑盒测试和白盒测试是软件测试中常用的两种测试方法,它们的主要区别在于测试人员是否了解被测试软件的内部结构和实现细节。

黑盒测试(Black Box Testing)是一种测试方法,它把被测试软件看作一个黑盒子,只关心软件的输入和输出,而忽略软件内部的实现细节。黑盒测试通常通过输入各种不同的数据、使用各种场景和操作组合等方式,来验证软件是否能够正确地响应和输出预期的结果。测试人员通常不需要知道被测试软件的具体实现和内部结构,只需要从用户的角度出发进行测试,以发现软件中的功能性和非功能性问题。

白盒测试(White Box Testing)是一种测试方法,它需要测试人员了解被测试软件的内部结构和实现细节。在白盒测试中,测试人员通常会根据软件的内部结构和实现细节,设计和执行一系列测试用例,以验证软件内部的逻辑是否正确、代码是否符合标准等方面的问题。白盒测试通常需要测试人员具备一定的编程和代码分析能力,以便深入了解软件的内部结构和实现方式,从而更加全面地进行测试。

综上所述,黑盒测试和白盒测试的区别在于测试人员是否了解被测试软件的内部结构和实现细节。在实际测试中,测试人员可以根据测试对象的特点和测试需求,综合使用黑盒测试和白盒测试等多种测试方法,以达到全面、高效、有效地测试目的。

六、假设我们公司现在开发一个类似于微信的软件1.0版本,现在要你测试这个功能:打开聊天窗口,输入文本,限制字数在200字以内。问你怎么提取测试点。

针对打开聊天窗口并输入文本,限制字数在200字以内的测试需求,可以提取以下测试点:

1、输入文本测试点:输入中英文、数字、符号、表情等各种类型的文本,测试是否能够正确输入并显示;

2、字数限制测试点:输入200字及以下、201字及以上的文本,测试是否能够正确限制字数;

3、界面响应测试点:测试在输入文本时,是否会出现闪退、卡顿、界面错位等异常情况;

4、显示效果测试点:测试文本的显示效果,包括字体、字号、颜色等是否符合要求;

5、输入边界测试点:测试输入空格、回车、换行等边界情况是否正确处理;

6、输入速度测试点:测试用户快速输入文本时,是否会出现丢字、串字等异常情况;

7、输入撤销测试点:测试是否支持输入撤销功能;

8、输入复制测试点:测试是否支持输入复制功能。

通过以上测试点的提取,可以设计并执行全面、高效、有效的测试用例,以验证该软件功能是否符合要求,从而提高软件的质量和用户体验。

七、接口测试的工具你了解哪些。

Postman:功能强大的API测试工具,支持多种请求方法、请求参数类型,可以进行接口测试、自动化测试、调试等。

Fiddler:一个HTTP调试代理工具,可以抓取HTTP请求和响应,方便进行接口调试和性能分析。

JMeter:开源的负载测试工具,也可以用于接口测试,支持多种协议,如HTTP、FTP、JMS等。

SoapUI:基于Java的API测试工具,支持SOAP和REST协议,可以对接口进行功能测试、性能测试、安全测试等。

Rest-Assured:基于Java的REST API测试库,可与JUnit、TestNG等测试框架结合使用,提供了丰富的API,方便进行接口测试。

Swagger:一种API文档和测试工具,可以自动生成API文档和测试代码,方便测试人员进行接口测试和文档编写。

HTTPie:一个命令行工具,支持多种请求方法和参数类型,可以快速、方便地进行接口测试。

总的来说,这些接口测试工具都有其优缺点,选择使用哪个工具需要根据实际项目需求和个人经验来进行选择。

接口手工测试 postman/apifox/metersphere/apipost/jmeter
接口自动化测试 python+requests、java+httpclient、postman/apifox,metersphere,jmeter,其他测试平台
接口性能测试 jmeter,LR,locust
接口抓包 fiddler、charles、postman,开发者工具F12,burpsuite

你可能感兴趣的:(软件测试,华为,软件测试)