一旦测试用例写出来之后,我们大可以忘了它们是从那种颜色的箱子里出来的,用它可以了。

1.2功能测试

以下的测试术语都是主要测试软件的功能。在下表所列的测试中,测试的范围有小到大,测试者也由内到外–从程序开发人员(单元测试)到测试人员,到一般用户(Alpha/Beta测试)。


测试名称测试内容
UnitTest单元测试–在低的功能/参数上验证程序的正确性
FunctionalTest功能测试–验证模块的功能
IntegrationTest集成测试–验证几个互相有依赖关系的模块的功能
ScenarioTest场景测试–验证几个模块是否能够完成一个用户场景
SystemTest系统测试–对于整个系统功能的测试
Alpha/BetaTest外部软件测试人员(Alpha/Beta测试员)在实际用户环境中对软件进行全面的测试。

1.3非功能测试

一个软件除了基本功能之外,还有很多功能之外的特性,这些叫“non-functionalrequirement”,或者“qualityofservicerequirement”-服务质量需求。没有软件的功能,这些特性都无从表现出来,我们要在软件开发的适当阶段做这些测试。
比如:

测试名称测试内容
Stress/loadtest测试软件在负载情况下能否正常工作
Performancetest测试软件的效能
Accessibilitytest测试软件辅助功能测试–测试软件是否向残疾用户提供足够的辅助功能
Localization/GlobalizationTest本地化/全球化测试
CompatibilityTest兼容性测试
ConfigurationTest配置测试–测试软件在各种配置下能否正常工作
UsabilityTest可用性测试–测试软件是否好用
SecurityTest软件安全性测试

 

1.4UnitTest单元测试

二柱:我们也试过用单元测试来保证质量,要求每人都要写,在签入代码前必须通过单元测试。但是搞了几个星期不了了之。

大家七嘴八舌的列举了单元测试的问题:
-有时单元测试报了错,再运行一次好了,后来大家不想花时间改错,多运行几次,有一次通过行了。
-单元测试中好多错都和环境有关,在别人的机器都运行不成功。
-花在单元测试上的时间要比写代码的时间还多
-单元测试中我们还要测试效能和压力,花了很多时间
-我们都这么费劲地测了,那还要测试人员干什么?

1.4.1用VSTS写单元测试

单元测试的基本构成
Setup//设置好环境,准备测试
Test//测试
Teardown//打扫战场
例子:我们要写一个银行账户的类,那么它的单元测试应该怎么写?
谁自告奋勇上来表演一下写代码?小飞,好请上台。

小飞写了下面的代码:
定义interfaceIAccount

实现publicclassAccount:IAccount
{
}

每个函数都使用临时代码

好,现在右键按住Account,可以看到“CreateUnitTests”的菜单,选中之后,会出来新建UnitTests的对话框:
每个函数都可以选中是否产生单元测试。