with one click
backend-testing
提供后端Java测试的规范,包括测试策略、测试类型、测试工具和测试流程等。在进行后端Java测试时调用。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
提供后端Java测试的规范,包括测试策略、测试类型、测试工具和测试流程等。在进行后端Java测试时调用。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | backend-testing |
| description | 提供后端Java测试的规范,包括测试策略、测试类型、测试工具和测试流程等。在进行后端Java测试时调用。 |
本技能提供了家族树应用后端Java测试的规范,包括测试策略、测试类型、测试工具、测试流程等方面。通过本规范,测试人员可以系统地进行后端Java测试,确保后端服务的质量和可靠性。
// AuthServiceTest.java
@Test
void testLoginSuccess() {
// Arrange
LoginRequest request = new LoginRequest();
request.setEmail("test@example.com");
request.setPassword("password");
User user = new User();
user.setId(1L);
user.setEmail("test@example.com");
user.setPassword(passwordEncoder.encode("password"));
when(userRepository.findByEmail("test@example.com")).thenReturn(Optional.of(user));
when(jwtUtils.generateToken("test@example.com")).thenReturn("test-token");
// Act
String token = authService.login(request);
// Assert
assertNotNull(token);
assertEquals("test-token", token);
verify(userRepository, times(1)).findByEmail("test@example.com");
verify(jwtUtils, times(1)).generateToken("test@example.com");
}
// MemberControllerIntegrationTest.java
@Test
void testGetMembersByFamilyId() {
// Arrange
Long familyId = 1L;
// Create test data
Family family = new Family();
family.setId(familyId);
family.setName("Test Family");
familyRepository.save(family);
Member member1 = new Member();
member1.setName("John Doe");
member1.setFamilyId(familyId);
memberRepository.save(member1);
Member member2 = new Member();
member2.setName("Jane Doe");
member2.setFamilyId(familyId);
memberRepository.save(member2);
// Act
ResponseEntity<ApiResponse<List<Member>>> response = restTemplate.getForEntity(
"/api/members/family?familyId=" + familyId,
new ParameterizedTypeReference<ApiResponse<List<Member>>>() {}
);
// Assert
assertEquals(HttpStatus.OK, response.getStatusCode());
List<Member> members = response.getBody().getData();
assertEquals(2, members.size());
assertEquals("John Doe", members.get(0).getName());
assertEquals("Jane Doe", members.get(1).getName());
}
// FamilyTreeTest.java
@Test
void testFamilyTreeNavigation() {
// Arrange
WebDriver driver = new ChromeDriver();
driver.get("http://localhost:8080");
// Act - Login
driver.findElement(By.id("email")).sendKeys("admin@example.com");
driver.findElement(By.id("password")).sendKeys("password");
driver.findElement(By.id("login-button")).click();
// Act - Navigate to family tree
driver.findElement(By.linkText("Family Tree")).click();
// Act - Select family
driver.findElement(By.id("family-select")).sendKeys("Test Family");
driver.findElement(By.id("select-family-button")).click();
// Assert
WebElement familyTree = driver.findElement(By.id("family-tree"));
assertTrue(familyTree.isDisplayed());
driver.quit();
}
# 家族树应用后端测试计划
## 测试范围
- 核心功能:用户认证、家族管理、成员管理、关系管理
- 增强功能:事件管理、媒体管理
- 高级功能:AI功能
## 测试目标
- 功能测试:所有后端API正常工作
- 性能测试:API响应时间<500ms
- 安全测试:无高危安全漏洞
## 测试资源
- 测试人员:2人
- 测试环境:1台测试服务器
- 测试工具:JUnit、Spring Boot Test、JMeter
## 测试时间
- 单元测试:2天
- 集成测试:3天
- 端到端测试:2天
- 性能测试:1天
- 安全测试:1天
# 家族树应用后端测试报告
## 测试摘要
- 测试时间:2024-01-01至2024-01-07
- 测试范围:核心功能和增强功能
- 测试用例:100个
- 执行测试:100个
- 通过测试:95个
- 失败测试:5个
- 通过率:95%
## 缺陷统计
- 严重级:0个
- 高级:1个
- 中级:3个
- 低级:1个
## 测试结论
- 核心功能运行正常
- 发现5个缺陷,其中1个高级缺陷需要优先修复
- 建议在修复缺陷后进行回归测试
| 工具 | 用途 | 特点 |
|---|---|---|
| JUnit 5 | 单元测试 | 现代Java测试框架 |
| Mockito | 模拟测试 | 强大的模拟框架 |
| Spring Boot Test | 集成测试 | Spring Boot集成测试 |
| TestContainers | 容器测试 | 使用Docker容器进行测试 |
| JMeter | 性能测试 | 开源性能测试工具 |
| RestAssured | API测试 | REST API测试库 |
| MockMvc | MVC测试 | Spring MVC测试 |
| 工具 | 用途 | 特点 |
|---|---|---|
| Jira | 测试管理 | 敏捷项目管理 |
| TestRail | 测试管理 | 专业测试管理工具 |
| Zephyr | 测试管理 | 与Jira集成 |
| GitHub Actions | CI/CD | 自动化测试 |
| GitLab CI | CI/CD | 自动化测试 |
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 测试用例执行慢 | 测试环境配置不当 | 优化测试环境,使用测试容器 |
| 测试覆盖不足 | 测试用例设计不全面 | 设计更全面的测试用例 |
| 测试数据管理困难 | 测试数据复杂 | 使用测试数据生成工具 |
| 缺陷重现困难 | 缺陷环境复杂 | 详细记录缺陷环境和步骤 |
| 测试与开发不同步 | 需求变更频繁 | 采用敏捷测试方法,快速适应变更 |
本后端Java测试规范提供了全面的测试指南,包括测试策略、测试类型、测试工具、测试流程、测试环境和测试最佳实践等方面。通过遵循本规范,测试人员可以系统地进行后端Java测试,确保家族树应用后端服务的质量和可靠性。
测试是一个持续改进的过程,需要不断地学习和适应新的测试方法和工具。测试人员应该保持学习,关注最新的测试技术和趋势,不断提高测试水平。
简洁风格技能,禁止废话,采用caveman式简短直接的表达方式
个人文档管理技能,管理变更记录、方案设计Spec文档、测试报告等,统一存放在docs目录下
项目启动管理技能,支持Java Spring Boot和Vue项目的启动、重启、关闭操作,保持原有端口不变
方案调研技能,对方案设计、功能实现进行多方案比对分析,至少3个方案,建议5个左右的方案比对,包括业界标杆方案、大厂实现方案等
基于OpenAPI规范生成API文档,支持Swagger UI和ReDoc展示
提供后端单元测试指导和生成能力,支持JUnit 5、Mockito等框架