实施测试和单元测试

时间:2011-05-12 09:18:58

标签: unit-testing testing terminology

我只是想知道单元测试和实现测试的区别是什么。我知道单元测试是使用定义的输入测试你的模块/类/对象,并根据一些定义的输出检查结果但是实现测试做了什么以及你如何做?实施测试在开发生命周期中也适用于哪里?

4 个答案:

答案 0 :(得分:6)

“实施测试”不是一个常见的表达方式。我怀疑你的意思是“集成测试”,因为这是常用的,特别是与单元测试相反。

集成测试意味着测试多个部分或全部系统一起工作。通常,测试模拟通过其常规UI使用系统的实际用户。

优点是,您不仅要测试每个组件是否符合其合同,还要测试它们是否正确组合和配置,并按预期进行交互 - 这些都是单元测试无法捕获的。另一方面,通常很难通过集成测试来详尽地测试边界条件,它们不太稳定并且执行时间更长。当然,在大多数系统工作之前,它们都无法运行(甚至不能写入)。

因此,集成测试在开发生命周期中发生的时间要晚于单元测试。

答案 1 :(得分:1)

我听说在两种不同的环境中使用了实施测试。首先,它可以是对设计的测试。如果你有复杂的逻辑,那么在你把它交给编码器之前你会逐步完成逻辑 - 这样你就不会浪费时间来实现你应该设计得更好的东西。我还听说它用作V& V(验证和验证)的另一个术语,您可以确保您的实施符合您的要求并满足客户的愿景。

答案 2 :(得分:0)

实施是PRE或POST。

在这种情况下,实施意味着"现场直播"即 - 投入生产。

因此,实施前测试意味着在实时测试前进行测试。 实施后测试意味着在现场环境中进行测试。

答案 3 :(得分:-1)

我使用Visual Studio测试工具,Testdriven.net和Excel,所有这些都很好的解决方案,我写了这个单元测试

[TestMethod()]
public void viewFolderTest()  
{
    string Err = "";
    connect_Excel("viewFolderTest");            
    DcDms actual;
    DaDoc target = new DaDoc(); 

    for (int i = 10; i < ds.Tables[0].Rows.Count; i++)
    {
        Err = "";

        TestRow = ds.Tables[0].Rows[i]["Row"].ToString();
        string expected = ds.Tables[0].Rows[i]["expected"].ToString();
        string ParentId = ds.Tables[0].Rows[i]["ParentId"].ToString(); 

        actual = target.viewFolder(ParentId);

        try
        {
            Assert.AreEqual(expected,actual.Tables[DcDms.Dms_vrFileFolder].Rows.Count.ToString());
        }
        catch (System.Exception ex)
        {
            Err = ex.Message;
            if (Err.Length >= 254)
            {
                Err = Err.Substring(0, 255);   
            }
            Update_Excel("viewFolderTest", "ERROR", Err, "Row", TestRow);
        }
        Update_Excel("viewFolderTest", "actual", actual.Tables[DcDms.Dms_vrFileFolder].Rows.Count.ToString(), "Row", TestRow);
        if (Err == "")
        {
            Update_Excel("viewFolderTest", "ERROR", "Pass", "Row", TestRow);
        }
    }          
}