51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1972|回复: 0
打印 上一主题 下一主题

Test Coverage and testing angles

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-12-31 17:06:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
How do you know if you have good coverage on your new code?

Try and remove a line or a constraint check. If all tests still pass – you don't have enough code coverage and you probably need to add another unit test.

The best way to make sure you are adding the correct test is to not let yourself uncomment that line or check until you can produce a test that will fail until you uncomment it. It may be hard but if you can’t think of a way this would fail, you probably don’t have a good excuse for writing that line of code, do you?



Why is this a problem? Because you never know when the next developer will show up and try to play with your code, maybe try to optimize it, or wrongly delete some precious line of your code.  If you don’t have a test that will fail, they will never know they made a mistake.



You might also want to try and replace various usage of parameters that are passed in to your method with consts. For example given this method,






Public int Sum(int x, int y, bool allowNegatives)
{
   If(!allowNegatives)
{
        If(x<0||y<0)
        Throw new Exception();
}
   Return x+y;
}



here are some variations of testing for test coverage:

   


If(!true)
{
        If(x<0||y<0)
        Throw new Exception();
}

Or

   If(!allowNegatives)
{
        If(false||y<0)
        Throw new Exception();
}

Or

If(!allowNegatives)
{
        If(x<0||false)
        Throw new Exception();
}

If all the tests still pass, you’re missing a test.



Another red flag: If you have only one test that checks for various equality to values.

Seeing this:

Assert.AreEqual(3,retval);

Happen only once in relation to some method usually means you can safely return 3 as a value and all the tests for this method will still pass.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-25 13:24 , Processed in 0.070284 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表