veluxer62 / veluxer62.github.io

veluxer's blog
http://veluxer62.github.io
MIT License
1 stars 0 forks source link

9월 개발 이슈 #682

Closed veluxer62 closed 5 months ago

veluxer62 commented 10 months ago

Motivation

최근 회의를 하면서 느낀건데 사람들이 생각보다 빠르게 시도하고 빠르게 배포하고 빠르게 피드백 받는 것에 대한 막연한 두려움을 가진거 같다

Suggestion

1

veluxer62 commented 9 months ago

오천-금강 종주길을 다녀왔다

veluxer62 commented 9 months ago

SQL 테스트 설계에 대한 다섯가지 지침

SQL 조건문을 위한 수정된 조건/의사결정 커버리지(MC/DC) 적용

SQL문에는 의사결정이 일어나느 곳이 세군데가 있는데 join, where, having 조건이다. 이러한 조건에 MC/DC를 적용하자

널 처리를 위한 MC/DC 적용

true, false, null로 된 조건을 제공해야한다.

선택한 데이터에 대한 범주-구획 처리

행을 검색하는 경우

쿼리가 어떤 행도 검색하지 못하도록하는 테스트를 포함한다.

행을 병합하는 경우

쿼리 결과에 의도치 않는 중복행이 나타나는지 확인해야한다.

행을 그룹화 하는 경우

group by 절에 적어도 두개의 서로 다른 그룹을 얻도록 설계해야한다. 그룹화에 사용된 값은 같고 그 외의 것은 다르게 해야한다.

행을 서브쿼리로 검색하는 경우

각각의 서브쿼리에 대해 0개 이상의 행을 반환하는 테스트 상태를 포함한다. 선택된 열에 대해 적어도 하나의 null과 두개의 서로다른 값이 있어야 한다.

값이 집계 함수에 참여하는 경우

각가의 집계함수에 대해 함수가 두개의 같은 값과 하나의 다른 값을 가지도록 하는 테스트 상태를 하나이상 포함한다.

그 외의 표현식

범주 구획 검사 및 경계검사를 이용하여 like 술어, 날짜 관리, 문자열 관리, 데이터 타입 변환 또는 기타 함수를 포함하는 표현식에 대한 테스트 상태를 설계한다.

출력값 검사

특정 컬럼 값이 null이나 빈값을 반환하는지 확인하는 검사를 포함한다.

데이터베이스 제약사항 검사

데이터베이스의 제약사항을 확인하고 검사한다.

veluxer62 commented 9 months ago

코틀린에 equals에 ignorecase라는 매개변수가 있네.

"example".equals("EXAMPLE", ignoreCase = true)
veluxer62 commented 9 months ago

Intellij에서 미사용 코드를 알려주는 기능이 있다. 단위 테스트를 작성하게되면 미사용코드를 발견하기가 쉽지 않는데 왜냐하면 단위테스트에서 해당 코드를 사용하기 때문이다. 그래서 Intellij에서 테스트 코드를 제외하고 미사용 코드를 찾아주는 기능이 있는지 찾아보니 있다.

https://stackoverflow.com/questions/13827056/finding-unused-methods-in-intellij-excluding-tests

veluxer62 commented 9 months ago

OCR 오픈소스 도구들

https://velog.io/@vanang7/%EA%B5%AD%EB%AC%B8-%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4-OCR

veluxer62 commented 9 months ago

mockk 에서 외부 라이브러리를 mocking 할때 public이 아닌 생성자만 제공하는 경우 mockk 또는 spyk를 생성할 수없는 이슈가 있다. 이럴때 아래와 같이 mockkConstructor를 이용하면 mocking 을 할 수 있다.

mockkConstructor(Sheets.Spreadsheets::class)
mockk<Sheets.Spreadsheets>(relaxed = true)
veluxer62 commented 9 months ago

kotlin 1.7부터 컴파일 회피 기능이 적용되었다고 한다. 아직 JVM 백엔드에서만 실험적으로 적용중이라 한다.

https://blog.jetbrains.com/ko/kotlin/2022/08/a-new-approach-to-incremental-compilation-in-kotlin/#how-to