`
shoushou2001
  • 浏览: 33710 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

单元测试的一些问题

阅读更多

在部门推广单元测试,碰到了一些问题:

1、测试框架应提供的功能
  首先是一个公共测试基类,定义了数据源,是用JPA的,直接用注解定义了数据源。A项目报表比较多,经常需要准备很多测试数据,A项目的负责人想把该功能集成到测试基类中,我认为该功能是A项目独有的,不需要集成到测试基类,可封装到A项目的测试基类。

2、测试粒度
  测试粒度我认为是类的一个方法,在我们组里对应的应该是Service层的方法,DAO层是JPA的,用注解写的,全部是接口。B项目负责人认为测试粒度应该是一个业务,该业务可能做了很多事情。我认为这种业务应该把事情再细分,逐一进行单元测试,再进行业务的集成测试,至少关键的方法要写对应的单元测试。

3、测试时机
  真能做到TDD吗,即先写单元测试再写实现代码。现在基本都是写了实现代码,再写测试代码,这可能也受进度影响。而且单元测试代码基本如2所说的,就对主要业务写一个测试。感觉有点敷衍了事。

4、单元测试要关注什么
  由于我们刚单元测试刚起步,我推荐了Junit, Emma, EasyMock等工具,并指出要关注逻辑覆盖,但部分人员认为,我们初步先注重编写单元测试,可以不管单元测试的质量,只关注输入输出,所以先使用Junit,逻辑覆盖测试也不要求那么高,在Excel里面定义了输出输出并说明单元测试要做的事情,实际的测试代码能够完成Excel里定义的输入输出就行了。

 

5、有关单元测试的覆盖率

   要求覆盖率要达到80%,但这个覆盖率怎样定义呢?关键方法的覆盖率,关键业务的覆盖率,还是类的覆盖率,还是测试代码达到业务代码的80%?这个也是公说公有理,婆说婆有理的。


大家在实际中有遇到这些情况吗?有什么高见拿出来跟兄弟分享一下。

分享到:
评论

相关推荐

    JUnit单元测试原则 单元测试工具

    - 重构后再次运行单元测试以确保代码更改未引入新的问题。 7. **响应新需求或变更**: - 当组件出现新行为或需求变更时,编写新的测试用例以适应这些变化。 - 修改代码以确保新的测试用例通过。 8. **代码修改...

    单元测试的代码覆盖率至少80%

    一大早,一个年轻的程序员问大师:“我准备写一些单元测试用例。代码覆盖率应该达到多少为好?”大师回答道:“不要考虑代码覆盖率,只要写出一些好的测试用例即可。”  一大早,一个年轻的程序员问大师:  “我准备...

    软件单元测试计划.doc

    软件单元测试存在一些挑战和限制,例如测试时间和资源的限制、测试环境的配置、测试数据的准备等问题。理解这些挑战和限制,能够更好地进行软件单元测试。 软件单元测试计划是软件测试中的一种重要环节,对于软件的...

    单元测试 Vector Cast Train资料

    在软件开发领域,尤其是汽车电子软件的开发过程中,单元测试是一项至关重要的质量保证步骤。单元测试是对软件中的最小可测试单元进行检查,通常是函数、方法或类,以确保它们按照预期工作。它有助于早期发现和修复...

    基于RTRT单元测试

    ### 基于RTRT单元测试的知识点详解 #### 一、单元测试概述 **单元测试**是在软件开发过程中的一项基础性测试活动,它的主要目的是确保软件中的各个最小可测试单元(通常指一个单独的功能模块)能够按照预期正确...

    单元测试总结

    通过单元测试,开发者可以快速定位错误,避免在后期集成测试中发现大量问题。 JUnit是Java语言中最常用的单元测试框架,它提供了一套简单的API来编写和执行测试用例。`JUnit讲课文档.doc`应该包含了关于JUnit的详细...

    单元测试培训文档.pptx

    5. **依赖集成测试**:有的团队认为只要做好了集成测试就能捕获所有的问题,因此忽视了单元测试的作用。 6. **紧迫的开发周期**:在赶项目进度的情况下,为了尽快完成编码任务,往往会牺牲单元测试这一环节。 #### ...

    Testbed工具手册—单元测试方法V1.0.doc

    在使用Testbed工具进行单元测试时,可能会遇到一些问题,例如测试用例执行失败、软件崩溃等。解决这些问题的方法包括: ### 4.1 查看错误信息 在遇到问题时,需要查看错误信息,以便于了解问题的原因。错误信息是...

    软件开发计划书之十一:单元测试阶段--单元测试报告

    以下是关于单元测试阶段的一些详细知识点: 1. **单元测试的目标**: - 验证代码的功能和行为,确保它们符合设计规范。 - 发现并修复代码中的逻辑错误和异常情况。 - 提供快速反馈,帮助开发者在早期定位问题。 ...

    iOS单元测试最佳实践

    在进行iOS单元测试时,为了能够有效地进行代码测试和保证软件质量,开发者们通常会遵循一系列的最佳实践。这些最佳实践不仅能够帮助开发者们更加高效地编写测试用例,还能够确保测试用例能够覆盖应用的关键部分,...

    单元测试培训资料..ppt

    此外,集成测试并不能替代单元测试,因为系统的复杂性使得在集成阶段进行全面测试变得困难,可能会遗漏一些缺陷。 单元测试的成本效率在于,它能在早期发现问题,降低后续修改的代价。每次修改后都需要进行回归测试...

    JUnit单元测试技术

    通过单元测试,我们可以确保代码片段按照预期工作,同时在修改代码后能快速定位并修复可能引入的问题。 JUnit的核心组件包括测试注解、测试方法和断言。测试注解如`@Test`用于标记测试方法,这些方法通常不返回任何...

    软件测试——单元测试

    最后,单元测试还涉及一些常用的自动化工具,例如JUnit(Java)、pytest(Python)、NUnit(.NET)等,这些工具可以帮助开发者更高效地创建、执行和管理单元测试,提高测试覆盖率,减少手动测试的工作量。...

    单元测试文档单元测试文档

    单元测试对于在初始整合一小部分程序代码以及整合其余的改变之前提供了一些利益。如果有人需要变动现有的程序代码,事实上单元测试仍然可以让他对于其最后的程序代码更有信心;即他的改变不会破坏任何东西。愈好的...

    junit4.7单元测试

    使用 JUnit 4.7 进行单元测试时,应遵循一些最佳实践,如保持测试独立、避免副作用、确保测试覆盖所有代码分支等。同时,编写清晰、可读性强的测试代码也很重要,这样可以帮助其他开发者理解测试目的。 在实际项目...

Global site tag (gtag.js) - Google Analytics