Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
ushim
167 / 168 / 14
Регистрация: 01.06.2011
Сообщений: 507
#1

Unit -тестирование или автоматизированное тестирование - Программирование Android

06.05.2013, 18:38. Просмотров 2095. Ответов 5
Метки нет (Все метки)

Доброго времени суток.
Я программирую «для себя» второй год, на выходе получаются разного рода приложения от постоянно подающих с неопределённым поведением в другом окружении до стабильных. Всё время я тестировал приложение вручную, тыкал на кнопки в UI, писал правильные и заведомо неправильные входные данные и всё это вручную. Если не ошибаюсь, это называется интеграционное тестирование, но в общем-то не суть.
Сейчас решил заняться разработкой Android приложений, приложения уже будут не для домашнего использование на 1-2 ПК, а вероятно, на множестве мобильных устройств и допустить падение приложения или неправильной обработки какого-то сценария никак нельзя. Многое слышал в интернете, про различного рода тесты и системы тестирования, но, как я уже говорил, ни к одной из них даже близко не подходил. Во многих статьях приводится пример с unit-тестированием калькулятора, который выполняет простое действие float c = a * b; return c; Здесь и тестировать ничего не надо - итак всё предельно ясно, главное не выйти за пределы float. Но, например, как протестировать поведение интерфейса, если пользователь попытается положить в базу данных значение, поля для которых неопределены. Ещё непонятнее обстоят дела с тестированием UI, к ним вообще можно применять какую-нибудь технологию тестирования или ручками всё же правильнее будет?
Ко всему прочему, я не хотел бы тратить на тестирование времени больше, чем 1/3 от всего времени на разработку приложения. Наверное, есть какой-нибудь фреймворк, который сводит тестирование с написания сложных тестов до написание Класс.Метод(типы входных данных) который проверяет возвращаемые данные и обработку исключений внутри метода.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2013, 18:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Unit -тестирование или автоматизированное тестирование (Программирование Android):

Тестирование отображения UI - Программирование Android
Здравствуйте, интересует есть ли какой ресурс для быстрого тестирования UI Android-приложений, ибо у меня на разных экранах Views по...

Тестирование на телефоне (планшете) - Программирование Android
Доброго времени суток. Подскажите пожалуйста в чем может быть причина. При запуске на телефоне появляется "в приложении *** произошла...

Тестирование на реальном устройстве - Программирование Android
Появилась такая проблема. То, что написано в ней - сделал - ошибка осталась. Возникает со всеми созданными приложениями. Буквально...

продвижение-тестирование-дизайн - Программирование Android
привет всем. я тут выложил уже 16-й вариант программы, и наверно настало время попросить помощи у комьюнити. Noob-школа -...

in-app billing тестирование приобретения внутренних продуктов - Программирование Android
не могу понять как протестировать покупки и чтобы с карточки не снимало. приложение опубликовал в альфа тесте. инапп внедрил. работает...

Автоматизированное тестирование ПО - C++
Доброго времени суток! Даже незнаю, в правильный ли раздел форума обращаюсь...Есть ли здесь информация, про автоматизированное тестирование...

5
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.05.2013, 19:51 #2
Цитата Сообщение от ushim Посмотреть сообщение
если пользователь попытается положить в базу данных значение, поля для которых неопределены
как такое вообще возможно? пользователь сам же не вписывает название полей в которые хочет засунуть данные, все поля заранее определенны.

Цитата Сообщение от ushim Посмотреть сообщение
Ещё непонятнее обстоят дела с тестированием UI, к ним вообще можно применять какую-нибудь технологию тестирования или ручками всё же правильнее будет?
http://developer.android.com/tools/testing/index.html
конкретно про UI здесь:
http://developer.android.com/tools/testing/testing_ui.html
http://developer.android.com/tools/testing/activity_test.html
http://developer.android.com/tools/help/monkeyrunner_concepts.html
http://developer.android.com/tools/help/monkey.html

Добавлено через 5 минут
очень много про тестирование там написано, терзайте.
1
ushim
167 / 168 / 14
Регистрация: 01.06.2011
Сообщений: 507
06.05.2013, 22:00  [ТС] #3
Цитата Сообщение от V0v1k Посмотреть сообщение
как такое вообще возможно? пользователь сам же не вписывает название полей в которые хочет засунуть данные, все поля заранее определенны.
Разные ситуации бывают, это только пример. Может быть добавили фичу, а базу данных не проапгрейдили, может быть при обновлении структуры базы вылез эксепшен, который обработали не должным образом, опечатались в коде - причин для такого множество, большинство из них нужно поймать на тестах.

Со статьями не совсем всё понятно. В описании требуется создать тестовый класс, через который и надо запускать тесты, но все методы тоже надо копировать? Никак нельзя их унаследовать?
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.05.2013, 22:04 #4
Цитата Сообщение от ushim Посмотреть сообщение
Разные ситуации бывают, это только пример. Может быть добавили фичу, а базу данных не проапгрейдили, может быть при обновлении структуры базы вылез эксепшен, который обработали не должным образом, опечатались в коде - причин для такого множество, большинство из них нужно поймать на тестах.
а, ну это уже не юайная ошибка.


Цитата Сообщение от ushim Посмотреть сообщение
Со статьями не совсем всё понятно. В описании требуется создать тестовый класс, через который и надо запускать тесты, но все методы тоже надо копировать? Никак нельзя их унаследовать?
ну да, вроде всегда создаются отдельные классы для тестирования, но никогда ничего не копировал и не унаследовал для теста, читайте внимательней.
0
ushim
167 / 168 / 14
Регистрация: 01.06.2011
Сообщений: 507
06.05.2013, 22:39  [ТС] #5
Тогда видимо я чего-то не понимаю. Вот смотрите, у нас есть класс
Java
1
2
3
4
5
6
7
public class Math 
{
    protected float Div(float a, float b)
    {
        return a / b;
    }
}
Я создаю JUnit и у меня появляется класс
Java
1
2
3
public class Math extends TestCase
{
}
Собственно он появляется пустой и что дальше делать мне не понятно.
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.05.2013, 01:14 #6
читайте внимательней мануалы, там все написано. классы с тестами имеют доступ к тестирующим классам при помощи фрейворка насколько я помню. тот код что вы привели можно и обычным способом оттестировать, а вот активити например только через фреймворк. когда-то давно юзал в учебных целях и никаких сложностей у меня не возникало, учил по тем ссылкам что дал.
0
07.05.2013, 01:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2013, 01:14
Привет! Вот еще темы с ответами:

Автоматизированное тестирование Eclipse - Java EE
Здравсвуйте, подскажите пожалуйста, создаем автоматические тесты в среде Eclipse. Есть следующий фрагмент кода: ...

Unit-тестирование - C#
Здраствуйте, форумчане.Собственно решил разобраться с Unit-тестами.Вопрос:Нужно ли переопределять Equals(), для собственного типа?Ошибка на...

Unit - тестирование - C++
Есть ли на C03++ стандарте что-то, помогающее в этом? И как это самое использовать? Ну или подкиньте хорошую статейку?

Тести́рование програ́ммного обеспе́чения(Модульное тестирование, или юнит-тестирование) - Программирование
Извиняюсь перед администрацией что разместил тему в несоответствующем разделе, не мог найти про тестирование ПО. На днях встал вопрос о...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru