单元测试原则
所有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
分享到:
相关推荐
1. **软件测试基础**:课件中可能会详细讲解软件测试的基本概念,如测试的目的、测试类型(功能测试、性能测试、兼容性测试等)、测试阶段(单元测试、集成测试、系统测试、验收测试)以及测试用例设计原则。...
总的来说,这个单元测试覆盖了一年级学生在数学学习中需要掌握的基础知识,包括了人民币的认识、基本的数学运算、数字比较、连续运算、竖式计算、判断和应用题的解题能力。这些知识点都是小学低年级数学教育的重点,...
本文主要涉及的是小学五年级数学下册第五单元的知识点,包括分数的基本概念、分数的加减运算、分数的运算性质、解简易方程以及实际问题的解决。 1. **分数单位**:分数单位是分数的最小构成部分,例如题目中的分数...
《计算机测试与控制》是北京航空航天大学开设的一门课程,其期末考试复习资料包含了计算机测试与控制领域的多项知识点,涵盖了计算机测控系统的硬件组成、信号处理、抗干扰技术、实时性要求、传感器技术、数字滤波...
**单元测试**是在软件底层进行的测试,针对单个模块或函数,确保其独立功能的正确性。 #### 黑盒测试策略 在确定黑盒测试策略时,优先选用**等价类划分**方法,这种方法可以有效地减少测试用例的数量,同时保持测试...
5. **自动化测试**:利用工具创建和维护一套自动化测试套件,包括单元测试、集成测试和验收测试,以支持频繁的迭代和快速反馈。 6. **敏捷评审**:通过定期的代码审查和测试审查,团队成员相互学习,发现潜在问题,...
2. **测试理论**:包括单元测试、集成测试、系统测试和验收测试的基本概念,测试用例设计方法(如等价类划分、边界值分析、因果图等),以及缺陷管理流程。 3. **软件工程**:可能涉及到敏捷开发、Scrum框架的理解...
本次提供的文档为五年级下册数学北京版第*单元测试卷(2)的电子版,其内容涉及到了小学数学基础知识,包括分数的计算、加减法、比例分配、工程问题、单位换算等。具体内容较为丰富,接下来,我将根据提供的文档内容...
它包括但不限于单元测试、集成测试、系统测试和验收测试等阶段。 ##### 2.3 测试间的依赖关系 不同的测试类型之间存在一定的依赖关系。例如,在进行集成测试之前通常需要先完成单元测试;系统测试是在所有组件经过...
- 概述:单元测试关注的是接口中的最小可测试单元,如函数、模块或类,目的是确保每个独立组件的正确性。 - 具体内容:可能包括输入数据的验证、异常处理测试、计算逻辑验证等,通过断言确保每个单元在各种条件下...
这些题目涵盖了统计学的基础概念,包括数据收集方法、样本选择、抽样调查原则、统计图表的使用、数据分组、频率分布直方图的分析以及从图表中提取信息的能力。这些都是学习统计学和数据分析时需要掌握的基本技能。
在电子技术/半导体/集成电路行业的公司,他的工作涵盖了单元测试和整机测试,包括搭建测试平台、规划测试日程、记录和分析测试数据,同时他还负责制作测试报告和汇总测试异常点。 教育背景方面,汪X在国际关系学院...
6. **软件质量保证与测试**:了解软件测试的基本原则,包括单元测试、集成测试、系统测试和验收测试,以及各种测试策略如黑盒测试、白盒测试等。 7. **项目管理**:学习如何进行项目计划、进度控制、风险管理,以及...
1. 软件测试按照测试层次分为单元测试、集成测试和系统测试,分别针对代码模块、模块间的接口以及整个系统的测试。 2. 软件测试是通过执行测试用例来完成的,测试用例应包括输入、执行条件和预期结果。 3. 软件测试...
本方案由意昂神州(北京)科技有限公司提供,他们是一家专注于车辆仿真测试领域的专业公司。根据提供的文档,方案涵盖了以下内容: - **前言**:包括项目的目标、设计原则、参考标准和缩写术语的解释,为后续的方案...
这篇文档是针对北京版五年级数学第二学期第五单元的一份测试卷及答案,主要涵盖了分数的概念、运算、应用以及解方程等知识点。以下是详细解释: 1. 分数单位的理解:题目中的分数单位指的是分数的基本构成单位,...
14. **单元测试**:如何使用JUnit进行单元测试,确保代码的正确性和可靠性。 15. **项目构建工具**:如Maven或Gradle,用于自动化构建、依赖管理和项目打包。 通过北京大学的Java讲义,初学者可以系统地学习并掌握...
信号是传递信息的基本单元,在系统测试中扮演着关键角色。信号可以通过以下方式进行分类: 1. **时域信号:**通常表示为时间函数,反映信号随时间变化的情况。 2. **频域信号:**通过对信号进行傅里叶变换得到,...