2011-05-12 303 views
2

我只是想知道与单元测试和实现测试有什么不同。我知道单元测试是使用定义的输入来测试你的模块/类/对象,并根据一些定义的输出来检查结果,但是实现测试做了什么?你如何做?另外,实现测试在开发生命周期中是否适合?执行测试和单元测试

回答

6

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

集成测试装置测试多个部件或系统的所有共同行动。通常,测试通过常规用户界面模拟实际用户与系统一起工作。

的好处是,你不只是测试每个组件是否履行其合同,也无论他们是由并正确配置和预期互动 - 东西,你不能与单元测试赶上。另一方面,通常很难用集成测试穷举地测试边界条件,它们不太稳定并且需要更长的时间来执行。当然,在大多数系统正常工作之前,它们不能运行(甚至不能写入)。

因此,集成测试在开发周期比单元测试更晚发生。

+0

谢谢@Michael Borgwardt。有没有可以提供帮助的应用程序?我记得有一个应用程序,我看到很多天以前欺骗浏览器。您可以对其进行编码以触发事件并返回结果,例如提交表单 – 2011-05-12 15:10:32

+0

您可能正在考虑Selenium。 – 2011-05-12 16:35:10

+0

@Richard:有很多这样的测试框架,但是对于网络应用程序来说,现在最流行的就是Selenium(它并不欺骗浏览器,但使用插件来远程控制一个真正的浏览器)。 – 2011-05-13 07:40:01

0

我与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); 
     } 
    }   
} 
+1

这个问题不仅仅是实现。 – 2012-09-25 21:28:24

1

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

0

执行是PRE或POST。

在这种情况下,实施办法“将活”即 - 进入生产。

所以实施前的检测手段在预督促测试之前住。 实施后测试意味着在现场环境中进行测试,一旦实现。