gpt4 book ai didi

c# - 我可以设置单元测试运行多次并返回成功百分比吗?

转载 作者:行者123 更新时间:2023-11-30 14:54:50 24 4
gpt4 key购买 nike

我是单元测试的新手,一直在网上搜索,试图弄清楚如何进一步自动化我的单元测试。我正在构建一个注册方案,我想做的是用各种硬盘驱动器序列号、应用程序编号等对其进行测试。我想生成一个注册 key ,然后检查它以确保它正确解码。我希望通过各种输入自动运行测试(使用集成的 Visual Studio 测试环境),并在运行数千次后,找出​​测试成功和失败的百分比。这可能吗?下面是我的测试方法:

[TestMethod]
public void GeneratingValidKeyTest()
{
int numReadDevices;
string appNum = "123";
string hddSerial = "1234567890";
string numDevices = "12";
string regNumber = Registration.GenerateKey(appNum, numDevices, hddSerial);
Assert.IsTrue(Registration.CheckKey(regNumber, appNum, out numReadDevices, hddSerial), "Generated key does not pass check.");
Assert.AreEqual(int.Parse(numDevices), numReadDevices,"Number of registered devices does not match requested number");
}

最佳答案

就我个人而言,我发现“在方法中投入大量随机数据并确保一切正常”的方法没有什么值(value)。

如果您为该方法提供 500 个不同的序列号并且它们都有效,那很好。但是他们在您的代码中测试了哪些特定场景?如果您无法回答该问题,则可能是在重复测试场景,更重要的是,遗漏测试场景。

与其将测试用例扔到墙上看看有什么用,不如分析您的代码并确定关键的成功和失败标准,并设计执行这些标准的测试。这样做的一个附带好处是使您的测试更加冗长,并让您的团队成员仅通过阅读测试名称就可以更好地了解代码应该做什么。取而代之的是GeneratingValidKeyTest,您的测试应该被命名为它们描述他们正在测试的内容

例如,假设您正在构建一个计算器。使用您的方法,您会抛出大量的加法案例——1+1、1+3、5+30 等。但您很可能会错过 1+Int32.MaxValue。或者您可能不会尝试添加负数。或者测试如果输入不是有效数字会发生什么。等等。

好的测试会迫使您在编写测试时考虑所有这些类型的场景。

关于c# - 我可以设置单元测试运行多次并返回成功百分比吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26869806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com