MyWackoSite : РаспределенноеХранилище/Тесты


Тестирование:


OLD: Ожидаемый результат: Результат тестирования:
1. При наличии n узлов расшарить файл, скачать его файл скачается пройден
2. Скачать этот файл с другого узла тоже что 1 пройден
3 Скачать этот файл предварительно отключив к узлов если число подключенных узлов – хранителей полосок достаточно для сборки файла, то он скачается не реализован специально, вроде работает
4. Скачать этот файл предварительно отключив к узлов среди которых должен быть источник тоже что 3 не реализован специально, вроде работает
5. расшарить файл, отключить все узлы, снова включить, и попробовать скачать его тоже что 1 пройден
6. расшарить файл, затем изменить содержимое источника, снова расшарить, скачать в сети будет два разных файла пройден
7. тоже что и 6, но:
– пусть указаны n+k узлов, a[1]..а[n+k]
– подключаем к сети a[1]..a[n]
– расшариваем файл
– отключаем a[1]..a[n-k]
– подключаем a[n+1]..a[n+k]
– расшариваем файл с измененным содержимым
– подключаем a[1]..a[n-k]
скачаем оба файла пройден


NEW:
test klient's work on one computer:
Ожидаемый результат: Результат тестирования:
1. подключить клиенты на одном компьетере с одинаковыми ТСР портами, одинаковыми UDP портами, и тем и другим одновременно;
клиент не подключается к сети и просит пользователя ввести другие значения портов, в отдельном диалоге пройден
2. подключить клиенты с разными портами и впроцессе работы поменять значения портов на одинаковые и переподключиться; при смне тср порта клиент должен предложить прорестартить систему, при смене тср – пока что не понятно провален
3. подключить к сети два (или более) клиента с одного компьтера и :
– расшарить на одном из них файл, найти и скачать его с с узла на другом компьютере, с узла на этом же компьютере
– расшарить с обоих клиентов одинаковые файлы, файлы с одним именем, один и тот же файл
клиенты работают корректно как два независимых узла сети пройден
4. провести вышеперчисленные тесты если один из клиентов подключен к к клиенту находящемся на том же компьютере тоже что и 3. пройден
IN THE FUTURE:
1. расшарить файл, исказить содержимое хранилища, попробовать скачать. Файл скачается не реализовано
2. расшарить файл, исказить содержимое n-k+1 хранилищ, попробовать скачать. Клиент сообщит, что файл непоправимо испорчен не реализовано
3. попробовать расшарить файл уже расшаренный с другого узла, найти его и скачать файл скачается (просто полосок в хранилище будет больше) пройден
4. расшарить разные файлы с одним и тем же именем с одного узла и с разных узлов, попробовать их найти и скачать Оба файла сохранятся в сети(id считается по содержимому) пройден
5. расшарить достаточно большой файл, начать закачку, приостановить, продолжить до конца. Файл скачается провален
6. попробовать скачивать два файла одновременно, повторить тест, но при этом приостановить скачивание одного файла, докачать второй и возобновить скачивание первого
файлы должны скачиваться одновременно, после прерывания скачивание должно возобновляться скачивание двух файлов – пройден, приостановка – провален
7. провести все перечисленные тесты на Unix – системах (на пример на Linux =)) то же что и в Windows не проведен
8. расшарить файл больше 2 ГБ  файл расшарится\скачается не реализовано

TEST OF DOWNLOAD'S CONTINUATION

TEST: Ожидаемый результат: Результат тестирования:
1. Начать закачку, закрыть клиент, открыть клиент Закачка должна закончится, с правильным подсчетом прогресса Пройден
2. (1) + Пока закачка продолжается снова закрыть клиент, открыть клиент Аналогично Пройден
3. (1) + После открытия клиента начать новую закачку, начать еще одну после завершения продолжаемой закачки Аналогично Пройден
4. Продолжить закачки с разными типами разбиений файла Аналогично Не проведен
5. Продолжить после рестарта много закачек (5–6) Все закачки должны завершить корректно Не проведен
6. Исказить хранилище пока клиент закрыт, открыть его  Клиент должен вывести сообщение о том что содержимое хранилище испорчено, и спросить стоит ли возобновить закачку с самого начала Не реализовано
7. Исказить содержимое файла с именами не завершенных закачек Все закачки имена которых не были искажены – продолжатся, искаженные проигнорируются\ или\ выводим сообщение для пользователя Не проведен
8. Удалить хранилище пока клиент закрыт, не удаляя записи в файле с именами Проигнорировать закачку Не проведен