Показаны сообщения с ярлыком диверсант. Показать все сообщения
Показаны сообщения с ярлыком диверсант. Показать все сообщения

вторник, 21 января 2020 г.

Ограниченность

Тестировщики в своей работе очень часто встречаются с ограничениями. Прописанные ограничения являются стандартами, на которые равняются результаты тестов. Начинающие соратники среди первоочередных задач называют проверки граничных значений. Недостаток ограничений всегда можно оформить в предложение.
Про то где и какие уместны проверки ограничений вполне доступным языком рассказала и показала лектор курса начинающих тестировщиков Нина Агеева (тренер курса «Погружение в тестирование. Jedi Point») в видео-уроках. 
К чему может привести отсутствие достаточных ограничений упомянуто на примерах в форуме тестировщиков.
А вчера в магазине случилась беда у кассира с покупателем из-за отсутствия ограничения. Программное обеспечение касс не отображает остатки на складе, поэтому кассир может проставить количество, превышающее имеющиеся и покупаемые позиции. Когда покупатель берёт несколько одинаковых мелких пакетиков, кассир может сканировать каждый из них, либо отсканировать один, просчитать вручную фактическое их количество и ввести это значение с клавиатуры. Но ручное пересчитывание грозит "человеческим фактором", что и произошло на моих глазах. Покупатель, обнаружив опечатку в количестве приобретённых позиций (забрал все остатки с полки, но их число оказалось меньше пробитого в чеке) не только нервничает и возмущается (ругается с персоналом универсама), но и задерживает очередь остальных покупателей для восстановления справедливости. Возврат оплаты и узнать баланс остатков может сделать только карта администратора магазина, то есть всем известное ожидание отражается не только на обманутом покупателе, но и на прочих клиентах. А ведь если кассир не смог бы ввести количество позиций, превышающее остатки, то сразу бы заметил собственный обсчёт и не устроил бы негативную ситуацию, нервы и деньги покупателей были бы в сохранности, впечатление о торговой сети не портилось бы.
Уважаемые тестировщики, пусть ваша ограниченность в знаниях предметной области не становится причиной отсутствия достаточных ограничений в программном обеспечении.

четверг, 10 января 2019 г.

Про-хак

Одной из профессиональных черт тестировщика является хакерство, направленное на выявление слабых мест продукта. Любой производитель стремится выгодно продать свой товар. А чтобы получить наибольшую прибыль, предложение должно соответствовать запрашиваемому качеству. Обязательная или добровольная сертификация позволяет устанавливать высокую цену. Но современные бизнесмены, стартаперы чаще пытаются сыграть на раскрученных брендах, чтобы быстро разбогатеть. Поэтому давним поставщикам приходится защищаться, в том числе и лицензированием своего труда. И этот этап производства тоже должен быть протестирован, хотя не все уделяют ему должное внимание, сваливая его только на тестировщиков по безопасности.
Давайте рассмотрим несколько приложений, являющихся платными для постоянного использования тестировщиком. Но поскольку "бизнес по-русски" любит халяву, то любой из ниже перечисленных продуктов можно применять бесплатно неограниченное количество времени или раз, если взглянуть на них глазами истого тестировщика. Да, профессия обязывает нас обладать способностями хакера, и именно это качество помогает выявить злостные негативные тесты. Не буду вдаваться в юридические тонкости лицензионных соглашений, пусть эти тексты останутся на совести владельцев продукта. Нашей технической направленности вполне достаточно, чтобы показать несовершенство функционала, а значит и возможные пути потери прибыли.
WINDOWS
Операционная система, наиболее популярная у тестировщиков десктопных продуктов, вполне может обойтись без Интернета. И это является основополагающей причиной "украсть" лицензию.
Подтверждение серийного ключа происходит обычно в автоматическом режиме или индивидуальном через интернет, телефон. Да, лицензия ставится на одну машину, но может быть и переставлена на другую, более (менее) новую с точки зрения оборудования. Этот обходной манёвр чаще всего используют завхозы (сисадмины, девопсеры). Степень защиты, завязанная на "железо", в век быстро меняющихся технологий нельзя считать высокой. Компания Microsoft, понимая тенденции рынка компьютеров, сама отказалась от некоторой части прибыли, видимо посчитав её незначительной. Конечно, обновить такую версию можно только на одной из машин, но для отдела тестирования парк устройств чаще всего выстраивается именно в стиле разнообразия и надолго.
TestComplete
Среда тестирования десктопных, web- и мобильных приложений имеет пробный бесплатный период, длиною в месяц. Цена продукта самая низкая в линейке ему подобных, но и это не всегда по карману стартапам. Поэтому основные пользователи TestComplete чаще вынуждены извращаться и ограничиваться триалом. Даже триальный ключ имеет три стадии защиты: временной, привязка к оборудованию и операционной системе, генерация ключа на сайте компании. Но все эти уровни тоже можно обойти. Персональная информация для триального ключа не завязана на факте существования e-mail - хотя поле и обязательное для заполнения, но вводить можно не существующий адрес, например "aa@aa.aa". Персональную инфу собирают только для статистики, а не в целях уникального использования ключа. Наличие доступа в интернет на компе тоже не обязательное, ключ можно получить через соседнюю машину, да и существующий коннект не контролирует триальщика. Поскольку операционная система позволяет не закрывать сеанс годами, то это позволяет работать в одной запущенной сессии приложения более одного месяца. На моей памяти 7 месяцев на виртуальной машине без перезагрузки, поскольку однажды запущенное приложение не замечает регулярной смены дат. Но когда виртуальную машину пришлось перезапустить, а не остановить с открытым TestComplete, то только переустановка виртуалки и приложения позволила продолжить тестирование. Опасно, конечно, переводить дату на компах виртуальном и основном, это  "сжигает" триал, даже если вы не вышли за рамки периода. Моим выходом из ситуации стало следующее: на основной машине ставилась чистая виртуальная машина, копия файла виртуальной машины откладывалась в запасник, на виртуалку ставился TestComplete, запускалась среда тестирования и по возможности не закрывалась (если тесты не валили среду) длительное время, виртуальная машина тоже не гасилась, а только сеанс с самой виртуалкой закрывался. Поскольку запуск тестов никогда не проверял триальный период, то работать можно бесконечно долго, если тесты не требуют ручного перевода дат на компе. 
Продукты компании Atlassian (Jira, Confuence,..)
Почему из двух вариаций (облачной и серверной) русские бизнесмены выбирают серверную? Думаете, чтобы сохранить конфиденциальность разработок? Отнюдь нет. В серверном варианте доступно мелкое перепрограммирование, и минимальная версия на 10 пользователей вырастает в безлимитную. А ведь для небольших команд в 15-20 человек вполне достаточно работать в двух честно купленных 10-пользовательских приложениях, потому что работает импорт-экспорт задач, а команда тестировщиков вполне может пользоваться отдельной системой трекинга задач. Тестировщик не имеет права менять техзадание, нам достаточно только описания задачи. И программистам не важны шаги тестов, кроме новых локализованных багов и утверждённых лидом на правку. Халявщики-бизнесмены даже из фичи синхронизации могут извлечь собственную выгоду.
TOAD
Самая популярная среда разработки и тестирования базы данных Oracle хоть и имеет бесплатный триальный период, но его давно научились переводить в бесконечный и неограниченный. Не могу придумать причину, почему такой большой спектр пользователей-халявщиков не принимается во внимание. Программулька генерит ключ на персональной машине, как минимум до 12 версии. Запуск TOAD и весь его функционал не проверяет лицензию через сайт компании Quest ни в прямом, ни в скрытом режимах. Ключ теоретически имеет лишь две ступени защиты: реестр и файловая система. На мой взгляд - это слишком слабая охрана для столь распространённого приложения, которая не приносит прибыли ни Quest, ни альтернативным компаниям. Зачем создавать новый клон и пытаться на нём заработать, если оригинал в свободном доступе знают и используют давно?
Продукты компании Conquest Software Solutions
Излишество наворотов лицензионных ключей SQLDetective, ClearSQL и ClearDB не спасает от утечек. Любой из уровней защиты имеет способ обхода.  Двойной щит из реестра и файловой системы сам себя обходит единым IP-адресом машины с несколькими внутренними пользователями и подвиртуалками. Отключение интернета на момент старта приложения и выключение опций для скрытой отправки на сайт статистики пользователя охраняет нелегальных владельцев от разоблачения. Впрочем, сама инфа о владельце (количество и срок лицензий, AMS) компания Conquest автоматически отслеживает только по дате, а не уникальности пользователей, чем пользуются временные сотрудники, забирая домой или в иную организацию купленный ключ. На предоставленные мной факты незаконного использования лицензий CEO никогда не предъявлял претензии пользователям. Так что, как бы ни был лицензионный ключ  уникален по времени покупки в рамках данных по продукту и покупателю, и как бы не контролировала MySQL база одновременно-уникальные транзакции собственными средствами, но элементарный вывод компа с продуктом Conquest из локальной сети или перевод даты в рамках триального/арендуемого срока позволяют работать с продуктами многим и долго. Да, ограничение по дате контролируется стартом внутреннего функционала, но при этом не выполняется никакая синхронизация дат. Поскольку триальный ключ входит в инсталлятор, то он никак не зависит от данных пользователя и компа, только операционная система подсказывает дату окончания триала.

Что и на каких этапах обязан проверять тестировщик для подтверждения устойчивости лицензий и сертификатов?
Перечислю стандартный минимум, доступный тестировщику даже без стажа. Пропуск какой-либо нижеописанной проверки ведёт к проблемам с несанкционированным использованием вашего продукта, а иногда к отказу продолжать оплачивать лицензию. Своеобразный cheat-sheet для проверки лицензионного ключа:
- юридическое обоснование лицензионного соглашения, наличие и полнота системных требований для использования продукта в описательном документе, точность описания инструкции пользователя в хелпе и иных подсказках, полнота описания нового функционала и возможных проблем с вариантами решения в Release Notes;
- способы и места ввода персональной информации, влияющей на ключ продукта: sql-инъекции, региональные языки, спец-символы и тэги, размер данных (пустые-нулевые, максимум-минимум, переполнение, граничные,..), формат (текст, число, дата,..) и маска (разделители дробей, времени, имя с большой буквы,..), полнота заполненности и  обязательность полей;
- объём и содержание переданной информации для генерации ключа: необходимые и достаточные данные, поддержка региональных языков на сервере генерации ключа;
- объём и содержание переданного ключа пользователю: соответствие функционального набора оплаченным/заявленным опциям и полнота функционирования ограничений, защищённость передачи (файл прикреплён к e-mail письму, заархивирован с паролем, скачан с сайта производителя, код продиктован по телефону,..), поддержка в системе пользователя;
- техподдержка лицензии: автоматическая, регулярная, скрытая, ручной режим, оплата, база клиентов.

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

понедельник, 10 сентября 2018 г.

Старпёры стартаперства

Шаги к болоту стартапера:
- частая смена офиса и/или излишнее количество ремонтов офиса
- частая смена кадрового состава или увольнение без пояснения причин оставшимся
- неумение использовать имеющиеся функциональности для достижения ново-придуманных
- забывание об имеющихся возможностях продукта, которые достаточно доработать, а не изобретать новые
- нежелание актуализировать и приспосабливать имеющиеся продукты к пожеланиям пользователя
- удаление, отрицание, игнорирование чужой работы без согласования с производителем
- отрицание наличия традиций
- переименование привычных терминов в модные, иноязычные
- боязнь, запрет огласки всякой информации, в том числе и первой необходимости
- назначение виновными подчинённых в собственных промахах

Проблемы от наличия синдрома стартапера:
- продукт, производство всегда находятся на стадии "младенчество/детство":
-- мелочность функционала
-- слабое (= полное отсутствие) качество
- обильная текучка кадров и, как следствие, невозможность сплочённости коллектива
- большие траты на рекламу и привлечение новых пользователей
- сотрудникам некогда и не на что развиваться и, как следствие, продукт не развивается, а каждый раз создаётся заново

четверг, 9 ноября 2017 г.

Telegram in application with DB connection

ConquestSS announced that the communication channel Telegram was involved into SQLDetective (SD). It means that PC with installed SD should have opened Internet. As SD works with Oracle DB then application and database settings may be stolen or hacked. For example, SD stores DB connections without encryption, it's possible to store the connection passwords and they are encrypted by very easy method.
So, here are several suggestions for Telegram&SD users:
  • install SD into own folder that differs from standard "%ProgramFiles%\SQLDetective 4.7";
  • don't save passwords on DB connecting;
  • delete the row from the "Last Connections" list that's saved automatically after successful connection;
  • use TNS connection type instead of Direct where Host, Port and SID are available without encryption;
  • don't use Host, Port and SID in TNS names;
  • monitor your DB by DBA tools: DB Examiner, Top Session Locator, Storage Manager, Session Navigator, DB Monitor;
  • check DB settings by object wizards: Profile, User, Role, Schedule, Privileges.

Your Oracle DB may be hacked also after involving the Telegram channel to ClearSQL (CS). Settings of database connections are stored in CS settings in the same way as in SD. CS allows to start SQL*Plus from CS with already connected DB user. Sync feature in CS allows to compile scripts into DB.
So, here are several suggestions for Telegram&CS users:
  • install CS into own folder that differs from standard "%ProgramFiles%\ClearSQL 7.0";
  • don't save passwords on DB connecting;
  • delete the row from the "Last Connections" list that's saved automatically after successful connection;
  • use TNS connection type instead of Direct where Host, Port and SID are available without encryption;
  • don't use Host, Port and SID in TNS names;
  • check the script content before running the Sync actions;
  • exclude the "Write Back" option from Project Job and Schedules;
  • don't store CS Projects in the default "%AppData%\Roaming\ClearSQL\Data" folder, and don't change the "Preferences / General / Folders / Default project location folder:" option;
  • turn off the "Preferences / SQL*Plus / Application Run / Use SQL*Plus executable file in active Oracle Home folder if available" option and create an executable file for SQL*Plus starting by password.



вторник, 26 сентября 2017 г.

Градация тестировщиков


Тестировщик-профессионал при обнаружении сопутствующего минорного бага оформляет его в BTS, учитывает в тест-отчёте, помнит о его наличии.

Тестировщик-паникёр при обнаружении сопутствующего минорного бага теребит всех окружающих вопросом о повышении серьёзности выявленной проблемы.

Тестировщик-диверсант при обнаружении сопутствующего минорного бага не тратит время на исследование и оформление, забывает о наличии проблемы.

Сотрудник без способностей к тестированию не распознаёт минорные баги.