테스트 자동화 도구는 하는 일로 분류한다. 성능 테스트 도구는 실제 사용자를 흉내 내는 가상 사용자를 여러 명 만들어 시스템에 부하를 주고, 처리량과 응답시간·경과시간·자원 사용률을 재어 성능 목표에 닿았는지 확인한다. 명세 기반 테스트 설계 도구는 요구사항 명세를 바탕으로 테스트 케이스를 만들고, 코드 기반 테스트 설계 도구는 소스 코드를 분석해 케이스를 뽑아 낸다. 기능 테스트 수행 도구는 소프트웨어가 규격대로 동작하는지를 확인하는 도구다.
정렬 알고리즘은 비교하는 대상으로 구분한다. 버블 정렬은 이웃한 두 데이터의 크기를 비교해 순서가 어긋나면 자리를 바꾸는 과정을 반복하고, 한 바퀴가 끝날 때마다 가장 큰 값이 배열의 끝으로 몰린다. 삽입 정렬은 손에 든 카드를 하나씩 받아 이미 정리된 묶음의 알맞은 자리에 끼워 넣는 방식이다. 힙 정렬은 완전이진트리로 힙을 만들고 루트의 최댓값을 반복해서 뽑아 내며, 시간복잡도는 어느 경우든 O(n log n)으로 일정하다.
힙을 배열에 담으면 인덱스 계산만으로 자식을 찾는다. 부모의 인덱스를 i라 하면 왼쪽 자식은 2i+1, 오른쪽 자식은 2i+2에 놓인다. 레코드에서 37이 인덱스 4 자리에 있으면 자식은 인덱스 9와 10, 곧 값 14와 9가 된다. 트리를 그리지 않고도 이 공식 하나로 답이 나온다.
검색 알고리즘은 두 갈래로 정리한다. 선형 검색은 목록의 첫 칸부터 차례로 하나씩 확인하며, 비교 횟수는 최선 1번, 최악 n번, 평균 (n+1)/2번이다. 이진 검색은 데이터가 이미 정렬되어 있어야 쓸 수 있고, 중간값과 비교해 찾을 범위를 절반씩 줄여 나가므로 효율이 좋다. 피보나치 수열로 다음 대상을 고르는 것은 피보나치 검색의 방식이므로 이진 검색의 특징으로 적으면 오답이 된다.
해싱에서 서로 다른 데이터가 같은 버킷을 가리키면 충돌이 일어난다. 선형 개방 주소법은 충돌이 난 자리에서부터 다음 버킷을 차례로 훑어 처음 만나는 빈 버킷에 데이터를 넣는 방식이다. 재해싱은 해시 함수 자체를 바꾸고, 이차 조사법은 1, 4, 9처럼 제곱 간격으로 건너뛰며, 임의 조사법은 무작위로 위치를 고른다.