Просматривая код, вы должны по крайней мере проверить следующие условия
- genoma1.NumberofGenes = genoma2.NumberOfGenes
- genoma1.NumberofGenes <> genoma2.NumberOfGenes
- genoma1.NumberofGenes = -1
- genoma1.NumberofGenes = 0
- genoma1.NumberofGenes = 1
- genoma2.NumberofGenes = -1
- genoma2.NumberofGenes = 0
- genoma2.NumberofGenes = 1
- genoma1.NumberOfGenes = HighBound - 1
- genoma1.NumberOfGenes = HighBound (Макс. Целое число?)
- genoma1.NumberOfGenes = HighBound + 1
- genoma2.NumberOfGenes = HighBound - 1
- genoma2.NumberOfGenes = HighBound (Макс. Целое число?)
- генома2.NumberOfGenes =HighBound + 1
Ваши усилия по тестированию могли бы значительно выиграть от насмешки над объектом numberGenerator и возвращения ему фиксированного значения.
Это даст вам следующие дополнительные условия для тестирования
- numberGenerator.GenerateInteger = LowBound - 1
- numberGenerator.GenerateInteger = LowBound
- numberGenerator.GenerateInteger = LowBound + 1
- numberGenerator.GenerateInteger = HighBound - 1
- numberGenerator.GenerateInteger = HighBound + 1
- numberGenerator.Generate = True
- numberGenerator.GenerateBool = False
Тестирование ВСЕХ возможных комбинаций с заданными входами требует 432 тестовых случая (6.6.6.2)
Использование инструмента парного тестирования сокращает это до 39testcases.
Когда все ваши тесты пройдены, вы должны запустить профилировщик покрытия, чтобы убедиться, что вы не пропустили путь кодирования. Каждый путь должен выполняться хотя бы один раз.
- К настоящему времени у вас есть код, в котором устранено большинство ошибок.
- К настоящему времени у вас есть код, который, скорее всего, все еще содержит некоторые ошибки.(печально, но верно).
Модель PICT
genoma1_NumberOfGenes: -1, 0, 1, HighboundMinOne, HighBound, HighBoundPlusOne
genoma2_NumberOfGenes: -1, 0, 1, HighboundMinOne, HighBound, HighBoundPlusOne
numberGenerator.GenerateInteger: LowBoundMinOne, LowBound, LowBoundPlusOne, HighBoundMinOne, HighBound, HighBoundPlusOne
numberGenerator.GenerateBool: True, False
PICT Сгенерированные параметры тестового набора
genoma1_NumberOfGenes genoma2_NumberOfGenes numberGenerator.GenerateInteger numberGenerator.GenerateBool
HighBoundPlusOne -1 HighBoundPlusOne True
HighBound 1 HighBoundPlusOne False
-1 HighBoundPlusOne HighBound True
HighBoundPlusOne 0 LowBound False
0 HighBoundPlusOne HighBoundPlusOne False
0 1 HighBoundMinOne True
-1 0 HighBoundMinOne False
HighBound 0 LowBoundPlusOne True
1 HighboundMinOne LowBound True
HighboundMinOne HighBound LowBoundMinOne False
-1 HighBound HighBoundPlusOne True
1 0 HighBound False
HighBoundPlusOne HighboundMinOne HighBoundMinOne False
HighboundMinOne HighboundMinOne LowBoundMinOne True
HighBound -1 LowBoundMinOne False
HighBoundPlusOne 1 LowBoundMinOne True
HighBoundPlusOne HighBound LowBoundPlusOne False
1 -1 HighBoundMinOne True
HighBound HighBound HighBoundMinOne False
1 HighboundMinOne HighBoundPlusOne True
HighBound HighboundMinOne HighBound False
1 1 LowBoundPlusOne False
HighBoundPlusOne -1 HighBound True
0 0 LowBoundMinOne True
1 HighBound LowBound True
0 HighBound HighBound False
HighBound HighBoundPlusOne LowBound True
-1 -1 LowBoundMinOne True
0 HighboundMinOne LowBoundPlusOne True
HighBoundPlusOne HighBoundPlusOne LowBoundPlusOne False
HighboundMinOne 1 HighBound True
-1 1 LowBound True
HighboundMinOne -1 LowBound True
HighboundMinOne -1 LowBoundPlusOne False
-1 HighboundMinOne LowBoundPlusOne False
HighboundMinOne HighBoundPlusOne HighBoundMinOne False
HighboundMinOne 0 HighBoundPlusOne False
1 HighBoundPlusOne LowBoundMinOne False
0 -1 LowBound False