refactor: 44개 시나리오 품질 개선 (false positive 제거 + flaky 수정 + E2E_TEST_ 표준화)

Phase 1 - False Positive 제거 (36개):
- R.ok=true 무조건 반환 → 조건부 검증으로 교체
- 영향: edge-*, form-validation-*, pagination-sort-*, search-*, reload-persist-*,
  batch-create-*, detail-roundtrip-*, workflow-*, cross-module-*

Phase 2 - Flaky rows[0] 패턴 수정 (7개):
- detail-verify-acc-sales.json: CAPTURE/READ 스텝 E2E_TEST_ 타겟팅
- vendor-management.json: 행 클릭 E2E_TEST_ 타겟팅
- batch-update-account-sales.json: CAPTURE/SELECT/VERIFY/RESTORE 스텝
- sales-management.json: DELETE fallback 경고 로깅

Phase 3 - E2E_TEST_ 접두사 표준화 (1개):
- employee-register.json: 홍길동→E2E_TEST_사원, EMP2026001→E2E_TEST_EMP001

테스트 결과: 175 PASS / 9 FAIL (숨겨진 실제 버그 5건 노출)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
김보곤
2026-02-19 21:55:15 +09:00
parent 1e60fa41a4
commit 21b272702d
44 changed files with 170 additions and 243 deletions

View File

@@ -129,7 +129,7 @@
{
"name": "이름 *",
"type": "text",
"value": "홍길동"
"value": "E2E_TEST_사원"
},
{
"name": "주민등록번호",
@@ -144,7 +144,7 @@
{
"name": "이메일 *",
"type": "text",
"value": "test.employee@codebridge-x.com"
"value": "e2e_test_employee@codebridge-x.com"
},
{
"name": "연봉",
@@ -172,7 +172,7 @@
{
"name": "예금주",
"type": "text",
"value": "홍길동"
"value": "E2E_TEST_사원"
}
]
}
@@ -185,7 +185,7 @@
{
"name": "사원코드",
"type": "text",
"value": "EMP2026001"
"value": "E2E_TEST_EMP001"
},
{
"name": "남성",
@@ -243,7 +243,7 @@
{
"name": "아이디 *",
"type": "text",
"value": "testuser2026"
"value": "e2e_test_user001"
},
{
"name": "비밀번호 *",
@@ -266,7 +266,7 @@
"expect": {
"url": "/hr/employee-management",
"text": [
"홍길동"
"E2E_TEST_사원"
]
}
},
@@ -289,7 +289,7 @@
}
],
"expect": {
"tableContains": "홍길동",
"tableContains": "E2E_TEST_사원",
"rowCount": ">= 1"
},
"onFail": {
@@ -318,7 +318,7 @@
}
],
"expect": {
"tableNotContains": "홍길동",
"tableNotContains": "E2E_TEST_사원",
"alternativeExpect": {
"emptyResult": true,
"message": "검색 결과 없음"
@@ -363,7 +363,7 @@
}
],
"expect": {
"tableContains": "홍길동"
"tableContains": "E2E_TEST_사원"
},
"onFail": {
"record": true,
@@ -379,7 +379,7 @@
"actions": [
{
"type": "click_if_exists",
"target": "table tbody tr:has-text('홍길동')",
"target": "table tbody tr:has-text('E2E_TEST_사원')",
"description": "해당 행 클릭하여 상세 페이지 이동"
}
],
@@ -484,7 +484,7 @@
"note": "토스트 성공 메시지만으로 PASS 판정 불가. 실제 데이터 삭제 확인 필수!",
"description": "목록에서 삭제된 직원이 없어졌는지 확인",
"verify": {
"tableNotContains": "홍길동"
"tableNotContains": "E2E_TEST_사원"
}
},
{
@@ -503,7 +503,7 @@
{
"type": "text",
"target": "body",
"expected": "홍길동",
"expected": "E2E_TEST_사원",
"message": "등록된 직원이 목록에 표시되어야 함"
}
]