powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Способы проверки класса на соотвествие ТЗ
34 сообщений из 34, показаны все 2 страниц
Способы проверки класса на соотвествие ТЗ
    #40063801
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
При разработке ПО под Delphi, для контроля работы функций и процедур (входные данные -> выходные данные) Я делаю отдельную десктопную программу в виде формы с окнами ввода-вывода данных, кнопкой "Старт" и функцией или процедурой в обработчике кнопки.

Такой подход позволяет проверить работоспособность кода функции до использования в кода программе, или службе и избежать множества головняков, когда ошибки накладываются на ошибки. в Delphi такой подход (расчленение кода на элементарные подпрограммы) считается единственно правильным

В Java нет функций и процедур но есть классы с методами и полями что приблизительно все то же самое. в букварях также пишут о необходимости расчленения кода на элементарные подпрограммы. соответственно хотелось с удобствами проверять работоспособность класса.
cmd, javac, jar и прочее тормозят работу, гораздо проще нажать на кнопку на форме программы и получить результат, к тому же вводить данные в консоль не очень удобно

Вопросы(работа под Windows):
1. где то читал что есть IDE позволяющие запускать java код, типа как в DElphi, прямо из редактора. никто не в курсе что это, удобное в использовании?
2. допустим есть откомпилированный класс (file.jar компиляция через Maven) и файлы с зависимостями в комплекте. как все это запустить с передачей входных данных и выводом результата но не в консоли а в окна ввода-вывода, типа десктопная программа, хорошо бы скрестить форму из Delphi с запуском в ней file.jar
3. может есть какие то ещё варианты

Заранее всем спасибо за ответы на заданные вопросы
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063820
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepair,
Можно ссыль на дельфи топики?
Я на нем писал и ничего такого там не было)
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063824
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepair,
Пойми. Весь твой опыт с десктопом совершенно не катит с java.
Java это веб проекты в основном.
Поэтому требования "быстро запустить кусок кода" тут не катят совершенно.
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063826
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063829
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepair,
>cmd, javac, jar и прочее тормозят работу,
== это тебе в дельфи дельфисты сказали? Сознавайся)))))
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063861
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интуитивно мне кажется, что ТС говорит про тесты, но это не точно (с)
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063874
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
Да. Но у него тесты это формочка утилита в ГУИ.
А тестов сприг бут у него крыша поедет
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063896
Как в Delphi, так и в Java это все решать нужно совершенно по-другому. Для проверки нашего кода мы его должны протестировать и есть два способа:
1. Ручное тестирование - запустить приложение и прокликать (то что ты делал под Delphi - это эдакий подвид ручного тестирования)
2. Автоматизированное тестирование - написать тестовый код который будет вызывать production код и проверять что он правильно выполнил свои обязанности.

Оба вида тестирования необходимы. С ручным наверно все понятно, а вот для автоматизированного почитай про JUnit. Когда прийдется выбирать - выбирай лучше JUnit4, а не JUnit5. Последний намного сложней, а пользы тебе от него не будет скорей всего.

Также тесты можно делить по тому как много они инициализируют для своей работы:
- Unit Tests - могут работать с классом или несколькими классами, не используют внешние ресурсы (БД, удаленные сервисы и т.д.)
- Component Tests (еще называют Integration Tests, тут увы хорошего названия нет) - поднимают прям приличный кусок приложения, возможно используют базу данных
- System Tests - мы полностью запускаем приложение и используем внешние возможности (UI, API) для его проверки.

Начни с 1ого, потом можно будет пробовать 2ое. 3е возможно тебе никогда и не нужно будет.

Более подробно:
1. Про классификацию тестов
2. Как какие тесты писать
3. Как писать production код чтоб его можно было тестировать
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063900
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev,
Добавлю что есть еще Архитектурное тестирование.
Это MVC, MVP, MVVP, MV*
КЛАСС ФУНКЦИОНАЛА ОТДЕЛЕН ОТ ГУИ
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063906
PetroNotC Sharp, понятия "архитектурное тестирование" не знаю.. MVC и иже с ними - это подходы для написания UI логики, связывания ее с бизнес логикой. Какие-то из них способствуют модульному тестированию и ставят на это большой акцент (MVP), какие-то.. ну просто просто такая вот архитектура, кому-то показалась удобней, безотносительно тестирования.
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063912
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev,
Ну, термин конечно не ГОСТ'овский, но помогает цели - писать устойчивый код.
Автор вместо слово тест употребил Работоспособный код)))
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063913
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev,

>кому-то показалась удобней,
= были четкие цели - уменьшить связанность для....
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063981
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
НУ хорошо, еще раз
1. есть некий откомпилированный в file.jar класс(несколько + импорт)
2. у класса есть поля (два для ввода строк и одно для вывода строки) и методы (да неважно какие, их как раз и нужно сочинить и проверить)
нужна форма с полями ввода и вывода и кнопка запуска
- ввожу строки в поля ввода
- нажимаю кнопку и в поле вывода получаю или результат или текст исключения
если исключение дорабатываю класс в редакторе, пакую (МАВЕН) и опять по кругу.
Да, возможно ИДЕ типа иклипс все такое делает, но пока на изучение ИДЕ нет времени и НЕОБХОДИМОСТИ. Я просто разбираюсь с тем что есть ЖАБА!
Так что? есть какие то варианты по простому писать код в текстовом редакторе и по простому его тестировать
вот так понятно что мне нужно?
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063982
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepair

нужна форма с полями ввода и вывода и кнопка запуска
- ввожу строки в поля ввода
- нажимаю кнопку и в поле вывода получаю или результат или текст исключения

В чем проблема? Что не получилось?

Если вообще ничего не получилось, то сколько платите денег. Но это лучше в подфорум https://www.sql.ru/forum/job
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063984
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AFAIK для тестирования SOAP такие программы есть

Но для тестирования отдельного класса/метода таким бредом вряд ли кто занимается. Для этого есть JUnit (о котором уже говорили) и никакие интерактивные формы нафиг не сдались.
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063989
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторLeonid Kudryavtsev,
В чем проблема? Что не получилось?
Если вообще ничего не получилось, то сколько платите денег. Но это лучше в подфорум https://www.sql.ru/forum/job

да все получится, не надо так волноватьси
денег? ахахаха
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063992
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepair,

Есть javaFX. Иди помучайся хоть денёк. Потом приходи.
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40063993
Pcrepair

нужна форма с полями ввода и вывода и кнопка запуска
- ввожу строки в поля ввода
- нажимаю кнопку и в поле вывода получаю или результат или текст исключения
если исключение дорабатываю класс в редакторе, пакую (МАВЕН) и опять по кругу.
Написать модульный тест намного быстрей и проще. И запустит его Maven без необходимости паковать и работать с jar'кой. Собсно это основная причина почему твой подход с формочками никто не использует - это просто слишком сложно и медленно. Да и работать будет только для простых случаев. Когда классов сотни-тысячи и для тестирования нужно инициализировать десятки-сотни объектов, то формочку уже так просто не создать..

Я не думаю что тебе кто-то другой ответ даст. Поэтому если хочешь продолжать делать по-своему, то тут никто не сможет помочь. Я за 13 лет работы ни разу не слышал чтоб кто-то создавал формочки для тестирования.
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064000
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторStanislav Bashkyrtsev,
Написать модульный тест намного быстрей и проще

Знаю, буквари читал. мне нужно попробовать покрутить повертеть. по простому
и по моему - по простому это так:
- написать код класса в текстовом редакторе (уже все работает)
- упаковать в .жар через МАВЕН в консоли(уже все работает)
- подсунуть .жар в ГУИ, ввести данные нажать батон получить результат
если результат не тот все по новой
при этом файл.жава может не иметь метода МЕЙН и быть набором методов и полей

еклипс имеет множество настроек, возможностей, вариантов.
очень не хочется забивать голову потенциально не нужным хламом
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064006
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже пять человек пришло и сказало про модульные тесты. А вы упираетесь зачем-то. То, что описываете это не быстро. Это очень долго. Нужно что-то собирать, что-то запускать, куда-то тыкать, что-то вводить. Вместо того чтобы просто написать пару строчек вызова класса и запустить maven test. Да, придется разобраться, но уж извольте.
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064008
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepair,
Думаю вас и в дельфи никто не понял с таким упрямством.
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064055
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064066
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepair,
Код в текстовом редакторе, проверка работоспособности класса в формочке, ... Можно конечно и зубной счеткой двор подметать, но для этого есть специальные инструменты, хотя бы метла. Потрать немного времени на изучение инструментария, это потом окупится.

Для написания кода, возьми IDE -шку, например тот же эклипсе. Из очевидных плюсов:
- проверка синтаксиса (часть ошибок ты будешь видеть уже на этапе написания кода);
- синтаксис помощник (сокращает время на написание кода, так как иде тебе много чего будет подсказывать).

Для тестирования - Junit
- Пишешь несколько тестов, запускать можешь все разом в том же maven-е;
- Есть расширенные возможности (выполнение теста при условии, в определенной среде, многократный запуск и прочее).

Тебе уже несколько человек ответили, а ты все на своем стоишь.

Если уж решил делать по своему, то (по моему мнению) тебе проще будет писать код в иде, и там же его тестировать:
Пишешь класс, например, калкулятор:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
public class Calc {
	
	private int a;
	private int b;
	
	public Calc(int a, int b) {
		this.a = a;
		this.b = b;
	}
	
	public int add () {
		return (a + b);
	}
	public int subtract () {
		return (a - b);
	}	
	
	public int multiply () {
		return (a * b);
	}
	public double devide () {
		return (a / b);
	}
}



а под него пишешь класс, где будешь тестировать его функционал:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public class TestCalc {
	public static void main(String[] args) {
		
		int FIRST_ARG = 20;
		int SECOND_ARG = 10; 
		
		Calc calc = new Calc(FIRST_ARG, SECOND_ARG);
		
		System.out.println("Addition: " + calc.add());
		System.out.println("Subtraction: " + calc.subtract());
		System.out.println("Multiplication: " + calc.multiply());
		System.out.println("Devision: " + calc.devide());
		
	}
}
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064113
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
faustgreen,

Спасибо что прочитали, но! вот это
int FIRST_ARG = 20;
int SECOND_ARG = 10;
внутри класса не то что нужно. нужно передавать эти параметры извне и результат то же выводить наружу

консоль это конечно хорошо, на первые 5 минут изучения Java. но реально классы обмениваются данными через поля и все это и нужно имитировать в работе стенда:
- исходник
- .жар файл полученный из МАВЕН
- стенд с вводом данных и выводом результата по нажатию батона

тут все время пишут о тестировании. все правильно конечно, если у тебя проект целиком. но если у тебе нужно написать только класс, для стороннего проекта? как тогда проверить работоспособность кода? если не сложно...
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064114
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepair,

>но реально классы обмениваются данными через поля и все это и нужно имитировать в работе стенда:
= реально пища для класса идет там где пасует дельфи.
Это контекст, инжекция, декларативное программирование, конфиги аппСервера.
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064115
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepair,

>но если у тебе нужно написать только класс, для стороннего проекта? как тогда проверить работоспособность кода? если не сложно...
= напиши поведение класса требуемое тут. На форуме. Если не сложно....
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064229
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepair

В Java нет функций и процедур но есть классы с методами и полями что приблизительно все то же самое. в букварях также пишут о необходимости расчленения кода на элементарные подпрограммы. соответственно хотелось с удобствами проверять работоспособность класса.
cmd, javac, jar и прочее тормозят работу, гораздо проще нажать на кнопку на форме программы и получить результат, к тому же вводить данные в консоль не очень удобно

В Java бизнес логику не кладут в формочки.
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064236
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тормозят - потому - что такова архитектура JVM. Она разогревается. И ей для разогрева нужно несколько
проходов по коду чтобы определить hot-spot и пересобрать бинарник.

Посмотри среду разработки NetBeans. Там есть режим превью формочки который позволят до выполнения
приложения понять какой будет дизайн. Но кодинг дизайна в чистой Java - это исчезающий вид разработки.
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064258
Dmitry Eliseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чтобы не тормозило можно граалем собрать нативное приложение. Будет также быстро как на Си :)

Для JavaFx есть SceneBuilder, где формочки мышкой можно рисовать.
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064262
Каким то извращенством тут занимаются
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064263
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Eliseev
Чтобы не тормозило можно граалем собрать нативное приложение. Будет также быстро как на Си :)

Это отдельный челлендж по которому нужно статью писать или книгу. И отдельно автора обучать.
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064280
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Java бизнес логику не кладут в формочки.

ну не надо так сразу про бизнес логику. Я еще только только про классы, поля, методы соображаю. а тут бизнес логика. может до бизнес логики и не дойду, типа посчитаю жабу для себя малоперспективной. мозги то не резиновые, бизнес логикой их набивать
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064396
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepair
В Java бизнес логику не кладут в формочки.


ну не надо так сразу про бизнес логику. Я еще только только про классы, поля, методы соображаю. а тут бизнес логика. может до бизнес логики и не дойду, типа посчитаю жабу для себя малоперспективной. мозги то не резиновые, бизнес логикой их набивать
Что ты собрался проверять в полях? Что поле существует? Или что у него нужный тип?
...
Рейтинг: 0 / 0
Способы проверки класса на соотвествие ТЗ
    #40064452
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepair
faustgreen,

Спасибо что прочитали, но! вот это
int FIRST_ARG = 20;
int SECOND_ARG = 10;
внутри класса не то что нужно. нужно передавать эти параметры извне и результат то же выводить наружу

консоль это конечно хорошо, на первые 5 минут изучения Java. но реально классы обмениваются данными через поля и все это и нужно имитировать в работе стенда:
- исходник
- .жар файл полученный из МАВЕН
- стенд с вводом данных и выводом результата по нажатию батона

тут все время пишут о тестировании. все правильно конечно, если у тебя проект целиком. но если у тебе нужно написать только класс, для стороннего проекта? как тогда проверить работоспособность кода? если не сложно...


Ну так как раз это и есть твой случай, раз нужно написать всего лишь один класс, и протестировать его работоспособность, то зачем лишние телодвижения? Пишешь класс в ИДЕ, формируешь массив тестовых данных (все возможный комбинации (логически обоснованные) входных данных, и соответствующие им выходные) и прогоняешь их через свой класс. Если это у тебя в иде будет работать, думаю с jar-ником тоже проблем не должно возникнуть.

Но после прочтения твоих постов складывается ощущение, что тебе нужно не протестировать код, а продемонстрировать его работу кому-то. Тогда нужно создавать графическое представление. Как по мне варианты такие (по возрастанию сложности):
- вывод результата тестирования в текстовый, pdf, любой другой тип файла;
- создание простого десктоп приложения (например, https://www.tutorialspoint.com/javafx/index.htm);
- web интерфейс.
...
Рейтинг: 0 / 0
34 сообщений из 34, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Способы проверки класса на соотвествие ТЗ
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]