20182322 2019-2020-1 "객체 지향 프로그래밍 및 데이터 구조"실험 보고서 (7)

코스 : "프로그래밍 및 데이터 구조"

클래스 : 1823

이름 : 왕 Meihao를

학생 ID : 20182322

교사를 실험 : 왕 Zhiqiang를

실험 날짜 : 2019년 10월 30일

필수 / 선택 과목 : 필수

1. 실험 내용

정렬 및 1. 클래스를 정의하고 linearSearch, 선택 정렬의 클래스 메소드를 구현하고 마지막으로 테스트를 완료하는 검색.
시험은 10보다 적게 요구 한 후, 디자인 제출 테스트 케이스 (후진 정상 비정상 경계 양성 서열), 데이터는 그 네 내용 예 호에 포함될

2. 리팩토링 코드
cn.edu.besti.cs1823에 Sorting.java Searching.java에 (이니셜 + 네 자리 학생 수) 패키지로 제공된다. (예 : cn.edu.besti.cs1823.G2301)
에 테스트 코드 방전 시험 패키지

3. 참조 http://www.cnblogs.com/maybe2030/p/4715035.html는 검색 알고리즘의 다양성과 추가 검색 알고리즘 및 테스트 검색을 배울 수

4.이 클래스를 달성하기 위해 추가 음성 정렬 방법 : 힐 정렬, 힙 정렬, 정렬 이진 트리 (적어도 3)
알고리즘 (정상, 비정상, 경계) 구현 테스트

5. 안드로이드 응용 프로그램은 제출 된 스크린 샷을 찾아 테스트 실행 결과를 정렬 알고리즘의 다양한 달성하기 위해

2. 실험 절차 및 결과

- 찾기 및 정렬 -1
-

- 찾기 및 정렬 -2
-

-

-

-

- 찾기 및 정렬 -3
-

-

- 찾기 및 정렬 -4
-

-

-

과정 및 결제 과정에서 발생 3. 실험 문제

  • 질문 1 : 문제가있을 때, 실험 1에 시험을 정렬
Comparable[] arr9 = new Comparable[1];//9
        EXP1test i =new EXP1test();
        assertEquals("[null]",i.selectionSort(arr9));

당신은 실행할 수 있습니다

Comparable[] arr10 = new Comparable[999]; //空指针异常10
        EXP1test j =new EXP1test();
        assertEquals("[null]",j.selectionSort(arr10));

실행할 수 없습니다, 왜

  • 문제 1 해결 방법 : arr9 및 arr10 모든 테두리 비정상적인해야한다,하지만 난 시험했을 때, 나는 비정상적인 상황을보고됩니다 arr9는하지만 arr10 경계를 실행할 수 있습니다 발견 : 숙제는 내가 생각했을 때이 있습니다. 그래서 99로 999을 넣어, 아마도 때문에 너무 많은 arr10의를 생각하기 시작하지만,이 결과는 이상 두 가지로 배열의 I 크기, 결과는 여전히 경계 예외는 국경에서 아직도있다. 설명 배열이 1 인 경우, 테스트는 그것이 이상 된 [널] 벗어나 있다는 것이다. 이 테스트 2 널 [널] 인 경우 상기 어레이가 증가합니다. 배열, 빈 배열의 증가의 크기의 증가, 너무 자주는 표시되지 않습니다.
  • 질문 2 :의 노드에서 사용 된 JUnit 테스트를 필요로하지만, 관련 시험 방법은 다소 항상 시험은 쓰기에 테스트 클래스의 시작 부분에 정상이 될 수 없습니다, 잊어되었다.
  • 문제 2 해결 방법 : 쿼리 정보는 모든 JUnit 테스트 클래스가 필요 배운 extends TestCase, 시험 방법의 모두의 이름을해야하거나 테스트 할 수 없습니다 test, 예를 들어, 시작의 JUnit 방법 명명 된 테스트 시퀀스를 발견 testSequenceSearch(), 그렇지 않으면되지 않을 것 테스트.
  • 질문 3 : 두 개의 노드는 명령 줄에서해야 Searching하고 Sorting행동 클래스 테스트,하지만 JUnit 테스트 방법 자체가 명령 줄에 익숙하지 않은.
  • 질문 3 해결 방법 : 정보 온라인 JUnit 테스트를 검색하는 방법을 질의 한 후 명령 행 리눅스 시스템에서 자신을 발견하고 관련 구성 요소가 설치되지 않으며, 그가 포기 있도록 마지막으로, 그들은 JUnit을 사용하지 않은 시험 방법을 학생들에게 의 JUnit 테스트의 수를 썼다 main시험 방법을.

기타 (지각, 사고 등)

  • 오랜 시간 동안 일반적으로, 또는 너무 어려운 시간 카드의 실험, 일부 작업 또는 익숙는 더 많은 연습이 필요합니다.
  • 시험은 취득 지식이 깊어에이 실험을 통해 발견하고 일종의 지식의 수에 대한 깊이있는 연구이다.

참고 자료

추천

출처www.cnblogs.com/wmh20182322/p/11874400.html