单元测试原则
所有Logic接口中所有的方法实现必须有单元测试,其他层中的方法暂时不做单元测试;
单元测试以“实现类名+Test”命名,使用测试接口的包名作为单元测试类的包名,如对于com.qusiness.logic.LoginLogic,测试类为com.qusiness.logic.LoginLogicTest;
单元测试放在项目的test源代码文件路径中;
单元测试中的每个方法为一个测试场景,按照“test+方法名+场景名”规则命名,例如testLoginNormal和testLoginException,分别对应正常场景和异常场景,正常场景名可以省略Normal,直接使用“test+方法名”,即testLogin;
每个接口中的方法中至少有一个正常测试场景,用来检查逻辑是否正常执行,必须用代码来实现“如果结果是正确的,我怎么能知道呢?”;
正常测试场景中必须包含对边界条件的测试,遵循CORRECT原则:
Conformance,一致性,检验输入数据是否符合期望的输入格式;
Order,顺序,输入的数据集合是否是期望的顺序;
Range,范围,输入的数据是否在一定的范围期间;
Reference,引用,该逻辑执行的前提条件。例如对于一个申请审批的逻辑approve(id)来说,虽然显式的参数只有一个审批流程ID,但实际上该逻辑执行的过程中引用了申请类的“状态”,所以必须对该状态进行检查。也就是说该逻辑的前提条件必须是对应的申请只有处于“已提交状态”。
Existence,存在性,是否允许为null或者0;
Cardinality,个数,输入的参数集合中元素的个数不同时执行结果,包括0、1或者多个;
Time,时间,对于非特殊方法,执行时间应该控制在1秒钟以内;
对于接口中显示声明了抛出异常的方法,对于每种异常必须都有一个测试场景,例如,对于 void login(name, password) throws InvalidAccountException, ExpiredAccountException;必须定义testLoginInvalidAccountException和testLoginExpiredAccountException两个测试场景,不允许以testLoginException一个场景中做两个场景的测试;
例子:
简单方法:参见base内部项目 com.qusiness.base.test. IFundAccountLogicTest
正常情况:参见base内部项目 com.qusiness.base.test.IRefundmentServiceTest
状态情况:参见base内部项目 com.qusiness.base.test. IOrderPublishServiceTest
边界情况:参见base内部项目 com.qusiness.base.test.IOrderPublishServiceTest
依赖情况:参见luc客户项目 com.qusiness.luc.test.SmsComandLogicTest
分享到:
相关推荐
这份说明书由北京西普阳光教育科技股份有限公司的Engineering Process Group (EPG) 编写,旨在确保测试的质量和效率。 1. 基于“测试阶段”的原则: 在软件开发的生命周期中,测试通常分为单元测试、集成测试和...
1. **软件测试基础**:课件中可能会详细讲解软件测试的基本概念,如测试的目的、测试类型(功能测试、性能测试、兼容性测试等)、测试阶段(单元测试、集成测试、系统测试、验收测试)以及测试用例设计原则。...
总的来说,这个单元测试覆盖了一年级学生在数学学习中需要掌握的基础知识,包括了人民币的认识、基本的数学运算、数字比较、连续运算、竖式计算、判断和应用题的解题能力。这些知识点都是小学低年级数学教育的重点,...
本文主要涉及的是小学五年级数学下册第五单元的知识点,包括分数的基本概念、分数的加减运算、分数的运算性质、解简易方程以及实际问题的解决。 1. **分数单位**:分数单位是分数的最小构成部分,例如题目中的分数...
《计算机测试与控制》是北京航空航天大学开设的一门课程,其期末考试复习资料包含了计算机测试与控制领域的多项知识点,涵盖了计算机测控系统的硬件组成、信号处理、抗干扰技术、实时性要求、传感器技术、数字滤波...
5. **自动化测试**:利用工具创建和维护一套自动化测试套件,包括单元测试、集成测试和验收测试,以支持频繁的迭代和快速反馈。 6. **敏捷评审**:通过定期的代码审查和测试审查,团队成员相互学习,发现潜在问题,...
2. **测试理论**:包括单元测试、集成测试、系统测试和验收测试的基本概念,测试用例设计方法(如等价类划分、边界值分析、因果图等),以及缺陷管理流程。 3. **软件工程**:可能涉及到敏捷开发、Scrum框架的理解...
这份指南由北京梅梅出品有限公司编制,适用于各种应用软件的测试过程。 1、引言 引言部分强调了测试用例设计在软件测试中的重要性,它是确保软件质量的关键步骤。通过精心设计的测试用例,可以有效地发现潜在的缺陷...
本次提供的文档为五年级下册数学北京版第*单元测试卷(2)的电子版,其内容涉及到了小学数学基础知识,包括分数的计算、加减法、比例分配、工程问题、单位换算等。具体内容较为丰富,接下来,我将根据提供的文档内容...
- 概述:单元测试关注的是接口中的最小可测试单元,如函数、模块或类,目的是确保每个独立组件的正确性。 - 具体内容:可能包括输入数据的验证、异常处理测试、计算逻辑验证等,通过断言确保每个单元在各种条件下...
这些题目涵盖了统计学的基础概念,包括数据收集方法、样本选择、抽样调查原则、统计图表的使用、数据分组、频率分布直方图的分析以及从图表中提取信息的能力。这些都是学习统计学和数据分析时需要掌握的基本技能。
6. **软件质量保证与测试**:了解软件测试的基本原则,包括单元测试、集成测试、系统测试和验收测试,以及各种测试策略如黑盒测试、白盒测试等。 7. **项目管理**:学习如何进行项目计划、进度控制、风险管理,以及...
1. 软件测试按照测试层次分为单元测试、集成测试和系统测试,分别针对代码模块、模块间的接口以及整个系统的测试。 2. 软件测试是通过执行测试用例来完成的,测试用例应包括输入、执行条件和预期结果。 3. 软件测试...
本方案由意昂神州(北京)科技有限公司提供,他们是一家专注于车辆仿真测试领域的专业公司。根据提供的文档,方案涵盖了以下内容: - **前言**:包括项目的目标、设计原则、参考标准和缩写术语的解释,为后续的方案...
这篇文档是针对北京版五年级数学第二学期第五单元的一份测试卷及答案,主要涵盖了分数的概念、运算、应用以及解方程等知识点。以下是详细解释: 1. 分数单位的理解:题目中的分数单位指的是分数的基本构成单位,...
14. **单元测试**:如何使用JUnit进行单元测试,确保代码的正确性和可靠性。 15. **项目构建工具**:如Maven或Gradle,用于自动化构建、依赖管理和项目打包。 通过北京大学的Java讲义,初学者可以系统地学习并掌握...
信号是传递信息的基本单元,在系统测试中扮演着关键角色。信号可以通过以下方式进行分类: 1. **时域信号:**通常表示为时间函数,反映信号随时间变化的情况。 2. **频域信号:**通过对信号进行傅里叶变换得到,...
5. **软件测试**:了解软件测试的基本概念,包括黑盒测试、白盒测试、单元测试、集成测试和系统测试,能编写测试用例并进行缺陷管理。 6. **软件项目管理**:理解软件开发中的风险管理、质量管理、配置管理和变更...
课件通常包含教学材料,如幻灯片,用于帮助教师讲解和学生理解和练习所学内容,这些习题课件将帮助学生巩固课堂学习,准备单元测试。 【部分内容】提到的“<>=>>=”可能代表不等式符号,这是数学中比较大小的概念。...