Skip to content

Testes JabRef

Álvaro Leles Guimarães edited this page Oct 8, 2021 · 2 revisions

Wiki do projeto JabRef da disciplina de Testes de Software

Neste repositório foi modificado a classe "DuplicateCheckTest", sendo adicionado casos de teste para o método "isDuplicate" da classe "DuplicateCheck". A classe de testes está localizada em "src/test/java/org/jabref/logic/database/DuplicateCheckTest.java"

Tabela de cobertura de múltiplas condições

D Condição Situação para True Situação para False
308 haveSameIdentifier(one, two) Os identificadores das duas entradas são iguais Os identificadores são diferentes
315 oneDOI.isPresent() Existe valor válido no atributo DOI na primeira entrada Não existe valor válido no atributo DOI na primeira entrada
315 twoDOI.isPresent() Existe valor válido no atributo DOI na segunda entrada Não existe valor válido no atributo DOI na segunda entrada
321 oneISBN.isPresent() Existe valor válido no atributo ISBN na primeira entrada Não existe valor válido no atributo ISBN na primeira entrada
321 twoISBN.isPresent() Existe valor válido no atributo ISBN na segunda entrada Não existe valor válido no atributo DOI na segunda entrada
325 haveDifferentEntryType(one, two) Os tipos de entrada das entradas são diferentes (Book, article, etc.) Os tipos de entrada das entradas são iguais
325 haveDifferentEditions(one, two) As edições das entradas são diferentes As edições das duas entradas são iguais
325 haveDifferentChaptersOrPagesOfTheSameBook(one, two) Se as entradas possuem o mesmo autor e o mesmo título, porém possuem capítulos ou páginas diferentes entre si Basta o autor ou o título das entradas serem diferentes ou os capítulos e páginas serem iguais
332 type.isPresent() Se o valor da variável 'type' for diferente de null Caso o valor da variável 'type' seja igual à null
335 isFarFromThreshold(reqCmpResult[0]) Caso o resultado da comparação dos campos obrigatórios esteja longe do valor de threshold Caso o resultado da comparação dos campos obrigatórios não esteja longe do valor de threshold

Casos de teste elaborados

Caso de teste Entrada Saída esperada
1 one = two true
2 one.DOI = "", two.DOI = "10.1016/j.is.2019.0X.006" false
3 one.DOI = two.DOI = "10.1016/j.is.2019.0X.006" true
4 one.DOI = "10.1016/j.is.2019.0X.006", two.DOI = "" false
5 two.DOI = one.DOI = "10.1016/j.is.2019.0X.006" true
6 one.ISBN = "", two.ISBN = "0-123456-47-9" false
7 one.ISBN = two.ISBN = "0-123456-47-9" true
8 one.ISBN = "0-123456-47-9", two.ISBN = "" false
9 two.ISBN = one.ISBN = "0-123456-47-9" true
10 one.type = Article, two.type = InBook false
11 one.type = two.type = Article true
12 one.EDITION = "1", two.EDITION = 2 false
13 one.EDITION = two.EDITION = 1 true
14 one.CHAPTER = "Capítulo três – Vai que dá", two.CHAPTER = "Capítulo cinco – Não deu" false
15 one.PAGES = "35-42", two.CHAPTER = "72-90" false
16 one.type = "", two.type = Book false
17 one.type = Article, one.YEAR = "2019", one.TITLE = "Ta tudo bem", one.JOURNAL = "O impopular", two.type = Book, two.TITLE = "O famoso Java", two.AUTHOR = "Leles, Alvaro", two.PUBLISHER = "Arvorenda", two.DATE = "2019", two.EDITION = "2" false
18 one.type = Article, one.YEAR = "2019", one.TITLE = "Ta tudo bem", one.JOURNAL = "O impopular", two.type = Article, two.TITLE = "Ta tudo bem", two.JOURNAL = "O impopular" true
Clone this wiki locally