Run any Skill in Manus
with one click
with one click
Run any Skill in Manus with one click
Get Startedbackend-testing
提供后端Java测试的规范,包括测试策略、测试类型、测试工具和测试流程等。在进行后端Java测试时调用。
Stars621
Forks112
UpdatedApril 24, 2026 at 16:00
SKILL.md
readonlyMenu
提供后端Java测试的规范,包括测试策略、测试类型、测试工具和测试流程等。在进行后端Java测试时调用。
| 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测试,确保家族树应用后端服务的质量和可靠性。
测试是一个持续改进的过程,需要不断地学习和适应新的测试方法和工具。测试人员应该保持学习,关注最新的测试技术和趋势,不断提高测试水平。
异常分析核心功能。当用户需要分析线上故障、排查错误原因时使用此技能。
提供设计系统的标准规范,包括设计原则、视觉风格、组件库等。Invoke when designing new features or components for the application.
MCP 工具创建器。当用户需要为异常分析系统添加新的 MCP 工具时使用此技能。
计划执行器。当用户需要自定义分析计划或执行特定分析步骤时使用此技能。
为项目创建 MCP(Model Context Protocol)工具。当用户想要添加新的 MCP 工具或集成外部 MCP 服务时使用此技能。
为多模型支持创建新的 AI 模型提供商。当用户想要添加对新的 AI 模型(OpenAI、Claude 等)的支持时使用此技能。