0 / 1 / 0
Регистрация: 12.12.2014
Сообщений: 65

Подскажите методику тестирования приложений

29.04.2016, 17:47. Показов 1193. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Так как моя программа сложноватой в поддержке, положил глаз на методику программирования TDD. В VS всё для этого есть оказывается и вот я создаю тест:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[TestMethod]
        public void GetLinksTest()
        {
            StringCollection testCol = new StringCollection();
            testCol.Add("http://srdgxrhsrth\nhttp://srdgxrarghsrth\nhttp://srdgxrhsragth\nhttp://srdggexrhsrth\naergaerg");
            testCol.Add("sgsdfgsrfg");
            testCol.Add("http://srdgxrhsrth\n");
            testCol.Add(null);
            testCol.Add("");
            testCol.Add(String.Empty);
 
            foreach(string text in testCol)
            {
                StringCollection links = Func2.GetLinks(text);
 
                Assert.IsTrue(links != null);
                //Assert.IsTrue(links == null);
                foreach (string str in links)
                {
                    Assert.IsTrue(str.Contains("http://") || str.Contains("https://"));
                }
            }
        }
Вот тестируемый метод:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public static StringCollection GetLinks(string links)
        {
            L.Trace();
            StringCollection linksCol = new StringCollection();
 
            try
            {
                int count_links = Func.GetCountStrings(links);
 
                if (count_links == 0)
                {
                    return linksCol;
                }
                else
                {
                    StringCollection linksCol_ = Func.GetStringCollection(links);
                    foreach(string link in linksCol_)
                    {
                        if (!link.Contains("http://") && !link.Contains("https://"))
                        {
                            System.Windows.MessageBox.Show("Строка ссылки "" + link + "" должна содержать http:// или https://");
                        }
                        else
                        {
                            linksCol.Add(link);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                L.LW(ex);
            }
 
            return linksCol;
        }
Метод из текстового поля получает строки и проверяет ссылка ли это, если ссылка, то в коллекцию её, если нет, то предупредительное сообщение. Но мне кажется, что надо бы подсунуть этому методу с миллиончик различных вариантов, подскажите как это сделать, кто сталкивался. Может библиотеки есть специализированные?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.04.2016, 17:47
Ответы с готовыми решениями:

Подскажите книгу для создания приложений с оконным интерфейсом
Здравствуйте, я хотел бы научиться создавать приложения на С# , не консольные,а к примеру текстовый редактор,калькулятор и т.п. ,...

Подскажите литературу для написания клиет-серверных приложений
Мне нужно создать два приложения(клиент и сервер) взаимодействующих по локальной сети. Впервые сталкиваюсь с такой проблемой, поэтому...

Подскажите с литературой по созданию приложений для автоматизации работы с сайтами.
Здравствуйте. Вопрос в названии темы, помогите найти что нибудь в этом направлении, на Русском языке. Если у кого есть в электроном...

3
Администратор
Эксперт .NET
 Аватар для OwenGlendower
17967 / 14052 / 5358
Регистрация: 17.03.2014
Сообщений: 28,739
Записей в блоге: 1
30.04.2016, 03:51
Лучший ответ Сообщение было отмечено mahnevmaxim как решение

Решение

mahnevmaxim, метод GetLinks не годится для unit-тестов т.к. взаимодействует с UI.
1
9031 / 2931 / 491
Регистрация: 05.10.2013
Сообщений: 7,876
Записей в блоге: 215
07.05.2016, 10:30
mahnevmaxim, приклепляю книгу по NUnit и NSubstitute (ссылка на книгу удалена модератором)

Тут исходный код к ней: https://www.manning.com/books/... nd-edition

Добавлено через 8 часов 36 минут
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Последний раз редактировалось OwenGlendower; Сегодня в 02:02. Причина: Правила 5.3: Запрещено размещать любые материалы, нарушающие авторские права (без разрешения правообладателя), а также ссылки на них
Спасибо. Прошу прощения

На ozon'е есть перевод этой книги (то есть второго издания): Искусство автономного тестирования с примерами на С#

Добавлено через 4 минуты
Правда, в комментах на ozon'е пишут, что перевод ужасен, лучше читать на английском:

Печально, но отличная книга испорчена отвратительным переводом. Перевод названия книги - уже ошибка. Есть устоявшиеся в отрасли термины, которые никто, кроме переводчика этой книги не переводит. В тексте книги переведены понятия unit, framework, mock, stub, sprint... Множество формулировок переведено не типичным способом, что затрудняет понимание. На середине 4 главы не выдержал и начал читать английскую версию. Совет: если можете, читайте на английском, на русском, особенно если тема unit- тестирования для вас нова, читать не стоит - если "впитаете" терминологию из книги, опытные коллеги вас не поймут.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.05.2016, 10:30
Помогаю со студенческими работами здесь

По каким критериям выбрать телефон для тестирования приложений
В голову приходит взять смарт с последней версией андроида. Еще хочется как можно больше датчиков, хотя возможно какие то лишние. Не...

Ipod touch 6 как устройство для тестирования приложений
Всем привет. Подскажите подойдет ли ipod touch 6 для тестирования приложений написанных в xcode 7 на objective-c / swift языках? Я лишь...

А что если поставить Android на ноутбук для тестирования приложений?
Если ПК на Windows подключить напрямую по USB (два USB штекера скрутить) к другому ПК (ноуту) с Android, можно ли будет включить отладку и...

Подскажите скрипт тестирования адаптивности сайта
Добрый день! Подскажите скрипт тестирования сайта на кросс браузерность адаптивность. Как тут http://quirktools.com/screenfly Изучая...

предлагаю людям класс "каждому потоку- своё окно" для тестирования многопоточных приложений.
Друзья! То есть если вы разрабатывает многопоточные приложения и закалебались смотреть, что тот или иной поток выводит, то этот класс для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Тестирование Pull Request в Kubernetes с vCluster
Mr. Docker 19.07.2025
Часто сталкиваюсь с серьезной дилемой при настройке тестовых окружений для проверки Pull Request в Kubernetes. С одной стороны, каждый PR требует изолированной среды — только так можно гарантировать,. . .
Мой 7 минутный ролик с крамольным предложением про шахматы, предлагаю заценить
_Ivana 18.07.2025
p2UhJNMGY94
Десять Middleware Node.js для эффективного кодинга
Reangularity 18.07.2025
Когда я только начинал работать с Node. js, количество пакетов в npm меня буквально парализовало. Сегодня их больше 1,3 миллиона — попробуй разберись, что стоит твоего внимания, а что нет. Я потратил. . .
Context и глубины Android
mobDevWorks 18.07.2025
В Android разработки Context напоминает воздух - он везде, жизненно необходим, но мало кто может детально объяснить его природу. Мы привыкли получать его как параметр, передавать дальше и. . .
Результаты исследования от команды MCM (июль 2025 г.)
Programma_Boinc 18.07.2025
Результаты исследования от команды MCM (июль 2025 г. ) Как сообщалось в наших предыдущих публикациях, мы изучаем гены, которые имеют наибольший рейтинг и ассоциируются с различными видами рака, в. . .
ИИ-чатбот на React с OpenAI и LangChain.js
Reangularity 17.07.2025
React давно стал для меня золотым стандартом фронтенд-разработки. Его компонентная структура, виртуальный DOM и однонаправленный поток данных идеально подходят для создания динамичных интерфейсов. . .
Пишем адаптер для локального хранилища S3 на C#
stackOverflow 16.07.2025
Разработка современных приложений часто требует интеграции с объектными хранилищами, и Amazon S3 стал де-факто стандартом в этой области. Однако работа с облачными сервисами в процессе разработки. . .
Старые замки
kumehtar 16.07.2025
Смотрел тут фото, попались пара старых замков. И сразу бросилось в глаза из отличие. Например: Замок Бистон, в англии. Разрушенное сооружение. Но - не испорченное людьми, по крайней мере - на. . .
Java и Eclipse Store: Сверхбыстрые приложения с In-Memory DB
Javaican 15.07.2025
Eclipse Store — это микро-движок персистентности для Java, который позволяет хранить и извлекать нативные Java-объекты без необходимости преобразования данных или использования объектно-реляционного. . .
EmBitz, создание проекта, отладка, прошивка
locm 15.07.2025
Создание проекта для Blue Pill (STM32F103C8T6) в EmBitz 2. 30, написания кода blink, запуск отладки в ОЗУ, заливка релизной прошивки во flash используя ST-Link и др. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru