что такое библиотека в программировании?
Для тестирования какой системы была написана библиотека java.io ?
Почему, программисты в 90 % кода подключают библиотеки? они же не тесты пишут!
Отправлено 31 января 2017 - 10:22
что такое библиотека в программировании?
Для тестирования какой системы была написана библиотека java.io ?
Почему, программисты в 90 % кода подключают библиотеки? они же не тесты пишут!
Отправлено 31 января 2017 - 10:24
что такое библиотека в программировании?
в данном случае под "библиотекой" имею ввиду "библиотека для связи с приложением под тестом"
тогда получается:
цель создателей "библиотек для связи с приложением под тестом"- чтобы ПО для тестирования могло подключаться к тестируемой системе и работать с ней
цель создателей фреймворков - это описание функций низкого уровня, чтобы потом разработчикам более высокого уровня облегчить работу
Отправлено 31 января 2017 - 10:40
Я боюсь мне не хватит квалификации объяснить что производимое вами сравнение не имеет никакого внешнего смысла.
Поэтому просто ограничемся тем, что есть 3 критерия отличия фреймворка от библиотеки, по которым класс написаный для взаимодействия с SUT является библиотекой.
Отправлено 31 января 2017 - 10:51
Поэтому просто ограничемся тем, что есть 3 критерия отличия фреймворка от библиотеки, по которым класс написаный для взаимодействия с SUT является библиотекой.
так я согласен с этим. Класс для связи с СУТ - это "библиотека для связи с СУТ"
а вот такой частый пример:
есть тестовое ПО, и у него конечно есть "библиотека для связи с приложением под тестом". тесты пишут программисты, так как код низкоуровневый
но аналитики тоже хотят писать тесты (ну или им дали задание) - но аналитикам не хватает знаний и времени писать низкоуровневый код
поэтому программисты описывают низкоуровневый код, делают функции для использования на высоком уровне, типа "createClent" и так далее
в результате у нас есть и "библиотека для связи с приложением под тестом" и "фреймворк для высокоуровневого создания тестов"
Отправлено 31 января 2017 - 11:00
А почему вы назвали это фреймворком?
Как оно соотностится с 3-мя ключевыми отличиями фреймворка от библиотеки?
Отправлено 31 января 2017 - 11:43
Отправлено 31 января 2017 - 12:22
inversion of control: аналитик не контролирует выполнение кода
extensibility: можно расширять фреймворк
non-modifiable framework code: аналитики обычно не меняют низкоуровневый код
1. Не выполнение кода, а определение порядка действий. А кто его контролирует?
2. Как именно аналитик расширяет фреймворк?
Отправлено 31 января 2017 - 12:34
1. Не выполнение кода, а определение порядка действий. А кто его контролирует?
2. Как именно аналитик расширяет фреймворк?
1. контролирует только разработчик фреймворка
2. особо никак не расширяет, хотя это возможно. скорее аналитик попросит разработчика фреймворка внедрить расширение в сам фреймворк
во всяком случае эти три признака не являются "официально принятыми" и "стопроцентными" признаками, эти признаки это частное мнение.
какие-то фреймворки больше расширяют, какие-то меньше
но во всяком случае ведь аналитику не приходится писать низкоуровневый код, получается аналитик использует фреймворк
так же как и веб-девелопер использует Реакт фреймворк и ему не приходится писать низкоуровневый хтмл
Отправлено 31 января 2017 - 12:43
Коллеги, тема ушла далеко от первоначального вопроса "Кто-нибудь может посоветовать источники "для чайников"?"
Про разницу между библиотекой и фреймворком создайте отдельную тему.
Спасибо.
Отправлено 31 января 2017 - 12:47
Отправлено 31 января 2017 - 14:22
1. Не выполнение кода, а определение порядка действий. А кто его контролирует?
2. Как именно аналитик расширяет фреймворк?1. контролирует только разработчик фреймворка
2. особо никак не расширяет, хотя это возможно. скорее аналитик попросит разработчика фреймворка внедрить расширение в сам фреймворк
во всяком случае эти три признака не являются "официально принятыми" и "стопроцентными" признаками, эти признаки это частное мнение.
какие-то фреймворки больше расширяют, какие-то меньше
но во всяком случае ведь аналитику не приходится писать низкоуровневый код, получается аналитик использует фреймворк
так же как и веб-девелопер использует Реакт фреймворк и ему не приходится писать низкоуровневый хтмл
Так и вижу перед собой картину: в далекой деревне мальчик набирает "mvn clean test" в своем "hello world" и в далеком Сан-Франциско дежурный разработчик TestNG подскакивает с постели и ломится к монитору, чтоб не дай бог AfterClass не исполнился раньше AfterMethod.
Извините, у меня было ощущение, что вы хотите разобраться в предмете разговора, а не банально побросаться BuzzWords.
Отправлено 31 января 2017 - 15:05
Так и вижу перед собой картину: в далекой деревне мальчик набирает "mvn clean test" в своем "hello world" и в далеком Сан-Франциско дежурный разработчик TestNG подскакивает с постели и ломится к монитору, чтоб не дай бог AfterClass не исполнился раньше AfterMethod.
Извините, у меня было ощущение, что вы хотите разобраться в предмете разговора, а не банально побросаться BuzzWords.
при чём здесь "подскакивать с постели"? это троллинг такой?
разработчик фреймворка контролирует какой будет порядок действий, ведь разработчик и запрограммировал этот порядок действий, зачем же ему вскакивать каждый раз с постели?
Отправлено 31 января 2017 - 15:25
а с создателем TestNG я общался недавно на форуме
о плагине TestNG для Intellij IDEA, который как оказалось не поддерживает цепной запуск зависимых тестов которые используют DependsOnGroups
разработчик плагина решает какие тесты и когда запускаются, а не пользователь. И реально когда запускаешь Тест "А" который зависит от Группы Тестов "Икс", то запускается только сам Тест "А". Хотя TestNG (чистый, без плагина для Идея) при запуске Теста "А" - запускает сначала Группу Тестов "Икс", и только потом Тест "А"
Отправлено 31 января 2017 - 16:09
Так и вижу перед собой картину: в далекой деревне мальчик набирает "mvn clean test" в своем "hello world" и в далеком Сан-Франциско дежурный разработчик TestNG подскакивает с постели и ломится к монитору, чтоб не дай бог AfterClass не исполнился раньше AfterMethod.
Извините, у меня было ощущение, что вы хотите разобраться в предмете разговора, а не банально побросаться BuzzWords.
при чём здесь "подскакивать с постели"? это троллинг такой?
разработчик фреймворка контролирует какой будет порядок действий, ведь разработчик и запрограммировал этот порядок действий, зачем же ему вскакивать каждый раз с постели?
Это не троллинг, это раздражение. Очень трудно беседовать с человеком который отвечает на половину вопроса из 3-х заданных и не про то, про что спрашивали.
Не имеет значения насколько высокоуровневые функции у объектов и сколько этажей снизу.
Если пользователь ваших объектов создает их и взаимодействиет с ними исходя из своего поинмания и своей логики - вы написали библиотеку.
Если пользователь вашего объекта пишет код, который будет вызываться вашим объектом исходя из логики работы вашего объекта, при этом пользователь будет достигать своих целей - это фреймворк.
Это и есть принцип инверсии потока управления. Разработчик пишущий в фреймворке не пишет управляющего кода, он пишет обработчики конкретных событий, которые генерироваться будут фреймворком. и на появление или последовательность этих событий он не влияет.
Отправлено 31 января 2017 - 16:39
Отправлено 31 января 2017 - 17:02
Про веб-фреймворки я вам ничего не отвечу. Во первых я не знаю что вы называете веб-фреймворком, а вы явно что-то конкретное имеете в виду. Во вторых, очень сильно подозреваю, что вы про какой-нибудь JS, а я с ним не работал настолько чтобы ответить конкретно.
Ну разве что скажу, что некоторые (не авторы) Селениум называют фреймворком. А вот Аппиум, который вроде то-же что и селениум но для мобилок - тот гордо именует себя фреймворком на официальной странице. В смысле не все что гордо именуется фреймворком является им на самом деле. Просто в какой-то момент слово стало модным.
А вот если взять flask, который, внезапно, веб-фреймворк, то в нем вы пишете классы обработчики запросов, потом говорите какой класс на каком uri должен отвечать, запускаете фласк и вуаля у вас веб-сервис. И вот flask - точно фреймворк. он принимает входящие запросы, анализирует их, отвечает ошибками на невалидные, валидные передает обработчикам и возвращает их ответ пользователю
Отправлено 31 января 2017 - 18:39
Отправлено 31 января 2017 - 19:57
Первая страница поиска "ReactJS" в гугле настойчиво с вами несогласна "A JavaScript library for building user interfaces"Да, имею ввиду современные веб-фреймворки, типа ReactJS
Имею ввиду что для фреймворка это нормально когда контрол-флоу остаётся у юзера, а фреймворк только описывает низкоуровневый код
Ну или keyword-driven testing frameworks, типа robot-framework или Cucumber - там тоже вызовы делает сам юзер
Отправлено 31 января 2017 - 22:12
0 пользователей, 0 гостей, 0 анонимных