在VS2010中为我们的软件测试提供了很多功能及管理工具。这其中包括有:Test View、Test List Editor、Test Results、Code coverage Results、Test Runs以及在VS2010中新增的功能Test Impact View。
工具介绍
下面我们一一来介绍VS中为我们提供的工具。
首先我新建了一个简单的待测试的工程:CalculatorLibrary,在Class1中,添加了一段简单的代码,如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CalculatorLibrary { public class Class1 { public Int32 AddInteger(Int32 num1, Int32 num2) { return num1 + num2; } } }
接下来我们创建一个测试工程,工程默认命名可以不用修改,直接点击OK按钮。
现在我们的工程结构就变成以下这样了。多出了一个TestProject1工程,以及另外三个文件:
AutomationTest.vsmdi是一个XML文件,它包含测试列表中的所有信息,直接双击它可以打开Test List Editor窗口。
其余两个文件是用于配置。
我们要写单元测试,那我们必须要把被测试的工程引用进TestProject1工程,然后修改UnitTest1.cs代码如下:
using System; using System.Text; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; using CalculatorLibrary; namespace TestProject1 { [TestClass] public class UnitTest1 { [TestMethod] public void TestMethod1() { Class1 class1 = new Class1(); Int32 num1 = 1; Int32 num2 = 5; Int32 actualNum = class1.AddInteger(1, 5); Assert.AreEqual<Int32>(6, actualNum); } } }
现在我们就完成了一个简单的单元测试了。允许测试代码和我们平常运行代码有点不同,不能直接使用Ctrl+F5来运行,也不能直接使用F5来调试代码,毕竟一个测试工程只是一个类库工程。我们可以在VS面板上找到如下图所示这么一排按钮用来运行及调试测试代码。
接下来我们就通过上面那个简单的单元测试来看看VS2010中测试中使用的工具。
Test View
VS2010中提供Test View窗口来看查看当前解决方案中所有的Test。我们在VS2010的Test菜单项中,选中Windows选项,其中包括了之前列举的所有窗口,我们打开Test View窗口,如下图所示:
Test View窗口可以为我们提供各种分组及过滤条件来显示我们的测试用例,在这个窗口的最左上角有一个按钮,我们可以通过单击它来运行或者调试我们选中的测试用例。
此外,我们还可以通过在该窗口右键,选中Add/Remove Columns选项来显示更多的详细信息。
Test List Editor
Test List Editor拥有Test View所有功能,此外Test List Editor还提供了更多的功能,比如为选中的多个测试用例创建一个新的测试列表。
我们可以看见Test List Editor被分割成两个窗口,左边窗口显示三个节点,而右边则是显示出你左边选择节点的测试用例。
有时我们不能单单通过测试类别来为我们需要测试的功能来进行分类,这时就可以利用我们的列表来为我们功能点进行一个划分。
Test View窗口是用来查询测试用例,而Test List Editor窗口更多是用来为我们的测试进行分门别类的,虽然它也拥有Test View所有的功能。
我们选中之前我们创建的TestMethod1,右键选中New Test List选项,填好名称(我使用的SimpleTest)及描述之后点确定,现在我就把刚刚我们创建的测试用例放到SimpleTest列表下了。
Test Results
该窗口为我们提供测试用例运行的状态、错误信息以及提供按钮让我们重新运行或者调试我们的测试用例,不管它是否通过或者失败等功能。在Test Results中还可以导入和导出测试结果,我们也可以在每个通过的测试用例上双击查看更详细的报告或者错误的定位。
在VS2010中无论我们执行什么样的测试,总会有一个测试结果生成,它是个XML文件,后缀名为.trx,我们可以在Test Results窗口中将它导出来进行保存。
Code Coverage Results
VS提供在测试的过程中检查代码覆盖率的功能。在测试工程中,默认是没有开启这个功能的,我们需要手动去配置中开启。我们点开local.testsettings这个文件,选择Data and Diagnostics这个选项。
然后我们可以看见该选择列表项左上角的Configure按钮现在可以使用了,我们点击一下它,出现如下图示,选择我们要测试的那个文件,点击OK。
配置完成之后,我们重新运行一下我们写的测试用例,然后在我们可以打开Code Coverage Results窗口,查看我们的代码覆盖率的情况了。
代码覆盖率的结果也可以进行单独导出保存。