ChatGPT与单元测试

2023-12-16

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客文章浏览阅读1.3k次,点赞59次,收藏8次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5501 icon-default.png?t=N7T8 https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5501

1 最基本的单元测试

1.1Java计算器

输入

下面一段代码生成JUnit5架构的单元测试用例

package com.jerry;
public class Calculator{
    private static int result; 
    public void add(int n) {
        result = result + n;
    }
    public void substract(int n) {
        result = result - n;  
    }
    public void multiply(int n) {
           result = result * n;
    } 
    public void divide(int n){
           try {    
                  result = result / n;
           }catch(ArithmeticException ex){
                  System.out.println(ex);
                  throw new ArithmeticException("The n not allowed to 0!!");
           }
    }
}

ChatGPT回答

下面是基于你提供的代码生成的JUnit5架构的单元测试用例:

package com.jerry;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
public class CalculatorTest {
    private Calculator calculator;
    @BeforeEach
    public void setUp() {
        calculator = new Calculator();
        calculator.result = 10; // 初始值
    }
    @Test
    public void testAdd() {    
        calculator.add(5);
        assertEquals(15, calculator.result);
    }
    @Test
    public void testSubstract() {
        calculator.substract(3);
        assertEquals(7, calculator.result);
    }
    @Test
    public void testMultiply() {
        calculator.multiply(2);
        assertEquals(20, calculator.result);
    }
    @Test
    public void testDivide() {
        calculator.divide(2);
        assertEquals(5, calculator.result);
    }
    @Test
    public void testDivideByZero() {
        ArithmeticException exception = assertThrows(ArithmeticException.class, () -> calculator.divide(0));    
        assertEquals("The n not allowed to 0!!", exception.getMessage());
    }
}

这些测试用例覆盖了Calculator类中的所有方法,并且检查了各种情况下的预期行为。

运行代码

测试通过

1.2 Python计算器

unittest架构

输入

下面代码生成unittest架构的单元测试用例

#!/usr/bin/env python
#coding:utf-8
__metaclass_=type
class calculator:
    def __init__(self,result):
        self.result=int(result)
    def add(self,n):
        self.result = self.result + n
    def subs(self,n):
        self.result = self.result - n    
    def multiply(self,n):
        self.result = self.result * n
    def divide(self,n):
        try:
            self.result = self.result/n
        except ZeroDivisionError:
            print ("除数不能为零")
            self.result = 0
    def getResult(self):
        return self.result;
    def clear(self):
        self.result = 0;

ChatGPT回答

import unittest
from calculator import calculator
class TestCalculator(unittest.TestCase):
    def setUp(self):
        self.calc = calculator(10)
    def test_add(self):
        self.calc.add(5)
        self.assertEqual(self.calc.getResult(), 15)
    def test_subs(self):    
        self.calc.subs(3)
        self.assertEqual(self.calc.getResult(), 7)
    def test_multiply(self):
        self.calc.multiply(2)
        self.assertEqual(self.calc.getResult(), 20)
    def test_divide(self):
        self.calc.divide(2)
        self.assertEqual(self.calc.getResult(), 5)
    def test_divide_by_zero(self):
        self.calc.divide(0)
        self.assertEqual(self.calc.getResult(), 0)
    def test_clear(self):
        self.calc.clear()
        self.assertEqual(self.calc.getResult(), 0)
if __name__ == '__main__':
unittest.main()

请注意,这段代码假设已经有一个名为calculator的类定义在calculator.py文件中。测试用例中的setUp方法用于初始化calculator实例,test_add、test_subs、test_multiply、test_divide、test_divide_by_zero和test_clear分别对calculator类的各个方法进行测试。

运行

测试通过

pytest架构

输入

下面代码生成pytest架构的单元测试用例

#!/usr/bin/env python
#coding:utf-8
__metaclass_=type
class calculator:
    def __init__(self,result):
        self.result=int(result)
    def add(self,n):
        self.result = self.result + n
    def subs(self,n):
        self.result = self.result - n
    def multiply(self,n):
        self.result = self.result * n
    def divide(self,n):
        try:
            self.result = self.result/n
        except ZeroDivisionError:
            print ("除数不能为零")
            self.result = 0
    def getResult(self):    
        return self.result;
    def clear(self):
        self.result = 0;

ChatGPT回答

下面是将给定的计算器类转换为pytest架构的单元测试用例的代码示例:

import pytest
class TestCalculator:
    @pytest.fixture
    def calculator_instance(self):
        from your_module import calculator  # 将your_module替换为你的模块名
        calc = calculator(10)  # 假设初始结果为10
        yield calc
    def test_add(self, calculator_instance):
        calculator_instance.add(5)
        assert calculator_instance.getResult() == 15
    def test_subs(self, calculator_instance):
        calculator_instance.subs(3)
        assert calculator_instance.getResult() == 7
    def test_multiply(self, calculator_instance):
        calculator_instance.multiply(2)
        assert calculator_instance.getResult() == 20    
    def test_divide(self, calculator_instance):
        calculator_instance.divide(5)
        assert calculator_instance.getResult() == 2
    def test_divide_by_zero(self, calculator_instance):
        calculator_instance.divide(0)
        assert calculator_instance.getResult() == 0
    def test_clear(self, calculator_instance):
        calculator_instance.clear()
        assert calculator_instance.getResult() == 0

在这个示例中,我们使用pytest的@pytest.fixture装饰器创建了一个fixture,用于实例化计算器类。然后,我们定义了多个测试方法,每个方法对应计算器类的不同功能,并使用assert语句来验证计算结果是否符合预期。请将your_module替换为你的模块名。

修改代码
from your_module import calculator  # 将your_module替换为你的模块名

改为

from alculator import calculator
运行

测试通过

2 Mock技术

2.1 Java Mock的技术

输入

对下面Account.java、AccountManager.java AccountService.java 3个文件书写基于JUnit5和Mockito的单元测试用例

Account.java

package com.Account.JUnit5Project;
           
public class Account
{
    private String accountId;
    private long balance;
    public Account(String accountId, long initialBalance)
{
        this.accountId = accountId;
        this.balance = initialBalance;
    }
    //借记
    public void debit( long amount )
{    
        this.balance -= amount;
    }
    //信用
    public void credit( long amount )
{
        this.balance += amount;
    }
    public long getBalance()
{
        return this.balance;
    }
}

AccountManager.java

package com.Account.JUnit5Project;
import com.Account.JUnit5Project.Account;
public interface AccountManager
{
    Account findAccountForUser(String userId );
    void updateAccount(Account account );    
}

AccountService.java

package com.Account.JUnit5Project;    
import com.Account.JUnit5Project.Account;
import com.Account.JUnit5Project.AccountManager;
public class AccountService
{
       //使用的帐户管理器实现
    private AccountManager accountManager;
           
    //设置帐户管理器实现的设置方法
    public void setAccountManager( AccountManager manager )
{
        this.accountManager = manager;
    }
    //一个设置客户经理实现从账户到账户的senderId beneficiaryId setter方法。
    //senderId:转出方Id
    //beneficiaryId:收益方Id
    //amount:金额
    public void transfer( String senderId, String beneficiaryId, long amount )
{
        //初始化转出方与收益方,findAccountForUser为接口类方法
           Account sender = this.accountManager.findAccountForUser( senderId );
        Account beneficiary = this.accountManager.findAccountForUser( beneficiaryId );    
        //转入和收益
        sender.debit( amount );
        beneficiary.credit( amount );
        //更新,updateAccount为接口类方法
        this.accountManager.updateAccount( sender );
        this.accountManager.updateAccount( beneficiary );
    }
}

ChatGPT回答

下面是基于JUnit5和Mockito的单元测试用例,分别针对Account.java、AccountManager.java和AccountService.java这三个类进行测试。

package com.Account.JUnit5Project;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.BeforeEach;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
public class AccountTest {
    private Account account;
    @BeforeEach
    public void setUp() {
        account = new Account("12345", 1000);    
    }
    @Test
    public void testDebit() {
        account.debit(500);
        assertEquals(500, account.getBalance());
    }
    @Test
    public void testCredit() {
        account.credit(200);
        assertEquals(1200, account.getBalance());
    }
}
package com.Account.JUnit5Project;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
public class AccountServiceTest {
    private AccountService accountService;
    private AccountManager accountManager;
    @BeforeEach
    public void setUp() {
        accountService = new AccountService();    
        accountManager = mock(AccountManager.class);
        accountService.setAccountManager(accountManager);
    }
    @Test
    public void testTransfer() {
        Account sender = new Account("sender123", 1000);
        Account beneficiary = new Account("beneficiary456", 2000);
        when(accountManager.findAccountForUser("sender123")).thenReturn(sender);
     when(accountManager.findAccountForUser("beneficiary456")).thenReturn(beneficiary);
        accountService.transfer("sender123", "beneficiary456", 500);
        assertEquals(500, sender.getBalance());
        assertEquals(2500, beneficiary.getBalance());
        verify(accountManager, times(1)).updateAccount(sender);
        verify(accountManager, times(1)).updateAccount(beneficiary);
    }
}

在这里,我们使用了JUnit5的注解@BeforeEach和@Test来初始化测试环境和编写测试用例。同时,使用了Mockito来模拟AccountManager接口的实现,并对AccountService的transfer方法进行测试。

希望这个示例对你有所帮助!

运行代码

没有定义

import org.junit.jupiter.api.BeforeEach;

修改代码

加上import org.junit.jupiter.api.BeforeEach;

测试通过

2.2  python Mock技术

输入

被测代码

core.py

#!/usr/bin/env python
#coding:utf-8
           
class Score:
    def __init__(self):
        pass
    def get_score_by_student_id(self, student_id):
        pass    
    def get_address_average_score(self,student_id):
        # 成绩信息:{"Chinese":95,"Mathematics":97,"English":100}
        score = self.get_score_by_student_id(student_id)
        return (score.get("Chinese")+ score.get("Mathematics")+ score.get("English"))/3

基于core.py使用,使用from unittest import mock和pytest-mock生成单元测试代码

ChatGPT回答

你可以使用unittest.mock和pytest-mock来生成基于core.py的单元测试代码。首先,你需要安装pytest-mock库:

pip3 install pytest-mock

然后,你可以创建一个测试文件test_core.py,并在其中使用unittest.mock和pytest-mock来编写测试代码。以下是一个可能的示例:

test_core.py

import pytest
from unittest.mock import Mock
from core import Score
def test_get_address_average_score(mocker):
    # 创建一个Score实例
    score = Score()
    # 使用pytest-mock的patch来模拟get_score_by_student_id方法
    mock_get_score = mocker.patch.object(score, 'get_score_by_student_id')    
    mock_get_score.return_value = {"Chinese": 95, "Mathematics": 97, "English": 100}
    # 测试get_address_average_score方法
    assert score.get_address_average_score(123) == (95 + 97 + 100) / 3

在这个示例中,我们使用pytest-mock的mocker对象来模拟get_score_by_student_id方法的返回值,并使用assert语句来验证get_address_average_score方法的行为。

你可以根据实际情况修改测试用例,并使用更多的unittest.mock和pytest-mock功能来编写更复杂的测试代码。希望这可以帮助到你!

运行代码

测试通过

3 单元测试覆盖率

3.1 Java单元测试覆盖率

输入

产品代码如下

process.py

class process:
    def myfunction(self,x, a, b):
        if ((a>1) and (b==0)):x=x/a     
        if((a==2) or (x>1)):x=x+1 
        return x

test_process.py

#!/usr/bin/env python
#coding:utf-8
from process import process
import unittest
class TestProcess(unittest.TestCase):
    p= process()
    def test_case1(self):
        self.assertEqual(self.p.myfunction(1,2,0),1)
        
    def test_case2(self):
        self.assertEqual(self.p.myfunction(0,4,0),0)
    def test_case3(self):
        self.assertEqual(self.p.myfunction(1,2,1),2)
    def test_case4(self):
        self.assertEqual(self.p.myfunction(0,1,1),0)
  if __name__ == '__main__':
unittest.main()

给出测试代码test_process.py测试产品代码process.py后的测试覆盖率

ChatGPT回答

你可以使用coverage工具来计算Python代码的测试覆盖率。首先,确保你已经安装了coverage包。然后在命令行中运行以下命令:

coverage run test_process.py

这将运行你的测试用例并收集覆盖率数据。接下来,运行以下命令来生成覆盖率报告:

coverage report -m

这将显示测试覆盖率的详细报告,包括哪些行被测试覆盖了,哪些行没有被测试覆盖。

结论

ChatGPT没有给答案,经给了个方法

3.2 Python单元测试覆盖率

输入

产品代码如下

process.java

package com.jerry;
public class process {
       public int myfunction(int x, int a, int b) {
                     if ((a>1) && (b==0)) x=x/a; 
               if((a==2) || (x>1)) x=x+1; 
               return x;
       }
}

testprocess.java

package com.jerry;    
import static org.junit.Assert.*;
import org.junit.Test;
public class Testprocess {
       private static process p = new process();
       @Test
       public void test1() {
              assertEquals(p.myfunction(1,2,0),1);
       }
       @Test
       public void test2() {
              assertEquals(p.myfunction(0,4,0),0);
       }
       @Test
       public void test3() {
              assertEquals(p.myfunction(1,2,0),1);
       }
       @Test
       public void test4() {
              assertEquals(p.myfunction(0,1,1),0);
       }
}

给出测试代码testprocess.java测试产品代码process.java后的测试覆盖率

ChatGPT回答

为了计算测试覆盖率,你可以使用JaCoCo代码覆盖率工具。首先,确保你的项目中已经包含了JaCoCo插件。然后,你可以使用构建工具(比如Maven或Gradle)来生成测试覆盖率报告。

如果你使用Maven作为构建工具,你可以在项目的pom.xml文件中添加JaCoCo插件配置:

<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
<executions>
 <execution>
 <goals>
<goal>prepare-agent</goal>
 </goals>
 </execution>
 <execution>
 <id>report</id>
<phase>test</phase>
 <goals>
<goal>report</goal>
 </goals>
 </execution>
</executions>
</plugin>
</plugins>
</build>

然后,在命令行中执行以下命令来运行测试并生成覆盖率报告:

mvn clean test

执行完上述命令后,你可以在项目的target目录中找到JaCoCo生成的测试覆盖率报告。报告通常以HTML格式呈现,你可以在浏览器中打开查看详细的覆盖率信息。

通过这个过程,你就可以得到测试代码testprocess.java对产品代码process.java的测试覆盖率情况。

结论

ChatGPT没有给答案,经给了个方法

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时, 请及时加入群: 786229024 ,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】 在这里插入图片描述
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。 在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ChatGPT与单元测试 的相关文章

  • Python 异常 - args 属性如何自动设置?

    假设我定义了以下异常 gt gt gt class MyError Exception def init self arg1 pass 然后我实例化该类以创建异常对象 gt gt gt e MyError abc gt gt gt e ar
  • 如何让Python的socket服务器永远运行

    我有这段代码创建了一个简单的Python套接字服务器 但是每次客户端断开连接时它都会关闭 如何让它永远运行 import socket HOST PORT 8000 s socket socket socket AF INET socket
  • 使用 Pillow 和 Numpy 进行图像推导

    I have two images and 我想导出一个只有红色 Hello 的图像 例如 所以我正在运行一个简单的推导python脚本 from PIL import Image import numpy as np root root
  • 向 polls urls.py 添加额外的过滤器会导致测试失败

    按照 djangoproject 的教程 我尝试让 urls py 过滤掉没有选择下面 urlpattern 的民意调查 urlpatterns patterns url r ListView as view queryset Poll o
  • 如何使 Django ManyToMany “直通”查询更加高效?

    我使用的是 ManyToManyField 和 through 类 这会在获取事物列表时产生大量查询 我想知道是否有更有效的方法 例如 这里有一些描述书籍及其几位作者的简化类 它们通过角色类 定义 编辑器 插画家 等角色 class Per
  • 是否可以在 Sphinx 中隐藏 Python 函数参数?

    假设我有以下函数 该函数记录在Numpydoc 风格 https github com numpy numpy blob master doc HOWTO DOCUMENT rst txt 并且文档是自动生成的Sphinx http sph
  • [python]没有属性“TessBaseAPI”

    当我编译代码时出现错误 import tessercat api tesseract TessBaseAPI 错误是 AttributeError 模块 对象没有属性 TessBaseAPI 我已经安装了tesseract via pip
  • 检查多维 numpy 数组的所有边是否都是零数组

    n 维数组有 2n 个边 1 维数组有 2 个端点 2 维数组有 4 个边或边 3 维数组有 6 个 2 维面 4 维数组有 8 个边 ETC 这类似于抽象 n 维立方体发生的情况 我想检查 n 维数组的所有边是否仅由零组成 以下是边由零组
  • __getitem__、__setitem__ 如何处理切片?

    我正在运行 Python 2 7 10 我需要拦截列表中的更改 我所说的 更改 是指在浅层意义上修改列表的任何内容 如果列表由相同顺序的相同对象组成 则列表不会更改 无论这些对象的状态如何 否则 它会更改 我不需要找出来how列表已经改变
  • 使用Python进行图像识别[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个想法 就是我想识别图像中的字母 可能是 bmp或 jpg 例如 这是一个包含字母 S 的 bmp 图像 我想做的是使用Pyth
  • 来自数据框 groupby 的条形图

    import pandas as pd import numpy as np import matplotlib pyplot as plt df pd read csv arrests csv df df replace np nan 0
  • Python代码执行时自动打开浏览器

    我正在 Python Flask 中实现 GUI Flask 的设计方式是 必须 手动 打开本地主机以及端口号 有没有一种方法可以使其自动化 以便在运行代码时自动打开浏览器 本地主机 我尝试使用 webbrowser 包 但它在会话终止后打
  • 直接打开Spyder还是通过Pythonxy打开?

    之前 我一直在运行PythonSpyder 我总是开始Spyder直接双击其图标 今天突然发现我还有一个东西叫Python x y 我注意到我也可以开始Spyder通过它 这两种方法有什么区别吗 如果不是的话 有什么意义Python x y
  • Bottle 是否可以处理没有并发的请求?

    起初 我认为 Bottle 会并发处理请求 所以我编写了如下测试代码 import json from bottle import Bottle run request response get post import time app B
  • Numpy 通过一个数组的值总结另一个数组

    我正在尝试找到一种矢量化方法来完成以下任务 假设我有一个 x 和 y 值的数组 请注意 x 值并不总是整数并且可以为负数 import numpy as np x np array 1 1 1 3 2 2 2 5 4 4 dtype flo
  • Learning_rate 不是合法参数

    我正在尝试通过实现 GridSearchCV 来测试我的模型 但我似乎无法在 GridSearch 中添加学习率和动量作为参数 每当我尝试通过添加这些代码来执行代码时 我都会收到错误 这是我创建的模型 def define model op
  • 使用 plone.api 创建文件的 Python 脚本在设置文件时出现错误 WrongType

    Dears 我正在创建一个脚本python来在Plone站点中批量上传文件 安装是UnifiedInstaller Plone 4 3 10 该脚本读取了一个txt 并且该txt以分号分隔 在新创建的项目中设置文件时出现错误 下面是脚本 f
  • Docker Build 找不到 pip

    尝试关注一些 1 https aws amazon com blogs aws run docker apps locally using the elastic beanstalk eb cli 2 http docs aws amazo
  • 单击 selenium 中的链接时循环遍历表格的行(python)

    示例页面源代码如下所示 div class div1 table class foot market tbody td class today name td tbody tbody td class today name td tbody
  • 使用 Python 进行 Google 搜索网页抓取 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 最近为了工作中的一些项目 学习了很多python 目前我需要使用谷歌搜索结果进行一些网络抓取 我发现几

随机推荐

  • WMASF.DLL文件缺少导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个WMASF D
  • UI自动化测试方案

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞60次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动
  • Selenium定位元素的方法css和xpath的区别!

    selenium是一种自动化测试工具 它可以通过不同的定位方式来识别网页上的元素 如id name class tag link text partial link text css和xpath css和xpath是两种常用的定位方式 它们
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞60次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动
  • 作业帮2024届秋招/校招内推信息/内推码

    公司名称 作业帮 内推码 NTABmy8 内推来源 内推鸭小程序 2000 企业内推人发布内推码 官方招聘网站
  • SQL语句---select基本查询语句

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞62次 收藏10次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 比特大陆/算能科技2024届秋招/校招内推信息/内推码

    公司名称 比特大陆 算能科技 内推码 ISKTJR 内推来源 内推鸭小程序 2000 企业内推人发布内推码 官方招聘网站
  • Jmeter post请求传参问题

    同线程组引用参数 新增数据bizId 然后将此次新增数据删除 添加新增 数据接口 然后查询数据列表 正则表达式提取bizId 在删除接口引用此值 bizId 添加断言 执行查看结果 json格式的post请求 摘要 正在执行的活动内容修改
  • 沐瞳科技2024届秋招/校招内推信息/内推码

    公司名称 沐瞳科技 内推码 TC4GYC9 内推来源 内推鸭小程序 官方招聘网站 沐瞳科技内推
  • wmi.dll文件缺少导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个wmi dll
  • 自动化技术框架选型的思考

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 5k次 点赞69次 收藏10次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 思特威2024届秋招/校招内推信息/内推码

    公司名称 思特威 内推码 3741B75 内推来源 内推鸭小程序 2000 企业内推人发布内推码 官方招聘网站 https www ivvajob com company sitewei 80wCo25I273 positionList w
  • Python自动化测试工具Selenium使用踩坑

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞60次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动
  • 诗悦网络2024届秋招/校招内推信息/内推码

    公司名称 诗悦网络 内推码 NTANdQx 内推来源 内推鸭小程序 官方招聘网站 广州诗悦网络科技有限公司 内部推荐
  • 如何使用Python开发Qt应用的自动化测试

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞60次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动
  • 计算机SSM毕设选题 停车位租赁管理系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2 1 界面展示 3 设计方案 3 1 概述 3 2 系统业务流程 3 3 系统结构设计 4 项目获取
  • 50万次测试工作,APP自动化测试、性能测试、稳定性测试经验分享!

    几年的测试工作下来 除了日常的功能特性的测试 还完成了自己负责APP相关测试体系从零到一的建设 今天借由这个机会 做一个简单的梳理 将在这个过程中自己的一些思考 踩过的坑等做一个整理 分享给各位供参考 1 自动化测试 自动化测试主要包括几个
  • 华为OD机试真题-符号运算-2023年OD统一考试(C卷)

    题目描述 给定一个表达式 求其分数计算结果 表达式的限制如下 1 所有的输入数字皆为正整数 包括0 2 仅支持四则运算 和括号 3 结果为整数或分数 分数必须化为最简格式 比如6 3 4 7 8 90 7 4 除数可能为0 如果遇到这种情况
  • ureg.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个ureg dl
  • ChatGPT与单元测试

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客文章浏览阅读1 3k次 点赞59次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动化