习题-第5章单元测试
一、选择题
1.以下哪个不是单元测试框架( )
A.MSTest B.NUnit C.TestNG D.TestDirector
2.以下哪个单元测试框架不支持C#语言( )
A.MSTest B.NUnit C.XUnit.Net D.JUnit
3.在Visual Studio集成环境下,使用MSTest单元测试框架进行测试,( )标记测试类。
A.[TestClass] B.[TestMethod] C.@Test D.@TestClass
4.在Visual Studio集成环境下,使用MSTest单元测试框架进行测试,( )标记测试方法。
A.[TestClass] B.[TestMethod] C.@Test D.@TestClass
5.已知MsTest单元测试的断言语句Assert.AreEqual( expected, actual, tolerance, message)中,tolerance是( )。
A.期望得到的值 B.实际的值 C.误差参数 D.实际值和期望值不一致时的提示信息
6.在MsTest单元测试中,当执行了无效的动作或者输入了无效的数据,检查程序是否相应抛出异常,需要使用异常的断言( )。
A.[TestException] B.[Exception] C.[ExpectedException] D.[CatchException]
7.在MsTest单元测试中,( )和( )分别对应测试类初始化函数和销毁函数。
A.TestInitialize和TestCleanup B.ClassInitialize和ClassCleanup
C.AssemblyInitialize和AssemblyCleanup D.Setup和TearDown
8.在MsTest单元测试中,要使用外部数据源填充测试数据,需使用特性( )。
A.[DataBase] B.[DataClass] C.[DataProvider] D.[DataSource]
9.测试驱动的开发过程为,红色—绿色—( )。
A.黄色 B.蓝色 C.重构 D.封装
10.在单元测试中使用构造函数解除依赖时,如果被测代码需要多个桩对象才能正常工作,对于桩对象的管理,可以使用( )工具管理。
A.IDE B.Eclipse C.IoC容器 D.Visual Studio
11.要解除外部依赖可以使用一些外部依赖的模拟工具进行隔离,以下哪个不是隔离工具( )
A.LoadRunner B.Microsoft Fakes C.Moq D.Rhino Mocks
二、判断题
1.单元测试应该由测试工程师来编写,因为程序员自己写的代码往往测不出问题。
2.经过了单元测试的代码才是完成的代码。
3.不管怎样,集成测试将会抓住所有的Bug。
4.单元测试的对象可以是一个菜单或一个按钮,通过用户界面来测试程序功能。
5.重构是指对功能优化调整,使它更容易维护和变更。
6.单元测试要求代码覆盖率必须达到100%。
7.在Martin Fowler的测试金字塔中,认为基于UI的测试比集成测试、单元测试少很多。
8.数据驱动是对系统中已有依赖或协作项的一个替代品,用它解除依赖。
9.Java语言写的WebDriver测试程序通常使用MSTest测试框架运行。
10.单元测试的对象可以是一个菜单或一个按钮,通过用户界面来测试程序功能。
三、填空题
1.单元测试中,一个单元指的是_________。
2.测试驱动开发的英文缩写是_________,先编写测试代码,再进行开发。
3.单元测试方法的命名规则是[方法名][测试场景][________]。
4.在Visual Studio集成环境下,使用MSTest单元测试框架进行测试,默认已添加测试框架程序集Microsoft.VisualStudio.TestTools.____________。
5.在Visual Studio集成环境下,使用MSTest单元测试框架进行测试,Assert.________(expectedObject, message)的作用是验证指定的条件是否为true。
6.在Visual Studio集成环境下,使用MSTest单元测试框架进行测试,Assert._________(expectedObject, actualObject, message),验证指定的值是否相等。
7.________以测试用例为指导要求开发人员,开发出符合测试用例的程序,然后通过测试用例对程序进行验收。
8.在MSTest单元测试代码中,断言类的关键字是___________。
9.单元测试中一个方法往往又会调用其他的方法或属性,这些统称为_____________。
10.白盒测试中的逻辑覆盖法包括语句覆盖、___________、路径覆盖等。
11.编写单元测试代码可按照3A模式设计,arrange、act和__ ____。
12.Microsoft Fakes通过使用______________或者shim来替换应用程序的某个部分,从而起到隔离代码的作用。
四、简答题
1.什么是单元测试。
2.如何做单元测试。
3.单元测试的优点。
4.在编写单元测试时,什么是3A原则。
5.如何进行测试驱动开发?
6.什么是测试驱动开发?
7.请描述单元测试的作用。
五、设计题
1.做过的单元测试作业。