Автотестер универсальный как пользоваться — Знай свой компьютер
Артикул: 16-0102
Код для заказа: 112156
Думаю, каждому автомобилисту когда-нибудь приходилось искать сгоревший предохранитель, проверять лампочки или и того хуже, искать обрыв в проводке. Я имею большой опыт владения подержанными машинами, поэтому с этой проблемой знаком не понаслышке. Давным-давно купил себе пробник на такие случаи, приборчик простой и надежный, но по не осторожности сломал его и пришлось искать новый. Вот об этой покупке в магазине AvtoALL и хочу рассказать в деталях.
Но сначала немного мыслей по поводу подбора пробника. Сейчас в каждом магазине полно китайских приборов – тестеров на любой вкус, пробников, прозвонок и подобного. Но подумав, я решил – нужен самый простой пробник именно для прозвонки. Действительно, я не автоэлектрик и электроникой не увлекаюсь, тестер и другой сложный прибор мне совершенно не нужен. А нужен пробник, который может показать – есть напряжение или нет.
Посмотрел по магазину – пробников много, все вроде бы недорогие и приблизительно с одним функционалом. Но решил выбрать вот эту модель:
Это не просто пробник, а щуп-прозвонка, и это, как я узнал, две больших разницы. Меня привлекло наличие щупа в виде иглы, и не зря – таким щупом можно проткнуть изоляцию провода, и провести проверку. Очень удобно, ведь не нужно резать изоляцию на проводе, да и отверстие, скорее всего, никак потом не будет мешать. С другой стороны у щупа есть зажим крокодил на проводе – тоже удобно, зажим легко соединяется с контактами, проводом или массой и дает контакт.
Последним фактором стала цена пробника – он не совсем копеечный, как многочисленные китайские приборы, значит его качество должно быть получше. Но и не сильно дорогой, в самый раз для пробника.
Вскоре получил покупку, щуп поставляется в незатейливой упаковке.
Распаковка показала, что производитель позаботился об удобстве и безопасности. Заостренный наконечник щупа закрыт кембриком, так что во время транспортировки он не затупился и никого не поранил:
Выяснилось, что щуп действительно острый, при неосторожном обращении можно и палец проколоть, так что следует быть осторожным.
Ну, а в задней части расположился крокодил с аккуратно свернутым проводом. Провод, не слишком длинный, буквально 30 см (??), он достаточно гибкий и вряд ли быстро переломится.
Сам пробник легкий, небольшого размера, из недорого пластика, собран добротно (на один болт с гайкой), без перекосов и больших щелей. На одной стенке прибора есть два светодиода – зеленый и красный. Причем поставлены они как будто вручную, не совсем по центральной оси, но не думаю, что это имеет значение.
Разобраться с использованием щупа-прозвонки оказалось несложно и работа с ним элементарна.
Использование щупа-прозвонки на практике
Казалось бы, это простейший прибор, но он на удивление функциональный, с его помощью можно искать обрывы в проводах, проверять предохранители, лампочки, реле – в общем, искать неисправности в приборах.
Думаю, будет не лишним, если я поделюсь приемами работы с этим пробником.
Как найти обрыв. Это самый простой вариант. Крокодил нужно подключить к одному концу провода, а щупом сначала проверить второй конец провода. Есть провод цел, то раздается звуковой сигнал, а если сигнала нет, то щупом следует протыкать изоляцию и приближаясь к контакту с крокодилом – таким путем и обнаруживается место обрыва.
Как проверить предохранитель, реле, лампочку. Здесь все то же, что и с проводом, только крокодил и щуп нужно соединять к контактам этих приборов. Зуммер работает – все в порядке, зуммер молчит – лампа или предохранитель на выброс.
Как проверить предохранитель, реле, лампочку на машине. А в этом случае нужно крокодил соединить с массой, и щупом проверять контакты приборов. Если все в порядке, то загорается красный светодиод – это говорит, что есть напряжение и лампочка или предохранитель цел. Если загорается зеленый светодиод – значит лампочку или предохранитель нужно менять.
Кстати, у меня было опасение, что прокалывание проводов могут плохо сказаться на них, но я переживал зря – проколы на изоляции совершенно не видны и вряд ли могут привести к коррозии.
По итогу могу сказать, что этот щуп-прозвонка стоит своих денег, и его полезно иметь в своем арсенале.
Артикул: 16-0102
Код для заказа: 112156
Думаю, каждому автомобилисту когда-нибудь приходилось искать сгоревший предохранитель, проверять лампочки или и того хуже, искать обрыв в проводке. Я имею большой опыт владения подержанными машинами, поэтому с этой проблемой знаком не понаслышке. Давным-давно купил себе пробник на такие случаи, приборчик простой и надежный, но по не осторожности сломал его и пришлось искать новый.
Но сначала немного мыслей по поводу подбора пробника. Сейчас в каждом магазине полно китайских приборов – тестеров на любой вкус, пробников, прозвонок и подобного. Но подумав, я решил – нужен самый простой пробник именно для прозвонки. Действительно, я не автоэлектрик и электроникой не увлекаюсь, тестер и другой сложный прибор мне совершенно не нужен. А нужен пробник, который может показать – есть напряжение или нет. Вот с такими мыслями я и подошел к выбору.
Посмотрел по магазину – пробников много, все вроде бы недорогие и приблизительно с одним функционалом. Но решил выбрать вот эту модель:
Это не просто пробник, а щуп-прозвонка, и это, как я узнал, две больших разницы. Меня привлекло наличие щупа в виде иглы, и не зря – таким щупом можно проткнуть изоляцию провода, и провести проверку. Очень удобно, ведь не нужно резать изоляцию на проводе, да и отверстие, скорее всего, никак потом не будет мешать.
Последним фактором стала цена пробника – он не совсем копеечный, как многочисленные китайские приборы, значит его качество должно быть получше. Но и не сильно дорогой, в самый раз для пробника.
Вскоре получил покупку, щуп поставляется в незатейливой упаковке.
Распаковка показала, что производитель позаботился об удобстве и безопасности. Заостренный наконечник щупа закрыт кембриком, так что во время транспортировки он не затупился и никого не поранил:
Выяснилось, что щуп действительно острый, при неосторожном обращении можно и палец проколоть, так что следует быть осторожным.
Ну, а в задней части расположился крокодил с аккуратно свернутым проводом. Провод, не слишком длинный, буквально 30 см (??), он достаточно гибкий и вряд ли быстро переломится.
Сам пробник легкий, небольшого размера, из недорого пластика, собран добротно (на один болт с гайкой), без перекосов и больших щелей. На одной стенке прибора есть два светодиода – зеленый и красный. Причем поставлены они как будто вручную, не совсем по центральной оси, но не думаю, что это имеет значение.
Разобраться с использованием щупа-прозвонки оказалось несложно и работа с ним элементарна.
Использование щупа-прозвонки на практике
Казалось бы, это простейший прибор, но он на удивление функциональный, с его помощью можно искать обрывы в проводах, проверять предохранители, лампочки, реле – в общем, искать неисправности в приборах. Большое преимущество пробника в том, что с его помощью можно искать обрывы или проверять исправность приборов как на машине, так и отдельно. Причем для простой прозвонки не нужно использовать аккумулятор или батарейку – в самом пробнике уже есть источник питания (я раскручивать и проверять не стал, посмотрим, сколько прослужит).
Думаю, будет не лишним, если я поделюсь приемами работы с этим пробником.
Как найти обрыв. Это самый простой вариант. Крокодил нужно подключить к одному концу провода, а щупом сначала проверить второй конец провода. Есть провод цел, то раздается звуковой сигнал, а если сигнала нет, то щупом следует протыкать изоляцию и приближаясь к контакту с крокодилом – таким путем и обнаруживается место обрыва.
Как проверить предохранитель, реле, лампочку. Здесь все то же, что и с проводом, только крокодил и щуп нужно соединять к контактам этих приборов. Зуммер работает – все в порядке, зуммер молчит – лампа или предохранитель на выброс.
Как проверить предохранитель, реле, лампочку на машине. А в этом случае нужно крокодил соединить с массой, и щупом проверять контакты приборов. Если все в порядке, то загорается красный светодиод – это говорит, что есть напряжение и лампочка или предохранитель цел. Если загорается зеленый светодиод – значит лампочку или предохранитель нужно менять.
Кстати, у меня было опасение, что прокалывание проводов могут плохо сказаться на них, но я переживал зря – проколы на изоляции совершенно не видны и вряд ли могут привести к коррозии.
По итогу могу сказать, что этот щуп-прозвонка стоит своих денег, и его полезно иметь в своем арсенале.
В последнее время на драйве в разных сообществах, появилась тенденция благотворить автомобильный пробник на двух светодиодах. В свое время я их наделал очень много, и считал его панацеей. Но как оказалось автоэлектрику этот простой на первый взгляд прибор, может доставить много хлопот. И после просветления я им почти не пользуюсь. МУЛЬТИМЕТР С ЛАМПОЧКОЙ РУЛЯТ. И ниже попробую объяснить почему. Далее познакомимся с пробником поближе. Рассмотрим плюсы и минусы.
Перейдем к плюсам :
+Показывает наличие или отсутствие напряжения
+Удобен и компактен
+Можно прозвонить провод
+Найти тахо сигнал
+При наличии кнопки управлять слаботочным выводом реле
Минусы:
-На игле имеется напряжение равное напряжению элементов питания
-Низкое входное сопротивление от сотен Ом до несколько КОм
-Не видит 5 вольтовую шину
-Показания не могут быть достоверны.
Так же существует отличный пробник, разработчиком которого являетcя GDtools , у Дениса в нете есть страница где представлены его устройства.
Сам по себе мультиметр тоже не лишен недостатков, а в связке с лампочкой мощнейший инструмент.
Бывают случаи когда какой либо блок (ECМ, ВСМ или обычная фара) не работают. Причиной тому может послужить провод с оголившей изоляцией, и в следствии попадании влаги провод корродирует, окисляется, образуется купорос (кому как привычнее). При беглом взгляде на провод все хорошо. Позваниваем пробником светодиод светится красным светом свидетельствуя о наличии напряжени, смотрим мультиметром он нам это подтверждает. Однако если параллельно мультиметру мы подключим лампочку, то картина станет нагляднее. А именно мы увидим просадку напряжения или полное его отсутствие. Хотя мультиметр и пробник нам говорили обратное.
Также не редко бывают случаи плохой массы или контакта, если мы прозвоним пробником то светодиод светится зеленым светом говоря о том что контакт есть. Однако мультиметр может показать сопротивление 2 Ома, казалось бы не существенное сопротивление, но если это в проводке AIR BAG где сопротивление пирапотрона от 2 до 3 Ом и к нему прибавится сопротивление плохого контакта. То 5 Ом в цепи подушек безопасности воспринимается как высокое сопротивление, и высвечивается ошибка B0012 0D (прим. chevrolet cruze). Еще одно очко не в пользу пробника.
Что бы не пустословить приведу примеры написанного выше (если возникнут сомнения можете повторить дома) :
P.S : Написанию данного поста сподвигло публикации данного пробника несколькими людьми, а в коментах все восхищаются. Говорят какой он хороший не заменимый. Теперь вы знаете его и обратную сторону, а мастера попавшие на бабки, при помощи данного инструмента давно им не пользуются. Данный и антологичные пробники удобны допщику, но автоэлектрику не пригодны.
Recommendations
вообще недоверяю пробникам покупным сделаных из корпуса вилки прикуривателя…
у меня своя схема «вечного»пробника, которая никогда еще не подводила. два диода, два светодиода, два сопротивления, и акб на 4-6вольт от автономной сирены
Про окислившийся и разрушившийся провод внутри изоляции:
Позваниваем пробником светодиод светится красным светом свидетельствуя о наличии напряжени, смотрим мультиметром он нам это подтверждает.
Однако если параллельно мультиметру мы подключим лампочку, то картина станет нагляднее.
А именно мы увидим просадку напряжения или полное его отсутствие.
Хотя мультиметр и пробник нам говорили обратное.
…
Вот здесь, пожалуйста чуть подробнее, я не очень силён в электрике, а провод найти надо(задаолбал стартер)
Вот вопросы которые возникли:
1) Предположим, что сгнивший провод-плюсовой.Я его прозваниваю по всей длине, протыкая изоляцию, и вижу загорающийся светодиод, говорящий о наличии какого то напряжения?
2)Беру в руки мультиметр и так же прозваниваю провод по всей длине. Предположим будет 12 вольт.
3)Подключаем лампочку, параллельно мультиметру.И почему лампочка не должна загореться?Я какой мощности лампочку должен установить?
Если это провод стартёра, то его площадь около 25 кв.мм.Может и больше.Ток через него течёт 50 А ?Во время запуска.
Лампочка с тестором, смогут наверное прекрасно гореть и показывать, если ток будет 5 А (50 Вт лампочка)
Но большой ток по плохому проводу не сможет пройти.
Или я не прав?
…
Зачем мерить влажную салфетку?У неё сопротивление может быть до 200 000 Ом.(Померил сейчас)На пределе измерения = 2 МОм
Провода, это не салфетка, в которой проводник -вода с солями.Провод, даже окислившийся и почерневший будет проводить ток, если в контактной группе не будет диких окислов.
Важно ведь узнать, каково сопротивление всего провода, вместе с клеммами, от начала до конца.
И соответствует ли это сопротивление, эталонному-заводскому.
Вопрос, как узнать эталонное сопротивление провода, учитывая, что клеммные контакты съели по 1 Ому. (=2 Ом)?
…
Сижу голову ломаю.Очень буду рад помощи.
В джипике, на полу провода пучком идут, от капота, под машину, в бензобак и датчик уровня.Общая длина, около 5 метров(может и больше)Как их прозвонить, в сборе?чтобы понять, где колбасит, в клеммных колодках, или самих проводах?
И если протыкать участки проводов, как их лучше загерметизировать, чтобы не разрушались?
…
Заранее благодарен.
Только с лампочками можно полевую сборку в модуле спалить. Аккуратно надо с ними.
Не все там в коментах восхищались, я сразу сказал, что он фуфло и привел пример, что из-за блока предохранителей на насос приходило только 10В, а эта хрень показала бы, что напряжение есть.
Имелось виду подавляющее большинство, те кто не в теме.
Полностью согласен с каждым написанным Вами словом.
Один старый автоэлектрик показал на стартере ЗиЛа. Взял лампочку с одним разрезанным проводом и фактически включил последовательно с массой и обмотками статора в месте слабой изоляции появился дымок, обмотку заизолировал, проверил еще раз — норма. Потом последовательно с массой и щеточным узлом, в одном из изоляторов обнаружилась микротрещина заполненная угольной пылью тоже искрение и дымок, изолятор на замену, контрольная проверка — норма. Конечно нарушение ТБ, но сдуру можно и гвоздь отверткой закрутить. Сам пользовался — помогает.
Среди приборов автоэлектрика не увидел лампочки 220 В 80-100 Вт с разрывом одного провода для диагностики стартеров на предмет определения точки замыкания (щеточного узла и проч.) на массу. Применяется ли такой вариант?
Со стартерами, равно как и с их диагностикой проблем не было. И этот метод я не знал, можете рассказать по подробнее?
Отличный пробник, уже штук тридцать стер)) у меня они как расходник. Один минус на 24в взрываются батарейки, не на долго хватает. Просто надо с головой подходить к любой проверки тестером.
Каждому инструменту — свое место в работе. И мультиметр нужен, и контролька, и светодиодный, и постолограф.
Ответить на это сообщение |
Re: Автотестер А1 УХЛ4 можно в мототехнике применить? |
Автор: федот68( Калуга) (—.broadband.corbina.ru) Дата: 14-01-18 02:50 |
Вот достойное применение офисной техники.
Ссылка.
А вы заладили автотестер да автотестер.
Re: Автотестер А1 УХЛ4 можно в мототехнике применить? |
Автор: STORM (—.ttk-nw.ru) Дата: 14-01-18 02:58 |
> Вот по ссылке что за хрень и для чего ее применяют
> А 2 Т движки с ним поженяца?)
> Ссылка.
=====================================
Для чего эту хрень применяют в автомобилях-по ссылке же и написано.
Для лодочного двухтактника подойдёт только для замера напряжения на АКБ и проверки зарядки.
Тахометр вряд ли, хотя на некоторых моделях моторов может и заработает.
Re: Автотестер А1 УХЛ4 можно в мототехнике применить? |
Автор: Миха (2.92.123.—) Дата: 14-01-18 03:01 |
федот68( Калуга) писал:
> Вот достойное применение офисной техники.
Контроль напряжения бортовой сети (проверка и регулировка реле-регулятора напряжения).
Отклонение напряжения бортовой сети от нормы приводит к нарушению работы электрооборудования. При напряжении ниже нормы происходит вялый заряд аккумуляторной батареи. Это приводит к её недозаряду и сокращению срока эксплуатации. При напряжении выше нормы происходит выкипание электролита батареи, перегорание ламп, пробой высоковольтных проводов, свечей, катушки зажигания. По этим причинам очень важно, чтобы напряжение бортовой сети соответствовало норме.
Контроль напряжения бортовой сети проводить следующим методом подключить прибор «-« на корпус, а «+» на вывод катушки зажигания, соединённый с контактами прерывателя;
-переключатель прибора установить в положение «6000 об/мин» нажатием двух кнопок «6000 r/min» и «»;
— установить обороты двигателя
— отключить зажим «+», включить кнопку прибора «11-16V», подключить зажим «+» к клкме «+» АКБ. Дать поработать двигателю минуту;
— включить дальний свет;
— снять значение по шкале «11-16 V» и сравнить показания с данными рекомендуемыми инструкцией по эксплуатации на автомобиль.
Если имеются отклонения напряжения бортовой сети, то возможны следующие неисправности:
— обрыв или короткое замыкание в цепи электроснабжения;
— проскальзывание ремня привода генератора;
— неисправен реле — регулятор;
Оценка степени заряженности АКБ.
При работе электрооборудования очень важна оценка степени заряженности АКБ. Обычно этот параметр контролируется ареометром по плотности электролита, но можно контролировать и по равновесной ЭДС. Принцип оценки заряженности АКБ с номинальным напряжением 12 В по измерению равновесной ЭДС заложен в приборе. На шкале 11-16 Vнанесены отметки, соответствующие степени заряженности АКБ.
Оценку проводят следующим образом:
— включить кнопку «11-16 V»;
— подключить прибор к выводам батареи зажим «+» к плюсу, а «-« к массе ;
— снять отсчет по меткам на шкале «11-16V».
Оценку батареи производить после бездействия ее в течение часа и более.
Оценку степени заряженности АКБ по прибору не заменяет проверку плотности электролита ареометром, что необходимо для определения качества электролита.
Проверка напряжения АКБ под нагрузкой
Этот вид проверки является одним из основных при оценке качества АКБ. Проверку производить на заряженной батарее следующим методом:
— включить кнопку «11-16V», подключить прибор к батарее;
— включить стартер на 1-2 секунды для снятия поверхностного заряда с батареи и оставить включенным зажигание;
— снять отсчет по шкале «11-16V», напряжение батареи не должно быть менее 12 В;
— включить фары дальнего света; напряжение должно уменьшиться не более чем 0. 2 В;
— переключить прибор на напряжение «25 В»
— включить кнопку «v». Отсчет снять по шкале «2,5V», результат умножить на 10, включить стартер и одновременно контролировать напряжение по прибору. Напряжение батареи должно быть не менее 9 В.
Проверка и регулировка угла замкнутого состояния контактов прерывателя в двигателях с электромеханической системе зажигания.
Проводить следующим образом:
-Подключить прибор по схеме;
— запустить ДВС и добиться устойчивых оборотов КВ;
— снять показания прибора по шкале «»;
— поднять обороты двигателя до 2000-3000 об/мин. Стрелка прибора должна отклониться в сторону увеличения на 2-3 0 , а при снижении оборотов до 800-900 об/мин, вернуться в исходное положение. При отклонении стрелки более чем на 30 распределитель подлежит ремонту или замене.
Установка начального угла опережения зажигания
Для проверки переключить прибор на диапазон измерения напряжения «25 V»;
-подключить прибор «+» к контакту прерывателя, а «-« к массе;
— поворачивая КВ вывести первый цилиндр в ВМТ в конце такта сжатия;
— повернуть ключ зажигания и убедиться что стрелка прибора находится на нуле, Медленно поворачивая КВ остановиться точно в тот момент когда стрелка скачком покажет напряжение.
— проверить в этом положении взаимное расположение меток на шкиве и картере двигателя. Если метка на шкиве не попадает в зону меток картера , то следует довернуть вал двигателя до совпадения метки на шкиве до совпадения со средней меткой на картере, затем установить октан-корректор на ноль , ослабить винт крепления корпуса распределителя и медленно поворачивать распределитель до момента размыкания контактов что обнаружится скачкообразным движением стрелки с 0 до 12 В.
Проверка электронного блока ступенчатого пуска воздуха
Для проверки электронного блока необходимо:
— к клеммам электромагнитов подключить лампы 12 В, мощностью не более 2 ВТ;
— переключатель прибора установить в положение «600 r/min» нажатием двух кнопок «1500 r/min» и «»;
— постепенно увеличивая частоту вращения и наблюдая за показаниями прибора, добиться включения с начала первой, а затем второй лампы, сравнить показания прибора со справочными данными.
— первый порог срабатывания 1700 об/мин.
-второй порог срабатывания 2500 об/мин
Если при повышении частоты вращения КВ до оборотов выше средних, лампы не загораются или загорается только одна, то электронный блок не исправен.
Проверка работоспособности датчика бесконтактной системы зажигания, датчика Холла.
С выхода датчика снимается напряжение, если в его зазоре находится стальной экран. Если экрана нет то напряжение на выходе датчика близко к нулю. Для проверки датчика необходимо подключить прибор к раъему датчика,
-переключатель и ручку регулятора прибора установить в положение «25v»;
-включить зажигание и медленно поворачивая коленчатый вал, проверить напряжение на выходе датчика. Оно должно резко меняться щт 0.4 В до 9.3 В.
Определение относительной эффективности работы каждого цилиндра.
Определение относительной эффективности работы каждого цилиндра основывается на изменении частоты вращения КВ при выключении одного из цилиндров и сравнении полученной величины с частотой вращения КВ при работе всех цилиндров.
Контроль проводится следующим методом:
— включить кнопку 1500r /min» прибора;
— подключить прибор согласно схеме.
— установить скорость вращения КВ 900-1000 об/мин.
— снять поочередно со свечей высоковольтные провода;
— наблюдать по прибору снижение частоты вращения КВ
Нормальным считается снижение частоты вращения на 60-100 об/мин.
Появление на дорогах большого количества транспорта, способного развивать высокие скорости, усложнение условий движения, усиление борьбы с загрязнением воздуха выхлопными газами предъявляют высокие требования к техническому состоянию автомобиля и в первую очередь — к его электрооборудованию. Опыт работы автотранспортных предприятий показывает, что до четверти эксплуатационных неисправностей автомобиля приходится на систему электрооборудования, а расходы па ее техническое обслуживание и ремонт превышают треть расходов на обслуживание автомобиля в целом.
Одной из причин столь высоких затрат является несвоевременное и неполное проведение работ по обслуживанию, ремонту и диагностике оборудования. В немалой степени это объясняется отсутствием соответствующих измерительных приборов. Восполнить этот пробел может автотестер — малогабаритный простой переносный прибор широкого применения, вполне доступный для повторения.
Автотестер представляет собой многопредельный прибор, предназначенный для диагностики, ремонта и регулировки карбюраторных двигателей внутреннего сгорания и их электрооборудования, а также для контроля содержания окиси углерода в выхлопных газах. Прибор рассчитан па применение в дорожных условиях; в условиях ремонтных мастерских.
Технические характеристики прибора
Диапазон измеряемых напряжений (постоянного и переменного тока): через входные клеммы — от 0,2 до 500 В на пределах 5, 50, 500 В; с выносным делителем напряжения I : 10— до 5000 В. Диапазон измеряемых частот:
через входные клеммы на пределах до 50 В — от 4 Гц до 200 кГц, па пределе 500 В — от 4 Гц до 50 кГц;
с выносным делителем напряжения — от 4 Гц до 20 кГц. Диапазон измеряемых активных сопротивлений — от I до 5-10* Ом на пределах X 1, X 10 и X 100.
Диапазон измеряемых угловых скоростей — oi 50 до 10 000 об/мин на пределах 1000, 4000, 10 000 об/мин.
Диапазон измерения постоянного тока через входные клемы от I до ЮЛ; с выносным шунтом до 200 А.
Диапазон измерения угла замыкания контактов прерывателя
четырех цилиндрового двигателя — от 0 до 90°; шести цилиндрового двигателя – от 0 до 60°; восьмицилиндрового двигателя — от 0 до 45°.
Диапазон измеряемых напряжений системы зажигания с выносным импульсным вольтметром от 0,5 до 25 кВ на пределах 10 и 25 кВ. Прибор сохраняет работоспособность в следующих условиях: температура окружающего воздуха от —30° С до +50° С; относительная влажность до 95% при температуре 35° С, атмосферное давление от 720 до 780 мм рт. ст.; напряжение питания 12В±15%; механические вибрации с ускорением до 2 g.
Погрешность измерения в нормальных условиях не превышает 10% от конечного значения предела измерения.
Активное входное сопротивление вольтметра при измерении постоянного напряжения составляет 5 кОм/В, переменного напряжения 4 кОм/В, импульсного высоковольтного напряжения 5 ГОм.
Мощность, потребляемая автотестером от батареи автомобиля при измерении угла замыкания контактов прерывателя, анализе выхлопных газов и измерении импульсного напряжения, не превышает 6 Вт при напряжении 12,6 В.
Прибор считается работоспособным через 5 мин после его включения. Среднее расчетное время безотказной работы прибора составляет 5000 ч.
Габариты прибора 120x85x210 мм, масса 2 кг.
Принципиальная схема автотестера приведена на рис. 1.
Измеритель угла замыкания контактов прерывателя первичного контура системы зажигания собран на транзисторах 77 и Т2, которые образуют триггер с одним устойчивым состоянием. В исход- пом состоянии транзистор 77 открыт напряжением смещения, снимаемым с делителя на резисторах R2t R4. С коллекторной нагрузки транзистора 77 через делитель напряжения на резисторах R9 и R12 напряжение подается на базу транзистора Г2. Режимы транзисторов подобраны таким образом, что транзистор Т2 в исходном состоянии закрыт, поэтому стрелка измерительного прибора ИП1, включенного в цепь его коллектора последовательно с резистором R19, находится также на нуле. При замыкании контактов прерывателя резистор R1 и дроссель Др1, служащие для развязки прибора от системы зажигания, выключаются параллельно резистору R4. При этом транзистор 77 закрывается, а транзистор Т2 открывается. Таким образом, при работающем двигателе триггер работает синхронно с контактами прерывателя, причем среднее значение тока, протекающего через измерительный прибор Я/7/, пропорционально соотношению периодов замыкания и размыкания контактов прерывателя.
Стабилитрон Д1 ограничивает на входе триггера ЭДС самоиндукции первичного контура системы зажигания до 8 В.
Стабилизатор, образованный резистором R20 и стабилитроном Д7, исключает влияние изменения напряжения питания автотестера на результат измерения.
Резистор R19 служит для калибровки прибора при замкнутых выводах кабеля, подключаемого к контактам прерывателя, что соот* ветствует наибольшему углу замыкания и полному отклонению стрелки измерительного прибора.
Для удобства работы на шкалу измерительного прибора ИП1 нанесена риска, соответствующая нормальной установке контактов прерывателя четырехцилиндрового двигателя внутреннего сгорания. Для установки контактов прерывателя шести- и восьмицилиндрового двигателя следует пользоваться соответствующими данными, приводимыми в справочной литературе. Кроме того, и для таких двигателей на шкале могут быть нанесены риски.
Устройство, применяемое для определения содержания окиси углерода н-выхлопных газах, довольно просто. Оно представляет собой мост постоянного тока, в два плеча которого включены платиновые спирали: измерительная R10 и сравнительная /?//, а в два других плеча — постоянные резисторы. Разбаланс моста, вызванный разбросом сопротивлений плеч, компенсируется резистором /?/ of your page —>
Автотестер 16 0102 инструкция
Артикул: 16-0102
Код для заказа: 112156
Думаю, каждому автомобилисту когда-нибудь приходилось искать сгоревший предохранитель, проверять лампочки или и того хуже, искать обрыв в проводке. Я имею большой опыт владения подержанными машинами, поэтому с этой проблемой знаком не понаслышке. Давным-давно купил себе пробник на такие случаи, приборчик простой и надежный, но по не осторожности сломал его и пришлось искать новый. Вот об этой покупке в магазине AvtoALL и хочу рассказать в деталях.
Но сначала немного мыслей по поводу подбора пробника. Сейчас в каждом магазине полно китайских приборов – тестеров на любой вкус, пробников, прозвонок и подобного. Но подумав, я решил – нужен самый простой пробник именно для прозвонки. Действительно, я не автоэлектрик и электроникой не увлекаюсь, тестер и другой сложный прибор мне совершенно не нужен. А нужен пробник, который может показать – есть напряжение или нет. Вот с такими мыслями я и подошел к выбору.
Посмотрел по магазину – пробников много, все вроде бы недорогие и приблизительно с одним функционалом. Но решил выбрать вот эту модель:
Это не просто пробник, а щуп-прозвонка, и это, как я узнал, две больших разницы. Меня привлекло наличие щупа в виде иглы, и не зря – таким щупом можно проткнуть изоляцию провода, и провести проверку. Очень удобно, ведь не нужно резать изоляцию на проводе, да и отверстие, скорее всего, никак потом не будет мешать. С другой стороны у щупа есть зажим крокодил на проводе – тоже удобно, зажим легко соединяется с контактами, проводом или массой и дает контакт.
Последним фактором стала цена пробника – он не совсем копеечный, как многочисленные китайские приборы, значит его качество должно быть получше. Но и не сильно дорогой, в самый раз для пробника.
Вскоре получил покупку, щуп поставляется в незатейливой упаковке.
Распаковка показала, что производитель позаботился об удобстве и безопасности. Заостренный наконечник щупа закрыт кембриком, так что во время транспортировки он не затупился и никого не поранил:
Выяснилось, что щуп действительно острый, при неосторожном обращении можно и палец проколоть, так что следует быть осторожным.
Ну, а в задней части расположился крокодил с аккуратно свернутым проводом. Провод, не слишком длинный, буквально 30 см (??), он достаточно гибкий и вряд ли быстро переломится.
Сам пробник легкий, небольшого размера, из недорого пластика, собран добротно (на один болт с гайкой), без перекосов и больших щелей. На одной стенке прибора есть два светодиода – зеленый и красный. Причем поставлены они как будто вручную, не совсем по центральной оси, но не думаю, что это имеет значение.
Разобраться с использованием щупа-прозвонки оказалось несложно и работа с ним элементарна.
Использование щупа-прозвонки на практике
Казалось бы, это простейший прибор, но он на удивление функциональный, с его помощью можно искать обрывы в проводах, проверять предохранители, лампочки, реле – в общем, искать неисправности в приборах. Большое преимущество пробника в том, что с его помощью можно искать обрывы или проверять исправность приборов как на машине, так и отдельно. Причем для простой прозвонки не нужно использовать аккумулятор или батарейку – в самом пробнике уже есть источник питания (я раскручивать и проверять не стал, посмотрим, сколько прослужит).
Думаю, будет не лишним, если я поделюсь приемами работы с этим пробником.
Как найти обрыв. Это самый простой вариант. Крокодил нужно подключить к одному концу провода, а щупом сначала проверить второй конец провода. Есть провод цел, то раздается звуковой сигнал, а если сигнала нет, то щупом следует протыкать изоляцию и приближаясь к контакту с крокодилом – таким путем и обнаруживается место обрыва.
Как проверить предохранитель, реле, лампочку. Здесь все то же, что и с проводом, только крокодил и щуп нужно соединять к контактам этих приборов. Зуммер работает – все в порядке, зуммер молчит – лампа или предохранитель на выброс.
Как проверить предохранитель, реле, лампочку на машине. А в этом случае нужно крокодил соединить с массой, и щупом проверять контакты приборов. Если все в порядке, то загорается красный светодиод – это говорит, что есть напряжение и лампочка или предохранитель цел. Если загорается зеленый светодиод – значит лампочку или предохранитель нужно менять.
Кстати, у меня было опасение, что прокалывание проводов могут плохо сказаться на них, но я переживал зря – проколы на изоляции совершенно не видны и вряд ли могут привести к коррозии.
По итогу могу сказать, что этот щуп-прозвонка стоит своих денег, и его полезно иметь в своем арсенале.
Автотестер универсальный черный REXANT предназначен для быстрой и эффективной диагностики электрооборудования автомобилей.
- Производитель: Китай
- Импортер: ЧТУП «Стелла Нова», г.Минск, ул.Передовая 15, пом.2, оф.20
Автотестер универсальный черный REXANT предназначен для быстрой и эффективной диагностики электрооборудования автомобилей. Позволяет определить полярность напряжения (+/-), выявить замыкание и обрыв проводки или проверить предохранители, лампочки и диоды. Корпус выполнен из ударопрочного пластика и снабжен проводом с зажимом типа «крокодил», светодиодным и звуковым индикатором.
Вместе с товаром покупают
Описание REXANT 16-0102-1:
Назначение:
Авто тестер универсальный черный (ИГЛА) REXANT предназначен для быстрой и эффективной диагностики электрооборудования автомобилей. Позволяет определить полярность напряжения (+/-), выявить замыкание и обрыв проводки или проверить предохранители, лампочки и диоды. Отличительной особенностью данного автотестера – острая контактная игла, позволяющая тестировать проводку без зачистки и повреждения изоляции провода. Корпус выполнен из ударопрочного пластика и снабжен проводом с зажимом типа «крокодил», светодиодным и звуковым индикатором.
Купить REXANT 16-0102-1 в компании Layta по привлекательной цене. REXANT 16-0102-1: описание, характеристики, отзывы покупателей, фотографии и сопутствующие товары. Широкий выбор товаров категории Тестеры видеонаблюдения на сайте Layta.ru.
Характеристики REXANT 16-0102-1:
Описание представленного продукта содержит справочный характер и может отличаться от технической документации производителя. Советуем вам при оформлении заказа проверять наличие выбранных вами функций и свойств. Если вы выявили отклонения в описании, то вы всегда можете об это сообщить – отметив ошибку и нажав кнопки клавиатуры SHIFT + ENTER
Автомобильный тестер который сделает каждый
Очень здорово будет, если вы сделаете этот мини тестер и будете его возить всегда с собой в машине. Ведь с помощью него вы сможете: проверить работоспособность ламп и предохранителей не вынимая их из посадочных мест, узнать полярность и наличия напряжения в проводнике даже не снимая с него изоляции, проверить любую цепь на короткое замыкание и многое другое. Очень нужная вещь, которая может пригодится не только в машине, но и где угодно.
Понадобится
- Два светодиода разного цвета.
- Два резистора на 200 Ом и 1 кОм.
- Плоская батарейка 3 В с колодкой.
- Кусок провода.
- Зажим «крокодил».
- Мелкий пластиковый корпус.
Батарейка с колодкой:
Пластиковый корпус от старой телефонной гарнитуры:
Схема тестера
В схеме включены два светодиода встречно-паралельно между собой, с которыми последовательно включен элемент питания. В итоге при замыкании двух контактов горит зеленый светодиод, а при подключении питания из вне, горит красный светодиод. Ниже вы увидите, как это все может быть полезным.
Изготовление
Итак, элемент питания устанавливаем в колодку. Далее приклеиваем ее в корпус на горячий клей.
В окошко из-под кнопки вставляем два светодиода и согласно схемы запаиваем.
Добавляем резисторы.
Чтобы сделать щуп, возьмем иглу медицинского шприца с широким отверстие, чтобы в нее входила ножка от резистора.
Откусываем ножку от любого ненужного резистора и вставляем в обратную сторону иглы. Фиксируем все горячим клеем. Контакт резистора должен торчать.
Припаиваем щуп к тестеру.
Ко второму контакту батареи припаиваем небольшой провод и проверяем работу.
Заливаем все пустоты горячим клеем.
Закрываем заднюю крышку и можно пользоваться. К проводку прикручиваем зажим.
Как пользоваться?
Тестер уже готов к работе, чтобы что-то «прозвонить», вставьте объект между его щупом и зажимом. И если, скажем, предохранитель исправен — загорится зеленый светодиод.
Чтобы проверить наличие питания, подключите зажим к общему проводу и щупом проверяйте источник. Если там будет «+», то загорится красный.
А если минус, то зеленый.
Игла отлично прокалывает провода и их не нужно зачищать.
Чтобы возить тестер с собой, оденьте на иглу щупа защитный колпачок и возите с собой на здоровье, он не разрядится и всегда будет готов к работе.
Смотрите видео
Контролька rexant 16 0102 на Алиэкспресс
Информация Автотестер универсальный черный с индикатором 16- 0102. Авто тестер универсальный черный ИГЛА предназначен для быстрой и эффективной диагностики электрооборудования автомобилей. Что у него внутрях. Оформить покупку можно на сайте или по 8 495 798-44-12 Артикул В категории Автотестеры 16 0102 — купить по выгодной цене. Отличительной особенностью данного автотестера является острая контактная игла. Очень хочется хотя бы увидеть хорошие фотографии. Пробник автомобильный 6-12-24 звук. Описание 16- 0102-1 Назначение Авто тестер универсальный черный ИГЛА предназначен для быстрой и эффективной Купить 16- 0102-1 в компании по привлекательной цене. Он еще вроде и пищал. Рексант Паяльник и Рексант Паяльник в 2019 г. 145 Способы оплаты Наличные при получении . С этим товаром часто заказывают. Автотестер универсальный черный предназначен для быстрой и эффективной диагностики электрооборудования автомобилей.
Характеристиками по хорошей цене. Для эффективной диагностики электрооборудования автомобилей. Продажа 16- 0102 Автотестер 1 штука в интернет-магазине . Обзор товара Тестер автомобильный универсальный звуковой . Отзывов об этом товаре пока никто не оставлял. Чтобы пользоваться такой контролькой. Нужно просто любить свою машину. 107473 и не только. Автотестер универсальный черный . Определение полярности с иглой 41940 описанием. Комплектация автотестер контактная игла провод для соединения зажим крокодил. Тестер 45 Тестер кабельный Тестер кабельных пар. Включая Рексант Паяльник от
Автотестеры 16 0102 в Новосибирске 130 товаров
Код для заказа 112156. Позволяет определить полярность напряжения. Купить он-лайн на сайте с доставкой. ОписаниеАвтотестер универсальный черный предназначен для быстрой и эффективной диагностики электрооборудования автомобилей. Не говоря уж о схеме. Тестер универсальный — 16- 0102 отзывы — Тестер универсальный водитель гениальный. Код 16- 0102. Лучший Авто Тестер копия 16 01. Автотестер универсальный черный Автотестер универсальный предназначен для быстрой и эффективной диагностики электрооборудования автомобилей. Оплата через банк. Выявить замыкание и обрыв проводки или проверить предохранители. Супер КОНТРОЛЬКА для авто 12 ВОЛТ на литеионе — Продолжительность 310 Дмитрий В 214 просмотров. Звуковой автотестер позволяет точно определить полярность напряжения —
Автотестер универсальный черный с индикатором 16
Автотестер универсальный черный ИГЛА 16- 0102-1. Рексант Паяльник в категориях Инструменты. — Насколько сейчас популярны. Позволяет определить полярность напряжения -. Автотестер универсальный черный предназначен для быстрой и эффективной диагностики электрооборудования автомобилей. 16- 0102-1 описание. Автотестер универсальный . Для быстрой и эффективной диагностики электрооборудования автомобилей. В наличии 10 шт. Что вовсе необязательно быть автоэлектриком. Выявить есть ли замыкание или обрывы проводки. Рексант Паяльник более 107473 на выбор на . В интернет-магазине есть в наличии Пробник-автотестер универсальный звуковой
АВТОТЕСТЕР – ЧАСТЬ 1 | Техника и Программы
В. Волков
Появление на дорогах большого количества транспорта, способного развивать высокие скорости, усложнение условий движения, усиление борьбы с загрязнением воздуха выхлопными газами предъявляют высокие требования к техническому состоянию автомобиля и в первую очередь — к его электрооборудованию. Опыт работы автотранспортных предприятий показывает, что до четверти эксплуатационных неисправностей автомобиля приходится на систему электрооборудования, а расходы па ее техническое обслуживание и ремонт превышают треть расходов на обслуживание автомобиля в целом.
Одной из причин столь высоких затрат является несвоевременное и неполное проведение работ по обслуживанию, ремонту и диагностике оборудования. В немалой степени это объясняется отсутствием соответствующих измерительных приборов. Восполнить этот пробел может автотестер — малогабаритный простой переносный прибор широкого применения, вполне доступный для повторения.
Автотестер представляет собой многопредельный прибор, предназначенный для диагностики, ремонта и регулировки карбюраторных двигателей внутреннего сгорания и их электрооборудования, а также для контроля содержания окиси углерода в выхлопных газах. Прибор рассчитан па применение в дорожных условиях; в условиях ремонтных мастерских.
Технические характеристики прибора
Диапазон измеряемых напряжений (постоянного и переменного тока): через входные клеммы — от 0,2 до 500 В на пределах 5, 50, 500 В; с выносным делителем напряжения I : 10— до 5000 В. Диапазон измеряемых частот:
через входные клеммы на пределах до 50 В — от 4 Гц до 200 кГц, па пределе 500 В — от 4 Гц до 50 кГц;
с выносным делителем напряжения — от 4 Гц до 20 кГц. Диапазон измеряемых активных сопротивлений — от I до 5-10* Ом на пределах X 1, X 10 и X 100.
Диапазон измеряемых угловых скоростей — oi 50 до 10 000 об/мин на пределах 1000, 4000, 10 000 об/мин.
Диапазон измерения постоянного тока через входные клемы от I до ЮЛ; с выносным шунтом до 200 А.
Диапазон измерения угла замыкания контактов прерывателя
четырех цилиндрового двигателя — от 0 до 90°; шести цилиндрового двигателя – от 0 до 60°; восьмицилиндрового двигателя — от 0 до 45°.
Диапазон измеряемых напряжений системы зажигания с выносным импульсным вольтметром от 0,5 до 25 кВ на пределах 10 и 25 кВ. Прибор сохраняет работоспособность в следующих условиях: температура окружающего воздуха от —30° С до +50° С; относительная влажность до 95% при температуре 35° С, атмосферное давление от 720 до 780 мм рт. ст.; напряжение питания 12В±15%; механические вибрации с ускорением до 2 g.
Погрешность измерения в нормальных условиях не превышает 10% от конечного значения предела измерения.
Активное входное сопротивление вольтметра при измерении постоянного напряжения составляет 5 кОм/В, переменного напряжения 4 кОм/В, импульсного высоковольтного напряжения 5 ГОм.
Мощность, потребляемая автотестером от батареи автомобиля при измерении угла замыкания контактов прерывателя, анализе выхлопных газов и измерении импульсного напряжения, не превышает 6 Вт при напряжении 12,6 В.
Прибор считается работоспособным через 5 мин после его включения. Среднее расчетное время безотказной работы прибора составляет 5000 ч.
Габариты прибора 120x85x210 мм, масса 2 кг.
Принципиальная схема автотестера приведена на рис. 1.
Измеритель угла замыкания контактов прерывателя первичного контура системы зажигания собран на транзисторах 77 и Т2, которые образуют триггер с одним устойчивым состоянием. В исход- пом состоянии транзистор 77 открыт напряжением смещения, снимаемым с делителя на резисторах R2t R4. С коллекторной нагрузки транзистора 77 через делитель напряжения на резисторах R9 и R12 напряжение подается на базу транзистора Г2. Режимы транзисторов подобраны таким образом, что транзистор Т2 в исходном состоянии закрыт, поэтому стрелка измерительного прибора ИП1, включенного в цепь его коллектора последовательно с резистором R19, находится также на нуле. При замыкании контактов прерывателя резистор R1 и дроссель Др1, служащие для развязки прибора от системы зажигания, выключаются параллельно резистору R4. При этом транзистор 77 закрывается, а транзистор Т2 открывается. Таким образом, при работающем двигателе триггер работает синхронно с контактами прерывателя, причем среднее значение тока, протекающего через измерительный прибор Я/7/, пропорционально соотношению периодов замыкания и размыкания контактов прерывателя.
Стабилитрон Д1 ограничивает на входе триггера ЭДС самоиндукции первичного контура системы зажигания до 8 В.
Стабилизатор, образованный резистором R20 и стабилитроном Д7, исключает влияние изменения напряжения питания автотестера на результат измерения.
Резистор R19 служит для калибровки прибора при замкнутых выводах кабеля, подключаемого к контактам прерывателя, что соот* ветствует наибольшему углу замыкания и полному отклонению стрелки измерительного прибора.
Для удобства работы на шкалу измерительного прибора ИП1 нанесена риска, соответствующая нормальной установке контактов прерывателя четырехцилиндрового двигателя внутреннего сгорания. Для установки контактов прерывателя шести- и восьмицилиндрового двигателя следует пользоваться соответствующими данными, приводимыми в справочной литературе. Кроме того, и для таких двигателей на шкале могут быть нанесены риски.
Устройство, применяемое для определения содержания окиси углерода н-выхлопных газах, довольно просто. Оно представляет собой мост постоянного тока, в два плеча которого включены платиновые спирали: измерительная R10 и сравнительная /?//, а в два других плеча — постоянные резисторы. Разбаланс моста, вызванный разбросом сопротивлений плеч, компенсируется резистором /?/<?, ось которого выведена на переднюю панель прибора. При прохождении чистого воздуха через камеру, в которой находится измерительный резистор R10, мост находится в равновесии. При появлении окиси углерода она сгорает (платина играет роль катализатора, вызывая реакцию окисления), температура резистора R10 повышается, его сопротивление увеличивается. В диагонали моста, в которую включен измерительный прибор ИП/, начинает протекать ток, величина которого пропорциональна концентрации окиси углерода.
Мост газоанализатора также питается от батареи автомобиля. Стабилизатор на резисторе R21 и стабилитроне Д6 исключает влияние изменения напряжения питания на результат измерения. Резисторы R6 и R7 служат для калибровки шкал анализатора содержания окиси углерода в выхлопных газах.
Омметр выполнен по многопредельной схеме с балансной регулировкой нуля, обеспечивающей малую зависимость результатов измерения от изменения напряжения батареи Б1 (один элемент 332). Переключатель Bid обеспечивает переключение пределов измерения сопротивления, а резистор R39 служит для установки нуля.
Вольтметр постоянного тока выполнен на измерительном приборе ИП1 с добавочными резисторами R29 — R31, переключаемыми переключателем пределов измерения В1г (прибор имеет три предела).
Для ремонта и регулировки различной измерительной и радиоаппаратуры автотестер снабжен выносным добавочным резистором R46, расширяющим предел измерения напряжения постоянного тока до 5000 В. Добавочный резистор может быть использован также н при измерениях па переменном токе, например при проверке катушки зажигания.
Вольтметр переменного тока выполнен по мостовой двухполу- периодной схеме, обеспечивающей более высокое входное сопротивление. Оно одинаково для обеих полярностей, причем большая часть приложенного к вольтметру напряжения падает на добавочных ре-
Рис. 2. Принципиальная схема импульсного вольтметра
зисторах R26 — R28, что уменьшает опасность пробоя диодов Д9- Д12 даже при значительных случайных перегрузках вольтметра.
Выбор первого предела измерения неременного напряжения равным 5 В позволяет использовать одну и ту же шкалу для измерения напряжения как постоянного, так и переменного тока, поскольку на этом пределе градуировка шкалы микроамперметра уже приближается к линейной, что упрощает шкалу индикатора.
Импульсный вольтметр выполнен в виде отдельной приставки к автотестеру (рис. 2) и предназначен для измерения амплитудных значений напряжения вторичного высоковольтного контура системы зажигания от 0,5 до 25 кВ отрицательной и положительной полярностей, отсчитываемых от среднего значения. Это позволяет определить полярность высокого напряжения. Для современных двигателей с высокой степенью сжатия важно, чтобы центральный электрод свечи был соединен с отрицательным полюсом высокого напряжения, индуцируемого во вторичной обмотке катушки зажигания независимо от полярности включения батареи на массу. Это приводит к более быстрому процессу ионизации н генерации плазменной зоны с большой проводимостью для искры, что равносильно повышению КПД двигателя. В то же время применение импульсного вольтметра позволяет проверять КПД зажигания каждого цилиндра и катушки зажигания» регулировку зазоров электродов свеч и проверку всего высоковольтного контура зажигания в целом.
Источник: Лучшие конструкции 27-й выставки творчества радиолюбителей. Сборник. М., ДОСААФ, 1977. 287 с. с ил. На конц. пол.: сост. А. В. Гороховский.
Вакансия QA Automation / Авто-тестер в Уфе, работа в компании Кавычки, полный рабочий день
Hey, QA!
Мы — команда Кавычек
Специализируемся исключительно на QA. Качественный результат в нужные сроки — это то, что мы ценим.
Еще ценим людей — это главный наш ресурс. Работаем удаленно: неважно, где вы находитесь, важен результат. Удаленка, кстати, не мешает нам дружить, тусить и всячески общаться: от интересов до мемасиков
Нам по пути с теми, кто ценит неформальную атмосферу, топит за качество, любит получать знания и делится ими — этому мы всячески способствуем. Проводим корпоративное обучение и поддерживаем в получении нужных сертификатов.
Другая наша ценность — это качество, качество и еще раз качество!
Мы не просто тестируем ПО, а выстраиваем процессы в командах, налаживаем коммуникацию, включаемся в работу на начальных этапах планирования и разработки. Смотрим на продукт глазами пользователей, и уверены, что в этом деле QA — ключевое звено, что активно доказываем делом.
Приглашаем к нам в команду единомышленника — инженера по автоматизации тестирования, с опытом работы от 1 года.
Ключевые задачи:
️ Написание автотестов по тест-кейсам;
️ Подготовка тестовых данных, настройка окружений, продумывание архитектуры и выстраивание технического воркфлоу;
️ Общение с клиентом, поддержание автотестов в актуальном состоянии.
Что нужно уметь:
Писать автотесты на одном из языков: Python, Java или Ruby;
Работать с Selenium Webdriver и/или Appium;
Работать с Git;
Знать командную строку Linux и активно ею пользоваться;
Тестировать API.
Будет круто, если знаете или хотите научиться:
Автоматизировать тесты мобильных приложений Android/iOS;
Настраивать CI;
Настраивать и работать с контейнерами;
Писать сложные SQL-запросы.
Что предлагаем:
Оформление по ТК РФ: белая конкурентная ЗП, отпуск, больничный — тут все, как положено;
Удаленку или офис в Новосибирске.
Рабочий день с 09-10 утра до 18-19 вечера по Москве;
Интересную работу в команде профессионалов с большим опытом в самых разных проектах;
Внутреннее обучение, компенсация занятий фитнесом;
Внешнее обучение и сертификация за счет компании.
Этапы отбора:
1️⃣ Для начала знакомимся и решаем, подходим ли мы друг другу
2️⃣Тестовое задание;
3️⃣Техническое собеседование.
GitHub — MarkUsProject / markus-autotesting
Автотестирование позволяет преподавателям запускать тесты на материалах, представленных учащимися, и автоматически выставлять им оценки. Это также позволяет студентам проводить отдельный набор тестов и самостоятельно оценивать свои работы.
заданий ставятся в очередь с помощью драгоценного камня Resque со стратегией «первым пришел — первым обслужен» и обслуживаются по одному или одновременно.
Установить и запустить
Клиент
В настоящее время автотестер поддерживает только экземпляр MarkUs в качестве клиента.Клиентский компонент автотестирования уже запущен. включены в установку MarkUs. См. Раздел «Параметры конфигурации Маркуса», чтобы узнать, как для настройки вашей установки MarkUs для запуска тестов с помощью автотестера.
Если вы хотите использовать другой клиент, свяжитесь с разработчиками этого проекта, чтобы обсудить, как получить автотестер для работы с вашим клиентом.
Требования к клиентам:
- REST Api, который позволяет: — скачать файлы тестовых скриптов — скачать настройки теста — скачать студенческие файлы — загрузить результаты — необязательно: загрузить файлы обратной связи — необязательно: загрузить аннотации исходного кода
Сервер
Чтобы установить сервер автотестирования, запустите установку .sh
из каталога bin
с опциями:
$ bin / install.sh [-p | --python-version python-version] [--non-interactive] [--docker] [--a | --all-testers] [-t | - тестеры тестировщик ...]
варианты:
-
--python_version
: версия python для установки / использования для запуска автотестера (по умолчанию 3.9). -
- неинтерактивный
: запустить программу установки в неинтерактивном режиме (все подтверждения будут приниматься без запроса пользователя). -
--docker
: запустить установщик для установки в докере. Это устанавливается в неинтерактивном режиме, и пакеты iptables, postgresql debian не устанавливаются. -
--all-testers
: установите все тестеры, а также сервер. См. Тестеры. -
--testers
: установите отдельных именованных тестеров (см. Тестеры). Эта опция будет проигнорирована, если используется флаг —all-testers.
Сервер можно удалить, запустив программу удаления .sh
в том же каталоге.
Зависимости
При установке сервера также будут установлены следующие пакеты debian:
- python3.X (второстепенная версия python3 может быть указана в качестве аргумента сценария установки; см. Выше)
- python3.X-venv
- Redis-сервер
- jq
- postgresql-клиент
- libpq-dev
- openssh-сервер
- gcc
- postgresql (если он не запущен в среде докеров)
- iptables (если не работает в среде докеров)
Этот сценарий может также добавлять новых пользователей и создавать новые базы данных postgres.См. Раздел конфигурации для более подробной информации.
Тестеры
В настоящее время автотестер поддерживает тестеры для следующих языков и сред тестирования:
-
Хаскелл
-
Java
-
py
(python3) -
pyta
-
ракетка
-
на заказ
- подробнее здесь
Зависимости
При установке каждого тестера также будут установлены следующие дополнительные пакеты:
-
Хаскелл
- ghc
- установка кабины
- вкусно-статистика (пакет кабала)
- вкусно-открыть (Кабал пакет)
- delicious-quickcheck (пакет cabal)
-
Java
-
py
(python3) -
pyta
-
ракетка
-
на заказ
Параметры конфигурации автотестера
Эти параметры можно переопределить или расширить, включив файл конфигурации в одно из двух мест:
-
$ {HOME} /.autotester_config
(где$ {HOME}
— домашний каталог пользователя, запускающего процесс супервизора) -
/ etc / autotester_config
(для общесистемной конфигурации)
Пример файла конфигурации можно найти в doc / config_example.yml
. Пожалуйста, смотрите ниже описание всех опций и значений по умолчанию:
workspace: # абсолютный путь к каталогу, содержащему все файлы / рабочие пространства, необходимые для запуска автотестера. По умолчанию # $ {HOME} /.autotesting / workspace, где $ {HOME} - домашний каталог пользователя, запустившего автотестер server_user: # имя пользователя, назначенного для запуска самого автотестера. По умолчанию текущий пользователь рабочие: - пользователи: - name: # имя пользователя, назначенного для запуска тестов для автотестера reaper: # имя пользователя, которое использовалось для очистки тестовых процессов. Это значение может быть нулевым (подробности см. Ниже). queues: # список имен очередей, которые эти пользователи будут отслеживать и выбирать из них тестовые задания.# Порядок этого списка указывает, какие очереди имеют приоритет при выборе тестов для запуска # Этот список может содержать только строки high, low и batch. # по умолчанию ['high', 'low', 'batch'] Redis: url: # URL-адрес базы данных Redis. по умолчанию: redis: //127.0.0.1: 6379/0 руководитель: url: # URL-адрес, используемый процессом супервизора. по умолчанию: '127.0.0.1:9001' rlimit_settings: # Настройки RLIMIT (подробности см. ниже) nproc: # например, этот параметр устанавливает жесткие и мягкие ограничения для количества доступных процессов до 300 - 300 - 300 Ресурсы: port: # установить диапазон портов, доступных для использования тестами (подробности см. ниже).min: 50000 # Например, это устанавливает диапазон портов от 50000 до 65535 макс: 65535 postgresql: port: # порт, на котором работает сервер postgres host: # хост, на котором запущен сервер postgres на
Переменные среды
Некоторые настройки можно указать с помощью переменных среды. Если эти переменные среды установлены, они переопределят соответствующий параметр в файлах конфигурации:
рабочая область: # AUTOTESTER_WORKSPACE Redis: url: # REDIS_URL server_user: # AUTOTESTER_SERVER_USER руководитель: url: # AUTOTESTER_SUPERVISOR_URL Ресурсы: postgresql: порт: # PGPORT хост: # PGHOST
Детали конфигурации автотестирования
пользователей жатки
Каждый пользователь-жнец связан с одним рабочим-пользователем.Единственная задача пользователя жатки — безопасно убить любые процессы. все еще работает после завершения теста. Если эти пользователи не существуют до установки сервера, они будут созданы. Если в файле конфигурации не указано имя пользователя reaper, новые пользователи не будут созданы, и тесты будут завершены в немного менее безопасный способ (хотя, вероятно, все еще достаточно хорош для большинства случаев).
r предельные настройки
Параметры Rlimit позволяют пользователю указать, сколько системных ресурсов должно быть выделено каждому рабочему пользователю, когда
запущенные тесты.Эти ограничения применяются с использованием ресурса python
.
библиотека.
В файле конфигурации можно установить ограничения, используя имя ресурса в качестве ключа и список целых чисел в качестве значения. В Список целых чисел должен содержать два значения: первое — мягкое ограничение, а второе — жесткое. Для Например, если мы хотим ограничить количество дескрипторов открытых файлов с мягким пределом 10 и жестким пределом 20 наш файл конфигурации будет включать:
rlimit_settings: Нет файла: - 10 - 20
См. Библиотеку ресурсов python для всех параметров rlimit.
выделенных порта
Некоторые тесты требуют использования выделенного порта, который гарантированно не будет использоваться другим процессом. Эта настройка
позволяет пользователю указать диапазон, из которого могут быть выбраны эти порты. При запуске теста среда PORT
переменная будет установлена на номер порта, выбранный для этого тестового прогона. Доступные номера портов будут отличаться от тестовых.
тестировать.
имена и схемы очередей
Когда тестовый прогон отправляется автотестеру от клиента, тест не запускается немедленно.Вместо этого он помещается в очередь и запускается только тогда, когда рабочий пользователь становится доступным. Вы можете выбрать одну или несколько очередей.
При использовании нескольких очередей вы можете установить порядок приоритета для каждого рабочего пользователя (см. Параметр worker:
). По умолчанию
для выбора заданий в очереди «с высоким», затем для «нижних» очереди и, наконец, для заданий в «пакетной» очереди.
Обратите внимание, что не всем рабочим нужно отслеживать все очереди. Однако у вас должен быть хотя бы один рабочий, контролирующий каждые очереди, иначе некоторые задания могут никогда не быть запущены!
Когда клиент отправляет тест автотестеру, чтобы решить, в какую очередь поместить тест, мы проверяем файл json.
строка, переданная в качестве аргумента команде autotester
(с использованием флагов -j
или -f
).Если есть еще
чем один тест для постановки в очередь, все задания будут помещены в «пакетную» очередь; если есть один тест и request_high_priority
аргумент ключевого слова - Истинно
, задание будет помещено в «высокую» очередь; в противном случае задание будет помещено в «нижнюю» очередь.
Варианты конфигурации MarkUs
Следующим шагом после установки автотестера является обновление настроек конфигурации для MarkUs.
Эти настройки находятся в файлах конфигурации MarkUs, которые обычно находятся в каталоге config / environment
вашей установки MarkUs:
конфиг.x.autotest.enable
Включает автоматическое тестирование.
Должен быть установлен на true
config.x.autotest.student_test_buffer
При включенных тестах учащихся, учащийся не может запросить новый тест, если тест уже выполняется, чтобы предотвратить отказ в обслуживании. Если тестовый сценарий неожиданно завершится неудачно и не вернет результат, ученик будет фактически заблокирован от дальнейшего тестирования.
Это период времени, по истечении которого учащийся в любом случае может запросить новый тест.
config.x.autotest.client_dir
Каталог, в котором хранятся файлы тестов для заданий.
(пользователь, использующий MarkUs, должен иметь возможность писать здесь)
config.x.autotest.server_host
Имя хоста сервера, на котором установлен сервер автотестирования markus.
(используйте localhost
, если сервер работает на том же компьютере)
config.x.autotest.server_username
Пользователь сервера, на который копируются файлы тестера и ученика.
Это должно быть то же самое, что и server_user
в файле конфигурации markus-autotesting.
(SSH-вход без пароля должен быть настроен для пользователя, работающего с MarkUs, для соединения с этим пользователем на сервере;
несколько экземпляров MarkUs могут использовать одного и того же пользователя;
может быть nil
, при этом config.x.autotest.server_host
будет localhost
и будет использоваться копия локальной файловой системы)
config.x.autotest.server_dir
Каталог на сервере автотеста, куда копируются временные файлы.
Это должно быть то же самое, что и каталог рабочей области
в файле конфигурации автотестирования.
(несколько экземпляров MarkUs могут использовать один и тот же каталог)
config.x.autotest.server_command
Команда для запуска на сервере автотестирования, который запускает сценарий оболочки, вызывающий autotester
.
В большинстве случаев следует установить значение 'autotest_enqueuer'
Пользовательский тестер
Сервер автотестирования поддерживает запуск произвольных сценариев в качестве «настраиваемого» тестера.Этот скрипт будет запущен с использованием специального тестера, и результаты этого тестового скрипта будут проанализированы и переданы в MarkU так же, как и любой другой тестер.
Любой настраиваемый сценарий должен сообщать результаты отдельных тестовых случаев, записывая строку json в стандартный вывод в следующем формате:
{"name": test_name,
"output": вывод,
"mark_earned": points_earned,
"mark_total": points_total,
"status": статус,
"время": время}
где:
-
test_name
- уникальная строка, описывающая тест -
output
- строка, описывающая результаты теста (может быть пустой строкой) -
points_earned
- количество баллов, полученных учащимся за успешное / невыполнение / частичное прохождение теста -
points_total
- максимальное количество баллов, которое студент может получить за этот тест -
статус
является одним из«пройден»
,«не пройден»
,«частично»
,«ошибка»
- Для определения статуса рекомендуется следующее соглашение:
- если
points_earned == points_total
, то статус== "пройден"
- если
points_earned == 0
, то статус== "сбой"
- если
0
, то статус == "частичный"
-
status == "error"
если произошла ошибка, означающая, что количество баллов для этого теста не может быть определено
- если
- Для определения статуса рекомендуется следующее соглашение:
-
время
является необязательным (может иметь значение NULL) и представляет собой количество времени, которое потребовалось для запуска теста (в мс)
Введение в Idx-Auto-Tester · LoginRadius Engineering
Idx-Auto-Tester - это LoginRadius Identify Experience Automation Framework, который относится к IEF Automation, представляет собой интегрированную среду автоматизации с открытым исходным кодом, встроенную в Nightwatch | Узел.js с предоставлением всех стандартных случаев аутентификации LoginRadius Identity Experience. Эта среда автоматизации была создана для платформы LoginRadius Identity Experience Framework, которая представляет собой готовое к использованию решение, которое предоставляет предопределенные макеты для всех необходимых действий аутентификации. В нем доступны все потоки учетных записей пользователей, такие как вход в систему, регистрация, забытый пароль и управление профилем.
Технология, использованная для создания Idx-Auto-Tester
Мы использовали Nightwatch.js для создания нашего Idx-Auto-Tester. Эта структура полагается на Selenium и предоставляет несколько команд и утверждений в рамках структуры для выполнения операций с элементами DOM. Он внутренне использует мощный W3C Webdriver API или Selenium Webdriver и упрощает написание сквозных автоматических тестов в Node.js и легко настраивается для непрерывной интеграции.
Nightwatch использует язык JavaScript (Node.js) и CSS / XPath для идентификации элемента. Он имеет встроенную программу запуска тестов из командной строки, которая может запускать тесты последовательно или параллельно, вместе, по группам, тегам или по отдельности.
Установка
Шаг 1. Загрузите и установите Java.
Шаг 2: Установите Node.js.
Шаг 3: Установите Nightwatch. В командной строке перейдите в любой каталог и введите
npm install -g nightwatch (здесь g означает глобальную установку).
Шаг 4: Создайте структуру папок, как показано ниже, где Project является корнем.
Шаг 5. Теперь необходимо установить selenium-server-standalone.jar и chromedriver.exe вместе с другими зависимостями для выполнения тестовых случаев.
Поскольку все зависимости добавлены в nightwatch.json, поэтому, выполнив команду ниже, они будут добавлены в папку node_modules
npm установить
Настройка и настройка Nightwatch.js
Теперь мы установили все зависимости и настройку конфигурации для среды автоматизации. Nightwatch.js предлагает встроенное средство запуска тестов, которое ожидает передачи файла конфигурации JSON.Файл конфигурации по умолчанию - nightwatch.json, который должен находиться в корневом каталоге проекта.
Шаг 6. В корневой папке создайте файл nightwatch.js и поместите следующую строку:
требуется ("nightwatch / bin / runner.js")
Шаг 7. Теперь создайте файл конфигурации nightwatch.json
с конфигурациями, указанными ниже, как фрагмент кода для тестирования с помощью Selenium и JavaScript.
{
"src_folders": ["test"],
"output_folder": "tests_output",
"custom_commands_path": "helpers / custom-commands",
"custom_assertions_path": "",
"page_objects_path": "",
"globals_path": "",
"test_workers": {
"включен": ложь,
«рабочие»: 3
},
"селен": {
"start_process": правда,
«путь_сервера»: «модули_узлов / селен-сервер-автономный-банку / банку / селен-сервер-автономный-3.13.0.jar ",
"log_path": "",
"хост": "127.0.0.1",
«порт»: 4444,
"cli_args": {
"webdriver.chrome.driver": "node_modules / chromedriver / lib / chromedriver / chromedriver.exe",
"webdriver.ie.driver": ""
}
},
"test_settings": {
"По умолчанию": {
"skip_testcases_on_fail": ложь,
"launch_url": "http: // localhost",
"selenium_port": 4444,
"selenium_host": "127.0.0.1",
"тихий": правда,
"скриншоты": {
"включен": правда,
"путь": "скриншоты"
},
"desireCapabilities": {
"browserName": "хром",
"javascriptEnabled": ложь,
"acceptSslCerts": ложь,
"chromeOptions": {
"аргументы": ["--headless-none"]
}
}
},
"Fire Fox": {
"desireCapabilities": {
"browserName": "firefox",
"javascriptEnabled": правда,
"acceptSslCerts": правда,
"cli_args": {
"globals": {
"env": "огненная лиса"
}
}
}
},
"ie": {
"desireCapabilities": {
"browserName": "Internet Explorer",
"javascriptEnabled": правда,
"acceptSslCerts": правда,
"cli_args": {
"globals": {
"env": "ie"
}
}
}
}
}
}
Шаг 8.Теперь пришло время разработать тестовый пример для любого сценария, такой же, как созданный в нашей Idx-Auto-Tester Framework в папке test с именем TC 01 UserLogin
Для создания функций / методов мы использовали подход с настраиваемыми командами nightwatch для создания команд для всех необходимых функций в папке custom-commands, например, существует команда, созданная для createUser.js , которая использовалась для создания пользователя и вызова его при тестировании дело.
Примечание. Мы используем «Команды функционального стиля» Nightwatch для создания команды для решения проблемы асинхронной системы очередей во время выполнения тестового примера.
Шаг 9. Последнее, что нам нужно сделать, это выполнить тесты из базового каталога проекта с помощью команды:
npm тест
Важный совет: в package.json добавлен сценарий для определения команды выполнения теста:
«скриптов»:
{
"test": "узел nightwatch.js --reporter html-reporter.js test"
}
Эта команда проверит тесты и зависимости, а затем выполнит набор тестов, который откроет указанный браузер и выполнит необходимые шаги теста.
Параллельное тестирование с Nightwatch.js в Selenium WebDriver
Требуется обновить конфигурацию для параллельного выполнения тестов, установив для test_workers значение true. Это позволит выполнять параллельное выполнение и выполнять все тесты на определенном количестве рабочих.
"test_workers": {
"включен": правда,
«рабочие»: 3
},
Это все о реализации Idx-Auto-Tester Framework
В этом проекте фреймворка мы рассмотрели различные потоки тестирования LoginRadius Identity Experience Automation с помощью Selenium Javascript.Я надеюсь, что теперь мы понимаем подход к сквозному автоматическому тестированию с использованием Selenium JavaScript с использованием Nightwatch.js со ссылкой на Idx-Auto-Tester. Нам известны все предварительные условия, необходимые для установки Nightwatch.js. Он быстро автоматизирует весь набор тестов с минимальной настройкой, читается и легко обновляется. Наш фреймворк также способен использовать лучшую функцию, предоставляемую фреймворком Nightwatch.js, а именно параллельное тестирование кейсов, которое оказывается эффективным по времени.Результаты теста могут быть прочитаны непосредственно с терминала, а также сохранены в указанной выходной папке.
4 Передовой опыт реализации автотестов
Специалистам по обеспечению качества (QA) часто приходится выполнять большое количество тестов продукта за короткий промежуток времени. Активное развитие автоматизации тестирования сегодня является прямым следствием ускорения процессов тестирования и необходимости обеспечить высокое качество продукции в условиях ограниченного времени. Как быстро и эффективно внедрить автотесты в проект?
В этой статье мы поделимся своим опытом и советами по внедрению и созданию автотестов.Мы описываем жизненный цикл разработки автотестов, основные принципы разработки тестов и требования к реализации, которые полезно учитывать в процессах автоматизации тестирования. Эта статья будет полезна QA-специалистам, которые хотят улучшить свои процедуры автотестирования.
Автор:
Иван М.,
Инженер по тестированию,
Группа тестирования программного обеспечения
Содержание:
Выбор правильных инструментов
Жизненный цикл автотестов
Основные принципы разработки автотестов
Требования к сценариям
Вывод
1.Выбор правильных инструментов
Любой процесс тестирования начинается с выбора правильного набора инструментов тестирования. Прежде чем использовать какой-либо инструмент, убедитесь, что он может выполнять все необходимые функции, такие как определение всех необходимых элементов графического интерфейса пользователя (GUI). Когда вы знаете возможности каждого инструмента, вы можете выбрать наиболее подходящий для каждой ситуации. Например, неудобно тестировать установку программы, которая требует перезагрузки, с помощью Microsoft Test Manager, поскольку в нем просто нет такой функции.В этом случае удобно использовать AutoIt.
Некоторые инструменты автоматизации тестирования, такие как TestComplete и Microsoft Test Manager, имеют архитектуру клиент-сервер, в которой сценарий тестирования может выполняться только клиентом. Подумайте об этом, прежде чем внедрять такой инструмент, потому что вам нужно будет установить клиентов на каждый компьютер, на котором выполняется ваш скрипт.
Другие инструменты, такие как AutoIt, могут компилировать исполняемые файлы, что значительно упрощает использование скриптов. Однако в этом случае не будет распределенной системы, которая запускает сценарии на компьютере, контролирует выполнение и фиксирует окончательную информацию о задачах и состояниях системы.В результате скрипты, созданные с помощью AutoIt, приходится систематизировать вручную.
Вам также понадобится среда, в которой вы можете запускать автотесты. В зависимости от решаемой задачи вы можете использовать физический компьютер или виртуальную машину (ВМ), установленную на вашем сервере или в облаке. Если вам не нужно тестировать программное обеспечение на устройстве, подключенном к тестируемому компьютеру, предпочтительнее использовать виртуальную машину. Конечно, вы можете использовать виртуальную машину для тестирования программного обеспечения на подключенном устройстве, но тогда вам может потребоваться использовать определенные инструменты, что увеличивает затраты на тестирование и вероятность ошибок, вызванных сторонними инструментами.Использование виртуальной машины позволяет настроить среду один раз, а затем использовать ее повторно. Вы можете в любой момент откатить виртуальную машину до чистого состояния, чтобы результаты предыдущих тестов не повлияли на новые.
2. Жизненный цикл автотестов
Разработка автотестов ничем не отличается от разработки программного обеспечения. Поэтому очень важно подходить к нему с таким же вниманием и усердием.
Хотя для автотестирования можно использовать любую модель разработки программного обеспечения, мы считаем итеративную модель наиболее эффективной.В этой модели тесты создаются поэтапно, число которых увеличивается с каждым этапом разработки (см. Рисунок 1).
Рисунок 1. Этапы разработки автотеста
Вы можете увидеть пример структуры системы автотестирования на рисунке 2. Система содержит следующее:
- Набор тестов, достаточный для покрытия тестируемого приложения в соответствии с заданным тестом. критерии
- Файл журнала с ожидаемыми результатами набора тестов, который содержит трассировки или «протоколы» (записи в журнале о состояниях переменных в указанных точках во время выполнения программы)
- Статистика цикла тестирования, содержащая:
1) Результаты каждого прогона теста и сравнение с эталонными значениями
2) Причина неудачи или успеха теста
3) Критерии покрытия тестами и в какой степени они были удовлетворены в течение цикла тестирования
Рисунок 2.Обобщенная структура системы автотестирования
После каждого запуска теста система формирует список проблем (ошибок и ошибок) и сохраняет его в приложении для хранения информации, также известной как «база разработки проекта». Каждая обнаруженная ошибка идентифицируется, присваивается соответствующему модулю, назначается приоритет и отслеживается. Это гарантирует, что проблемы будут решены в будущих сборках.
После всех вышеперечисленных шагов вы можете исправить ошибки, после чего новая версия продукта перейдет к следующему циклу тестирования.Этот процесс повторяется до тех пор, пока не будет достигнуто ожидаемое качество. В этом итеративном процессе инструменты автотестирования обеспечивают быстрый контроль над исправлением ошибок и быструю проверку качества продукции.
Частота обнаружения ошибок на единицу стоимости тестирования и надежность программного обеспечения зависят от времени тестирования и эффективности метода тестирования (см. Рисунок 3). Чем больше человеко-часов тратится на тестирование, тем меньше ошибок остается в продукте незамеченными и тем более безопасным становится продукт. Однако совершенство в программировании программного обеспечения имеет свои ограничения, связанные, прежде всего, с превышением затрат на разработку вместе с ненужной полировкой продукта.Найти оптимальный баланс - задача тестировщика и руководителя проекта.
Рисунок 3. Сравнение времени тестирования с эффективностью и затратами
Вы должны комбинировать различные методы отладки и тестирования, чтобы гарантировать желаемое качество программного обеспечения при ограниченном бюджете (рисунок 3). Вы можете достичь желаемого качества, используя управление качеством программного обеспечения.
Читайте также:
Методы оценки времени, необходимого для тестирования программного обеспечения
3. Основные принципы разработки автотестов
При планировании разработки автотестов необходимо понимать основные принципы их построения.Общая схема системы автотестирования выглядит следующим образом:
Рисунок 4. Общая схема системы автотестирования
Как видите, система в основном состоит из четырех компонентов:
- Репозиторий кода - внешний репозиторий версий программного обеспечения. (например, репозиторий Git)
- Сервер - внешний источник данных для хранения версий программного обеспечения и результатов тестирования
- Autotest Manager - приложение, которое распределяет задачи между тестовыми агентами и отвечает за выполнение тестов с заданными интервалами (ежедневно, по запросу , после каждого измерения и т. д.)
- Тестовая машина - аппаратное устройство или виртуальная машина, на которой выполняется тестирование программного обеспечения.
Для разработки простых в использовании и управляемых автотестов придерживайтесь принципов разработки. Давайте посмотрим на них ниже с примерами, приведенными на языке AutoIt.
3.1 Эффективность
Автотесты должны служить определенной цели, которая приносит пользу проекту. Например, они могут сэкономить время на регрессионном тестировании или реализовать тесты, которые невозможно или сложно выполнить вручную (нагрузочное тестирование, тестирование производительности, стресс-тестирование).Автоматические тесты позволяют повысить эффективность, поскольку вы можете получить больше результатов за одно и то же время.
Примечание. Не пытайтесь создать один автотест для всех целей. Разработайте индивидуальный автотест для каждого случая. Вы можете использовать те же подходы, методы и данные, но сами автотесты должны быть разными.
3.2 Стабильность
Один из лучших способов реализации автотестов - сделать систему автотестирования стабильной и реагировать на любой сбой или ошибку. Даже если один тест не выполняется, он не должен препятствовать выполнению других тестов, которые от него не зависят.Если возможно, постарайтесь сделать наборы тестов независимыми.
Как сделать скрипты стабильными? Вот несколько приемов:
- Использовать таймауты
Существует два типа тайм-аутов:
- Глобальный тайм-аут применяется ко всему сценарию. Он используется, когда местные проверки не работают или протестированная программа зависает. Скрипт время от времени проверяет значение глобального тайм-аута. Если он достигает критического уровня, сценарий прерывается с кодом ошибки и выполняет необходимые действия (например, запись в журнал, сохранение информации и выполнение очистки системы из временных файлов / ключей реестра, созданных сценарием).
- Локальный тайм-аут используется для таких функций, как WebDriverWait в Selenium или WaitForControlExist в .Net (функции, которые получают тайм-аут в качестве параметра). Локальный тайм-аут означает, что функция отменяет ожидание определенного элемента, как только элемент отображается на странице. В противном случае функция завершает свою работу с кодом ошибки, если элемент не отображается.
- Получить элементы управления
Правильный способ реализации автотестов - получить информацию об элементах пользовательского интерфейса (также называемых элементами управления), которые будут использоваться в автотесте, перед выполнением каких-либо операций.Некоторые элементы управления могут изменить свое состояние после того, как вы выполнили действия на странице, и вы автоматически получите сообщение об ошибке при попытке их устранения, поскольку автотест попытается получить управление, используя старый адрес. Элементы управления, которые вы получаете после загрузки страницы, и элементы управления, к которым автотест попытается получить доступ после того, как вы выполнили некоторые действия на странице, будут двумя совершенно разными элементами управления.
- Поддерживайте чистоту
Очистите все поля в любом поиске, с которым вы работаете. Только после этого вы можете вводить новые данные для поиска.Таким образом, вы можете быть уверены, что ранее введенные данные не нарушат чистоту теста.
- Проверить состояние элемента управления
Проверить состояние элемента управления перед его выбором или отменой выбора. Например, флажок, который раньше всегда был установлен по умолчанию, может не быть установлен. Когда ошибка, вызванная изменением состояния флажка, обнаруживается не на экране с этим элементом управления, а через пару экранов, это серьезно усложняет процесс тестирования.
3.3 Отчеты
Отчет является результатом выполнения автотеста. Если тест прошел успешно, вы можете продолжить тестирование других элементов. Однако, если тестируемая программа зависает в середине скрипта или, например, вызывает сбой операционной системы, вы получите отрицательный результат или вообще не получите результата. Поэтому необходимо фиксировать все действия или хотя бы основные. Отчеты могут содержать как общую, так и подробную информацию о результатах тестирования.
Отчеты должны содержать:
- Временные метки
- Ход тестирования
- Информация о любых ошибках
- Результаты выполнения скрипта (пройдены или не пройдены)
- Объяснение результатов (файлы не найдены, тест завершился неудачно / все требуемые файлы существуют , тест пройден и т. д.)
Кроме отчета, вы можете сохранить такую информацию как:
- Скриншоты системы в момент обнаружения ошибки
- Часть журнала событий, созданная при выполнении скрипта
- Список сервисов, работающих в системе
- наличие или отсутствие файлов и ключей реестра
Отчет поможет вам найти ошибки, обнаруженные во время тестов. Также имейте в виду, что некоторые ошибки могут зависеть от контекста, и их воспроизведение без дополнительной информации может занять много времени.
3.4 Гибкость
Автотесты должны легко исправляться, потому что проекты постоянно развиваются и меняются. Кроме того, автотесты не должны содержать жестко закодированных входных данных. Храните все входные данные во внешнем источнике данных в соответствующем сетевом файле или базе данных.
Для обеспечения гибкости ввода данных достаточно передать скрипту абсолютный параметр. Этот параметр указывает, откуда автотесты берут свои входные данные, и означает, что изменение значений в исходных данных не вызовет изменений кода (см. Рисунок 5).
Рис. 5. Предоставление гибких входных данных для тестов
Кроме того, можно различать гибкость ваших автотестов в зависимости от различных свойств теста, таких как:
- Гибкость платформы (кроссплатформенность)
- Гибкость ввода данные (параметризация)
- Гибкость изменения кода (модульность, управляемость)
3.5 Простая конфигурация
1. Предварительные условия
Каждый тест имеет свои предварительные условия, которые должны быть установлены перед запуском.При их настройке старайтесь оставаться где-то между подготовкой всего и выполнением всего за минимальное количество шагов. Иногда подготовка предварительных условий занимает больше времени, чем запуск самого теста. Тем не менее к их подготовке следует отнестись серьезно. Предварительные условия используются для начальной подготовки операционной системы, тестовой программы, браузера и т. Д. На тестовой машине. Сценарий тестирования, выполненный до определения предварительных условий, либо не запустится, либо покажет неверные результаты.
Также старайтесь не использовать один автотест для подготовки данных для другого теста. В дальнейшем это может привести к частым ложноотрицательным результатам. Ваши основные автотесты могут завершиться неудачно из-за проблем с автотестами, которые использовались для подготовки тестовых данных. Даже когда вы тестируете графический интерфейс, вы должны использовать эффективные подходы к подготовке данных, такие как прямые запросы к базе данных.
2. Использование внешних источников данных
Все данные, используемые и созданные во время выполнения теста (сценарии, файлы конфигурации, отчеты), должны храниться в сетевом источнике.Это означает, что должен быть один компьютер, который не участвует в процессе тестирования, но имеет общую папку со всей информацией автотестирования или базой данных. 90% тестов запускаются и выполняются в сети, поэтому рассмотрите возможность копирования сценариев и данных на каждый компьютер, на котором они выполняются, чтобы устранить возможные проблемы, которые могут возникнуть в сети.
Представьте, что ваша тестовая среда содержит большое количество виртуальных машин и вы выполняете откат для очистки моментальных снимков перед каждым запуском автотеста. Во-первых, вы потратите дополнительное время на копирование и контроль версий файлов.Во-вторых, если большая часть ваших данных статична, существует риск их потери или повреждения при перемещении. Используя внешние источники данных, вы можете минимизировать эти риски.
3.6 Независимость
Во время выполнения теста все решения, которые принимает пользователь (например, выбор пункта меню, ввод личных данных или паролей), должны быть сохранены в файле конфигурации. Скрипт получит эту информацию при необходимости. Недопустимо, чтобы тест требовал действий пользователя во время выполнения, потому что это противоречит автоматизации, что является нашей основной целью.
Файл конфигурации должен быть размещен на сетевом диске, чтобы любой автотест мог получить к нему доступ с любой тестовой машины.
Читайте также:
Разработка и внедрение автотестов для многокомпонентного корпоративного приложения
4. Требования к сценариям
При разработке сценариев необходимо соблюдать некоторые общепринятые требования. Они могут упростить использование и изменение сценариев и повысить общую эффективность вашей работы.
4.1 Обработка ошибок
Примечание. Все нижеприведенное касается ошибок (не ошибок) и основных ошибок программы (не ошибок сценария).
Одним из советов по реализации автотестов является обработка ошибок, поскольку это одна из основных целей автоматизации тестирования. Благодаря обработке ошибок мы заранее знаем, какие ошибки могут появиться, потому что мы уже проверили конкретные тестовые примеры. Но могут появиться и непредвиденные ошибки, которые необходимо описать в отчете с результатами автотеста. Это требование перекликается с принципом стабильности, поскольку все методы обеспечения стабильности проверяют поведение системы с ожидаемым результатом, т.е.е. обрабатывать ошибки.
Например, вам нужно протестировать страницу, на которой некоторые кнопки предположительно отсутствуют из-за ошибки разработчика или проблемы в системе. Прежде чем предпринимать какие-либо действия на этой странице, откройте ее и убедитесь, что какая-то кнопка действительно отсутствует. В этом случае, когда вы проверите, отображается ли кнопка, вы получите ожидаемую ошибку о том, что кнопка отсутствует. Автотест должен обработать эту (и только эту) ошибку, а затем продолжить.
В зависимости от характера обнаруженной ошибки мы можем следовать одному из двух сценариев:
Ошибка 1: открывается неожиданное окно или ожидаемое окно имеет неожиданный вид.
Решение: используйте локальные тайм-ауты для определенных функций и глобальные тайм-ауты для всего сценария. Если поведение системы предсказуемо, добавьте обработку ошибок.
Ошибка 2: фактический результат не соответствует ожидаемому.
Решение: это ошибка в сценарии автотестирования. Отмените сценарий и сообщите об ошибке. Изучите проблему глубже и сделайте предположение о причине несоответствия и о том, действительно ли это ошибка. Если вы тестируете новую версию программного обеспечения, возможно, ожидаемый результат уже изменился.
4.2 Управляемость
Ваши автотесты должны быть простыми в управлении, как описано в разделе «Принцип гибкости». Скрипты должны иметь удобную структуру, состоять из функций, соответствовать стандартам кодирования и использовать общепринятые методы. Если по одной и той же схеме разработано большое количество сценариев, вы можете быстро найти сценарий или блок, который содержит причину проблемы в коде, который вы видите впервые, и при необходимости изменить его.
Структура кода должна быть интуитивно понятной.Называйте переменные и функции просто и в соответствии с их назначением. На начальных этапах разработки целесообразно привлекать разработчиков к рецензированию кода. Это поможет вам выработать стиль кодирования и избежать стандартных ошибок, которые в дальнейшем могут повредить оптимизации или рефакторингу кода.
4.3 Модульность
Продолжая список передовых методов реализации автотестов, давайте подробнее рассмотрим модульность. Модульность - это возможность заменять отдельные компоненты в проекте, не затрагивая остальную часть кода.Вы можете добиться этого, разделив код автотеста на разные разделы или модули. Один модуль должен описывать только аналогичные функции. Старайтесь избегать сильной взаимозависимости между модулями. Опишите каждый модуль в отдельном файле. Используйте слои и не смешивайте логику программы и обработку данных.
Модульность дает вам следующие преимущества:
- Отсутствие избыточности гарантирует отсутствие повторяющегося кода
- Повторное использование позволяет использовать одни и те же программные компоненты для разных целей
- Рефакторинг положительно влияет на все автотесты, в которых используется отремонтированный модуль
Обратите внимание на модульность тестовых наборов.Правильная среда тестирования позволит вам вносить изменения в рабочие наборы тестов. Например, среда NUnit предлагает несколько способов реализации набора тестов. Один из них позволяет использовать файл с именами запускаемых тестов. Используя этот подход, вы можете запускать разные наборы тестов, просто изменяя имя файла.
4.4 Параметризация
Рассмотрите возможность включения параметров в ваши тесты. Вы можете выполнять тестирование с разными уровнями детализации, поэтому должна быть некоторая гибкость для запуска автотестов в разных режимах.Например, запустите автотест только для тестирования одной функции или только одной пользовательской истории. Вы можете сократить или расширить область тестирования, изменив значение параметров тестирования. Вы можете использовать параметры для путей, имен файлов, значений констант, имен элементов и т. Д.
4.5 Кросс-платформенный
Сделайте автотесты независимыми от платформы, если это возможно. Это не означает, что тест будет работать везде одинаково. Ваша задача - спрогнозировать особенности среды и выполнить элементарные проверки в начале выполнения скрипта.
Обычно рекомендуется делать автотесты независимыми от:
- оборудования
- Версии и обновлений системы
- Емкость системы
- Стороннее программное обеспечение
- Браузеры (если это веб-проект)
Например, Вам следует проверить наличие каких-либо файлов после установки проекта. .Net имеет функцию File.Exists () именно для этого. Для корректной работы данной функции в системах с разным битрейтом необходимо создать метод, учитывающий битрейт системы при формировании пути к проверяемому файлу (см. Рисунок 6).
Рисунок 6. Проверка производительности системы
4.6 Регистрация
Результаты тестирования должны быть зарегистрированы. Ведение журнала - одна из самых важных частей процесса отчетности. Файл журнала должен содержать информацию об ошибке или успехе теста. Это поможет вам локализовать ошибки, обнаруженные во время испытаний, и составить точные отчеты о состоянии продукта.
Минимальная информация о результатах автотестов может быть предоставлена самой средой разработки (текст ошибки, ее расположение в коде и т. Д.), но иногда этого недостаточно. Если автотесты должны обрабатывать переменные данные (данные, которые меняются от запуска к запуску), было бы логично добавить вывод этих данных в файл журнала. Эта информация не займет много места на диске, но при необходимости сократит время поиска причины ошибки.
4.7 Очистка системы
Очистите систему после выполнения автотестов. Если вы используете виртуальные машины, их очистка означает лишь откат к подготовленному снимку. Если вы используете физический компьютер, вам нужно будет создать и использовать сценарий, который удалит все сделанные изменения.
Также не забудьте удалить данные, созданные на сетевых дисках и базах данных в процессе подготовки и запуска автотестов. Если вы постоянно записываете данные в базу данных, не очищая ее время от времени, база данных может стать очень большой.
4.8 Многопоточность
При разработке и планировании тестов учитывайте необходимость параллельного или многопоточного выполнения автотестов, которая может появиться по мере роста проекта. Многопоточность может быть реализована как на одном, так и на нескольких тестовых компьютерах.
Вы можете использовать многопоточность, когда время выполнения автотестов становится чрезмерным (от 10 до 12 часов) или когда вам нужно ускорить процесс получения обратной связи о текущем состоянии сборки. Поэтому при разработке автотестов рассмотрите возможность использования многопоточности, поскольку некоторые решения и подходы могут вызывать ошибки. Например, ваша инфраструктура может не позволять одному пользователю войти в тестируемое программное обеспечение с нескольких компьютеров одновременно.
Исправление таких ошибок может занять очень много времени и даже может потребовать перенастройки всей инфраструктуры автотеста.
Читайте также:
Развертывание автоматизированной системы тестирования на основе Team Foundation Server и Microsoft Test Management
Заключение
Внедрение системы автотестирования требует много времени и усилий. Ключ к успеху в этой задаче - подготовить подробный план действий, создать необходимую документацию, разработать автотесты и проверить их. Жизненный цикл автотестов принципиально не отличается от жизненного цикла любого другого программного обеспечения, поэтому их разработка проходит те же этапы.
Также важно изучить все возможности и ограничения используемых инструментов, чтобы избежать возможных проблем в будущем, поскольку это считается одним из лучших методов реализации автотестов. Уточните общую структуру кода и взаимодействие кода с системой управления тестированием перед разработкой сценариев и определите необходимые принципы и требования для каждого теста. Наконец, проанализируйте результаты работы системы автотестирования, ведь иногда ее внедрение только увеличивает бюджет и отодвигает сроки сдачи проекта.
Наши специалисты по контролю качества активно применяют как ручное, так и автоматическое тестирование, чтобы гарантировать высокое качество наших продуктов. Свяжитесь с Apriorit, чтобы заказать первоклассные услуги QA.
Bizagi Studio> Автоматическое тестирование
Обзор
Bizagi предоставляет набор ресурсов, предназначенный для автоматического тестирования процессов Bizagi в средах разработки и тестирования.
Это приносит пользу пользователям Bizagi Studio за счет сокращения времени и ресурсов, используемых при ручной проверке правильности поведения всех путей в рабочем процессе процесса.
Автоматическое тестирование выполняется с помощью отдельного инструмента (называемого), который запускает ранее записанные сценарии без вмешательства пользователя, при этом подтверждая, что любые изменения в реализации процесса не влияют на заданный путь всего рабочего процесса процесса.
На изображении выше показано, как в процессе запроса кредита вы можете создать сценарий для каждого из трех разных путей: когда тип кредита - личный заем, когда это ипотека и когда это автокредит.
И запустите автоматические тесты, чтобы убедиться, что логика маршрутизации, стоящая за этим процессом, работает правильно.
Поддержка HTTP и HTTPS
Autotesting поддерживает подключение к вашим процессам, настроенным по HTTP или HTTPS.
На следующем изображении показано, как автотестирование работает и подключается к вашим процессам (через рабочий портал) при записи сценария:
То есть:
1. Автотестирование развертывает локальную веб-службу (в IIS), в которой размещается служба записи, которая сохраняет сценарий.
2. Через браузер вы загружаете Рабочий портал со своими процессами (через HTTPS или HTTP).
На этом этапе и при записи сценария необходимо настроить локально развернутую службу записи с поддержкой HTTPS, если портал Bizagi Work также использует HTTPS.
Для этого вы можете полагаться на шаги создания / установки сертификата, описанные далее.
Обратите внимание, что даже несмотря на то, что HTTPS поддерживается для локального проекта, обычно это не так актуально, учитывая, что использование автотеста нацелено на среду разработки.
3. Браузер обрабатывает эти запросы, имея их данные и структуру, которые в конечном итоге записываются в файл сценария.
На следующем изображении показано, как автотестирование работает и подключается к вашим процессам (через рабочий портал) при выполнении ранее записанного сценария.
То есть:
Автотестирование полагается на запросы файлов сценария и устанавливает связь (через HTTPS или HTTP) с рабочим порталом для выполнения сценария.
Следующее видео дает краткое объяснение того, как работает автоматическое тестирование:
Автоматическое тестирование
Сценарии
Автоматическое тестирование запускает тесты на основе того, что записано один раз, при ручном создании дела и рассмотрении последовательности любого количества действий на рабочем портале.
Сценарий может включать выполнение процесса от начала до конца или просто представлять часть полного процесса (т.e, начиная с начала, но заканчивая где угодно между ними).
Эти сценарии имитируют поведение конечного пользователя на рабочем портале, отправляя все необходимые данные, ранее записанные на сервер Bizagi.
Инструмент автоматического тестирования позволяет:
▪Создание новых тестовых сценариев.
▪Свяжите тестовый сценарий с существующим.
▪Запускать тестовые сценарии столько раз, сколько определено.
Соображения о том, как работает автоматическое тестирование
• Каждый раз, когда вы выполняете сценарий, Bizagi создает реальный случай в базе данных.
По завершении (независимо от того, обнаружена ошибка или нет), Bizagi отображает идентификатор обращения, чтобы его можно было легко найти на рабочем портале Bizagi. Например, когда при выполнении отображается ошибка, вы можете войти на свой рабочий портал (не через инструмент автоматического тестирования), открыть дело и исследовать ошибку.
• Сценарии должны быть детерминированными.
То есть не должно быть ни приема, ни ввода динамических данных. Bizagi проверит, что данные сценария в точности совпадают с данными, введенными при записи.Если что-то изменится, выполнение не удастся. Если в вашем процессе есть динамические данные (в фиктивных или сгенерированных кодах и т. Д.), Вам необходимо обновить сценарий и добавить файл.
• Этот инструмент доступен для сред разработки и тестирования (не для производственной среды).
• Если вы используете HTTPS на своем сервере Bizagi, убедитесь, что его сертификаты сервера действительны и актуальны.
В противном случае инструмент автоматического тестирования не сможет подключиться к порталу Bizagi Work, потому что сам браузер предотвратит несанкционированный доступ к ненадежному сайту.
• Независимо от того, включена ли опция быстрого входа в Bizagi, инструмент автоматического тестирования будет полагаться на эту опцию при предоставлении доступа тестирующему пользователю.
Напомним, что целью этих тестов не является проверка личности пользователя и безопасный доступ.
Поддерживаемые формы и ограничения
Обратите внимание на следующие примечания о поддерживаемых формах моделирования и других ограничениях, касающихся функций Bizagi.
Подпроцессы.
При записи сценария перейдите в подпроцесс, открыв его с правой панели родительского дела.
Аналогичным образом, чтобы вернуться к родительскому случаю, откройте его с правой панели подпроцесса. Не выполняйте эту навигацию из папки «Входящие».
Таймер событий
Вы можете записывать сценарии, в которых задействованы события таймера. Во время записи инструмент отображает событие таймера на правой панели. Чтобы продолжить запись, имитирующую истечение времени ожидания, щелкните событие «Таймер», а затем.
При воспроизведении инструмент автоматического тестирования проигнорирует время ожидания и продолжит нормальный процесс.
Асинхронные действия (веб-службы, коннекторы).
Вы можете записывать сценарии, в которых задействованы асинхронные действия.
Если в сценарии присутствует какой-либо из этих параметров, инструмент автоматического тестирования разрешит его, игнорируя асинхронное выполнение (асинхронные действия будут выполняться синхронно).
Стартовые формы.
Поддерживаются стартовые формы.
Однако имейте в виду, что если вы остановите сценарий до заполнения стартовой формы, любой новый случай будет сохранен (в соответствии с внутренним определением функции стартовой формы).
В этом случае информация об идентификаторе дела будет отображаться как.
Шаблоны документов, вложения и виджеты.
Вы можете записывать сценарии с помощью шаблонов документов, вложенных файлов или виджетов.
Однако учтите, что создание таких шаблонов документов, загрузка вложений или обработка виджетов не поддерживаются.
Если в сценарии присутствует какая-либо из этих опций, инструмент автоматического тестирования просто проигнорирует их и продолжит.
Это означает, что, несмотря на отсутствие отображения ошибки, любой документ будет создан, файлы не будут сохраняться, а виджеты не будут обрабатываться.
Управление поиском.
Создание новых записей из элемента управления поиском не поддерживается.
Распределение первой задачи.
Процессы, в которых пользователь-создатель не является тем же лицом, которому назначена первая задача, не поддерживаются.
Вам потребуется временно переопределить правило назначения рабочей нагрузки, если вы хотите запустить автоматическое тестирование таких процессов.
Дополнительная информация
• Чтобы узнать, как установить и настроить эту функцию, обратитесь к разделу «Настройка автоматического тестирования».
• Чтобы узнать, как использовать эту функцию, см. Использование автоматического тестирования.
CS107 Использование проверки работоспособности
По сценарию Юлии Зеленски
Зачем мне нужно проверять соответствие выходного сигнала?
Задания оцениваются с помощью автоматизированных инструментов, и небольшие ошибки в форматировании могут привести к неправильной оценке результатов. Чтобы получить должное признание, ваша программа должна соответствовать выходной спецификации, указанной в описании задания, и соответствовать поведению нашего образца исполняемого файла. Незначительные вариации, такие как различное количество пробелов, можно игнорировать, но изменение формата, переупорядочение вывода или оставление посторонней отладочной болтовни помешает автотестеру и приведет к неправильной пометке вашей программы.
Для проверки соответствия выходного сигнала мы предоставляем инструмент проверки работоспособности. Он сравнивает выходные данные вашей программы с выходными данными образца исполняемого файла и сообщает о несоответствиях, что позволяет вам обнаруживать и устранять эти проблемы перед отправкой.
Использование проверки работоспособности
Проверка работоспособности - это инструмент, который вы используете из командной строки, например:
- Войдите в машину с мифом
и
. - Используйте команду
cd
, чтобы перейти в каталог, содержащий файлы вашего проекта. Выполните команду
/ afs / ir / class / cs107 / tools / sanitycheck
Инструмент проверяет соответствие вывода программы в текущем каталоге. Он запускает тесты работоспособности по умолчанию и сравнивает вывод вашей программы с образцом исполняемого файла. Если все совпадают, считается пройденным, в противном случае сообщается о несоответствии.
- Прохождение проверки работоспособности предполагает, что у автотестера не будет проблем с интерпретацией вашего вывода, и это хорошо.Если он не совпадает, вы должны исправить результат, чтобы он соответствовал требуемому формату, иначе вы рискуете потерять кучу очков от безжалостного автотестера. Это вызовет много печали, так как мы не восстанавливаем потерянные баллы за проблемы из-за игнорирования / неудачной проверки работоспособности.
- Вы можете запускать проверку работоспособности сколько угодно раз. Наш инструмент отправки даже побудит одну последнюю проверку перед отправкой.
Использование проверки работоспособности с вашими собственными пользовательскими тестами
Тесты по умолчанию, предоставляемые для проверки работоспособности, могут быть не особенно строгими или исчерпывающими, поэтому вы захотите дополнить их дополнительными тестами.Вы можете создавать собственные входные данные и записывать их в пользовательские тесты, которые будут использоваться инструментом проверки работоспособности. Создайте текстовый файл в этом формате:
# Файл: custom_tests
# ------------------
# Этот файл содержит список пользовательских тестов, запускаемых инструментом проверки работоспособности.
# Каждый пользовательский тест дается в одной строке в формате:
#
# исполняемый аргумент (ы)
#
# Исполняемый файл - это имя запускаемой программы (например, mygrep или mywhich)
# Аргументы необязательны. Если задано, они рассматриваются как последовательность разделенных пробелами
# аргументы командной строки для вызова исполняемой программы.#
# Для каждого пользовательского теста проверка работоспособности будет вызывать вашу исполняемую программу и
# программа решения (с использованием тех же аргументов командной строки), сравните два
# выходов, чтобы проверить, совпадают ли они, и сообщить результат.
#
# Пустые строки и строки комментариев, начинающиеся с #, игнорируются.
#
# Ниже приведен пример пользовательского теста, при желании отредактируйте его.
mygrep FLAGS Makefile
Чтобы запустить пользовательские тесты, вызовите проверку работоспособности с необязательным аргументом, который является именем пользовательского тестового файла
/ afs / ir / class / cs107 / tools / sanitycheck custom_tests
При вызове с аргументом проверка работоспособности будет использовать тестовые примеры из указанного файла вместо стандартных.Для каждого настраиваемого теста, указанного в файле, проверка работоспособности запускает образец решения с заданными аргументами командной строки и фиксирует его выходные данные, затем запускает вашу программу с теми же аргументами, чтобы захватить ее выходные данные, и, наконец, сравнивает два результата и сообщает о любых несоответствиях. . Довольно мило!
Часто задаваемые вопросы о проверке работоспособности
Как я могу воспроизвести / отладить проблему, которая появляется во время проверки работоспособности?
Просмотрите выходные данные проверки работоспособности, чтобы найти выполняемую команду:
Команда:./ mygrep ai / afs / ir / class / cs107 / samples / assign1 / hymn
Выполните ту же команду (в оболочке, gdb или Valgrind), чтобы воспроизвести тестируемую ситуацию. Вы также можете просмотреть содержимое файла (например, файл гимна
в приведенной выше команде), чтобы лучше понять, что тестируется.
Можно ли написать собственный тест для проверки корректности Valgrind или эффективности использования памяти / времени?
Нет. Пользовательские тесты проверки работоспособности сравнивают только на выходе. Вам нужно будет дополнить другие формы тестирования, чтобы проверить эти дополнительные требования.
В чем разница между результатом «НЕПРАВИЛЬНОЕ СООТВЕТСТВИЕ» и результатом «НЕДОСТАТОЧНО» при проверке работоспособности?
Оба являются ошибочными при тестировании, но по несколько разным причинам. MISMATCH указывает, что ваша программа успешно завершилась, но результат, который она произвел, не соответствовал выходным данным, полученным в образце. Сообщение «НЕ ОК» сообщает, что ваша программа не завершилась успешно (завершилась из-за фатальной ошибки или истекло время ожидания) и ее результат не сравнивался с образцом. Независимо от того, сообщается ли сообщение MISMATCH или NOT OK, ошибка проверки работоспособности указывает на наличие проблемы с вашей программой относительно образца в этом конкретном тесте.
Если моя программа прошла проверку на работоспособность, значит ли это, что она идеальна?
Прохождение проверки работоспособности указывает на то, что вы прошли эти конкретные тесты, но ничего кроме этого не предсказывает. Вы получаете более широкий охват, создавая свои собственные тесты. Чем полнее ваши тесты, тем больше у вас будет уверенности в результатах.
И наоборот, если моя программа не проходит проверку работоспособности, я попал в разряд?
Прохождение проверки работоспособности обычно является необходимым условием для хорошего результата аттестации, любые сбои являются поводом для тревоги и должны быть исследованы и устранены перед отправкой.Тем не менее, проверка работоспособности принимает только вывод, который является точным совпадением, и есть несколько ситуаций, таких как допустимая широта в спецификации или эквивалентная переформулировка сообщений об ошибках, где несоответствие на самом деле не является ошибкой, т.е. поведение - допустимая альтернатива образцу, но проверка работоспособности этого не знает. Автотестер передает эти случаи на рассмотрение оценивающей ТА, чтобы определить, являются ли такие несоответствия истинными отказами или безвредными вариациями.
Submit, похоже, ожидает, что моя программа пройдет проверку.Могу ли я жестко запрограммировать свою программу так, чтобы она работала точно / только с этими входами, чтобы она прошла разумно и могла быть отправлена?
Нет. Любая заявка, в которой делается попытка обмануть результаты автоматического тестирования, будет отклонена от оценки и получит 0 баллов. Хотя мы рекомендуем вам устранить все сбои проверки работоспособности перед отправкой, можно отправить программу, которая не проходит проверку работоспособности, просто пропустив проверку работоспособности во время процесса отправки.
7. Автотестирование кода транскрипции - Transcrypt 3.9.0 документация
7.1. Зачем нужен
С самого начала в Transcrypt было добавлено мощное средство автотестирования по следующим причинам:
Любой компилятор языка программирования должен быть надежным, поскольку от него могут зависеть большие вложения в код. Языки и библиотеки должны иметь возможность развиваться без появления регрессионных ошибок. В богатом языке возможно множество конструкций, и все они должны тестироваться с каждой новой версией. Это можно сделать только в том случае, если тестирование автоматизировано.
Поскольку Transcrypt компилирует не весь Python, а довольно обширное подмножество, должно быть строго ясно, что можно скомпилировать, а что нет. Исходный код набора автоматических тестов может быть эффективным средством определения того, что возможно в языке. В то время как примеры кода и документы могут отставать или отклоняться от реальности, тестовый код должен охватывать основные особенности языка и по своей природе постоянно проверяется, чтобы соответствовать последнему статусу языка.
7.2. Как это работает
При тестировании кода требуется ссылка на то, что считается правильным. С Transcrypt эта ссылка - CPython. Автотестирование кода Transcrypt простое и сводится к следующему.
Наряду с разработкой производственного кода, разрабатывается растущий набор из тестлетов . Тестлет - это небольшой модуль, проверяющий определенную функцию или группу функций. Он неоднократно вызывает метод org.transcrypt.autotester.AutoTester.check (self, * args) для построения четко определенной последовательности выходных данных.
Серия тестлетов импортируется в приложение под названием автотест .
Автотест сначала запускается из командной строки: python transcrypt -r autotest . Это сгенерирует файл autotest.html в рабочем каталоге, содержащий последовательность справочных данных , созданную CPython, в HTML DIV.
После этого автотест компилируется в JavaScript: python transcrypt -b autotest . Это сгенерирует файл autotest.js в соответствующем целевом каталоге. Обратите внимание, что вам могут потребоваться дополнительные переключатели командной строки для активации параметров, необходимых для вашего тестового кода, например -c, если вы используете комплексные числа, или -da, если вы используете утверждения.
Щелкните autotest.html , чтобы загрузить автотест в браузер и запустить автотест .js . Это сгенерирует последовательность тестовых данных , теперь использующую среду выполнения Transcrypt.
После этого последовательность тестовых данных автоматически сравнивается с последовательностью контрольных данных, которая была частью html, и в браузере отображается отчет об ошибке.
Пример двух тестлетов, объединенных в автотест «привет», который является частью раздачи:
импорт орг.transcrypt.autotester импорт testlet0 импорт testlet1 autoTester = org.transcrypt.autotester.AutoTester () autoTester.run (testlet0, 'testlet0') autoTester.run (testlet1, 'testlet1') autoTester.done () | def run (автотестер): autoTester.check ('привет') autoTester.check ('мир') | def run (автотестер): autoTester.check ('до свидания') autoTester.check ('луна') |
Шаги для запуска тестов:
transcrypt -r автотест транскрипт -b автотест
На этом этапе, если вы запустите веб-сервер и загрузите автотест .html в вашем браузере с localhost, вы увидите, что все тесты пройдены. Чтобы вызвать ошибку, откройте testlet1.py , найдите goodbye и замените его на badbye . После этого перекомпилируйте с помощью:
Еще раз откройте в браузере autotest.html , он покажет:
Для некоторых тестлетов могут потребоваться дополнительные переключатели. Основной transcrypt autotest, например требует и дополнительных -c -da , поскольку он использует как комплексные числа, так и отладочные утверждения.
Лучшие методы автотеста
Когда команда Chrome OS начала использовать автотест, мы изо всех сил пытались понять, как подогнать наш код и наши тесты к стилю восходящего потока с небольшими рекомендациями и плохой документацией. Это прошло плохо. Оглядываясь назад, мы собираемся изложить некоторые передовые практики, которые мы хотели бы применять в будущем. Во многих случаях существует устаревший код, противоречащий этому стилю; мы должны проанализировать и реорганизовать этот код, чтобы он соответствовал этим рекомендациям, если позволяет время.
Upstream Documentation
На github доступен значительный объем общей документации автотестов: https://github.com/autotest/autotest/wiki
Стиль кодирования
В основном PEP-8. См. Docs / coding-style.md
Где должен находиться мой код?
Тип кода | Относительный путь | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
клиентские тесты | client / site_tests / | |||||||||||||||
серверные тесты | server / site_tests | библиотека client / common_lib / cross / | ||||||||||||||
код библиотеки только для сервера | server / circ |
Написание тестов
Автотест действительно определяется его контрольным файлом.Контрольный файл содержит важные метаданные о тесте (имя, автор, описание, продолжительность, в каком наборе и т. Д.), А затем извлекает и выполняет фактический код теста. Этот тестовый код можно использовать в нескольких различных тестовых примерах, параметризовав его и передав эти параметры из отдельных управляющих файлов.
Автотесты должны :
- Быть автономными: ничего не предполагать о состоянии устройства
- Будьте герметичны: требование доступности Интернета для успешного выполнения теста недопустимо.
- Работайте автоматически: избегайте взаимодействия с пользователем и определения вводимых значений во время выполнения.
- Интеграционные тесты Be: если вы можете протестировать функцию в модульном тесте (или в тесте браузера Chrome), сделайте это.
- Предпочитайте композицию объекта наследованию: избегайте создания подклассов test.test для реализации общих функций для нескольких тестов. Вместо этого создайте класс, который ваши тесты могут создавать для выполнения общих операций. Это позволяет нам писать тесты, которые используют как PyAuto, так и Servo, например, не имея дело с множественным наследованием.
- Будьте детерминированными: тест не должен проверять время выполнения какой-либо операции. Вместо этого напишите тест, который записывает время в ключевых значениях производительности, чтобы мы могли отслеживать цифры с течением времени.
Автотесты не должны :
- Поместите важную логику в управляющий файл: управляющие файлы на самом деле представляют собой просто Python, так что в них можно поместить произвольную логику. Не надо. Запустите свой тестовый код, возможно, с некоторыми параметрами.
Автотесты май :
- Совместное использование параметризованных приборов: тест определяется контрольным файлом.Управляющие файлы импортируют и запускают тестовый код, а также могут передавать простые параметры в код, который они запускают, через четко определенный интерфейс.
Автотест включает в себя тесты как на стороне клиента, так и на стороне сервера. Код в тесте на стороне клиента выполняется только на тестируемом устройстве (DUT) и, как таковой, не способен поддерживать состояние при перезагрузках или обрабатывать неудачные приостановки / возобновления и тому подобное. Если возможно, автотест должен быть написан как тест на стороне клиента. «Серверный» тест выполняется на сервере автотеста, но ему назначается DUT, как и тесту на стороне клиента.Он может использовать различные примитивы автотеста (и код библиотеки, написанный командой CrOS) для управления этим устройством. Большинство, если не все тесты, использующие сервоуправление или удаленное управление питанием, должны быть, например, тестами на стороне сервера.
Добавление теста включает размещение контрольного файла и правильно написанной тестовой оболочки в нужном месте в дереве исходных текстов. Существуют соглашения, которые необходимо соблюдать, и множество примитивов, доступных для использования. При написании любого кода, будь то клиентский тест, серверный тест или библиотека, имейте сильное предубеждение в пользу использования служебного кода автотеста.Это сохраняет целостность кодовой базы.
Написание теста
В этом разделе объясняются соображения и требования для любого автотеста, будь то клиент или сервер.
Управляющие файлы
Документация по апстриму Наши местные соглашения для управляющих файлов автотестов немного отличаются от приведенных выше, но указание на то, какие поля являются обязательными, все еще сохраняется.
Переменная | Обязательное | Значение |
---|---|---|
АВТОР | Да | Строка, разделенная запятыми, по крайней мере, один ответственный инженер и резервный инженер - или, в худшем случае, список рассылки.т.е. AUTHOR = ‘msb, snanda’ |
DEPENDENCIES | № | список тегов, известных тестовой лаборатории HW. |
DOC | Да | Длинное описание теста, критерии прохождения / непрохождения |
НАЗВАНИЕ | Да | Отображаемое название теста. Обычно это каталог, в котором живет ваш тест, например hardware_TPMCheck. Если вы используете несколько вызовов run_test в одном управляющем файле или несколько управляющих файлов с одной тестовой оболочкой в одном наборе, возникают проблемы с отображением имени вашего теста.crossbug.com/35795. Если сомневаетесь, спросите. |
SYNC_COUNT | Нет | Целое число> = 1. Количество одновременных устройств, необходимое для пробного запуска. |
ВРЕМЯ | Да | Продолжительность теста: «БЫСТРЫЙ» (<1 м), «СРЕДНИЙ» (<10 м), «ДЛИННЫЙ» (<20 м), «ДЛИННЫЙ» (> 30 м) |
TEST_TYPE | Да | Клиент или Сервер |
АТРИБУТЫ | Нет | Разделенный запятыми список тегов атрибутов, применяемых к этому управляющему файлу, используемых при составлении пакетов.Например, «сюита: foo, сюита: бар». |
Запуск тестов в наборах
Убедитесь, что имя набора указано в site_utils / attribute_allowlist.txt
, затем добавьте соответствующий атрибут в поле ATTRIBUTES в тестах, составляющих набор тестов. Например:
... АТРИБУТЫ = 'сюита: сюита-а, сюита: сюита-б' ...
будет означать, что указанный выше управляющий файл должен запускаться как часть suite-a
и suite-b
.
Чистый питон
Ложь, обманывай и воруй, чтобы тесты оставались на чистом питоне. Будет легче отлаживать сбои, будет легче генерировать значимые выходные данные об ошибках, будет проще установить и запустить ваши тесты, а команде лаборатории будет проще создавать инструменты, которые позволят вам быстро выполнять итерацию.
Оболочка существующих инструментов командной строки выполняется довольно часто, и это не страшно. Автор теста может столкнуться с необходимостью выполнять большой объем синтаксического анализа вывода, который часто бывает хрупким, но это может быть достойным компромиссом вместо необходимости повторной реализации больших частей функциональности в python.
Обратите внимание, что вам необходимо убедиться, что все используемые вами команды установлены на хосте. Для тестирования на стороне клиента «хост» означает «DUT». Для тестирования на стороне сервера «хост» обычно означает «систему, в которой работает автосервис»; однако, если вы используете SiteHost.run (), команда будет выполняться на DUT. На сервере ваши тесты будут иметь доступ ко всем инструментам, общим как для типичной chroot-среды CrOS, так и для стандартного Goobuntu.
Если вы хотите использовать инструмент в DUT, может быть целесообразно включить его в качестве зависимости пакета chromeos-base / chromeos-test.Это гарантирует, что инструмент предварительно установлен на каждом тестовом образе для каждого устройства и всегда будет доступен для использования. В противном случае инструмент должен быть установлен как «dep» автотеста.
Никогда не устанавливайте собственные сценарии оболочки и не вызывайте их. Все, что вы можете делать в оболочке, вы можете делать в python.
Сообщение об ошибках
Автотест поддерживает несколько видов состояний сбоев:
Статус | Исключение | Причина |
---|---|---|
WARN | Ошибка.Ошибка TestWarn | . TestWarn следует использовать, когда встречаются побочные эффекты для выполнения теста, но не имеют прямого отношения к запуску теста. Например, если вы тестируете сбои Wi-Fi и powerd. В настоящее время нет четких сценариев использования для этого и ошибки. Как правило, следует избегать использования TestWarn до дальнейшего уведомления. |
TEST_NA | error.TestNAError | Этот тест не применяется в текущей среде. |
ОШИБКА | Ошибка.TestError | Тест не смог подтвердить желаемое поведение. |
FAIL | error.TestFail | Тест определил, что желаемое поведение не сработало. |
Рекомендации при написании клиентских тестов
Все клиентские тесты, созданные в Google, должны находиться в подкаталоге client / site_tests дерева исходных текстов автотеста.
### Компиляция и выполнение двоичных файлов
Можно скомпилировать исходный код, включенный в ваш тест, и использовать продукты во время выполнения теста.Инфраструктура сборки скомпилирует этот код для соответствующей целевой архитектуры и упакует его вместе с остальными ресурсами вашего теста, но это увеличит время итерации разработки, поскольку вам нужно будет фактически пересобрать и повторно упаковать свой тест, чтобы развернуть его в Устройство. Хотя мы надеемся улучшить поддержку инструментария для этого варианта использования в будущем, избежать этой проблемы - идеальный вариант.
Если вы не можете этого избежать, вот как скомпилировать и установить ваш код как часть вашего теста:
- Создайте каталог src / рядом с вашим контрольным файлом.
- Поместите ваш источник, включая его Makefile, в src /
- определите метод в вашем тестовом классе под названием «setup (self)», который не принимает аргументов. Установка
- (самостоятельная) должна выполнять все задачи, необходимые для создания вашего инструмента. В client / common_lib / utils.py есть несколько полезных служебных функций. Тривиальный пример:
def setup (self): os.chdir (self.srcdir) utils.make ('OUT_DIR =.')
Повторное использование кода («приборы»)
Любой автотест - это, по сути, однократное использование повторно используемого приспособления для тестирования.Это потому, что run_once () в вашей тестовой оболочке может принимать любые аргументы, которые вы хотите. Таким образом, несколько управляющих файлов могут повторно использовать одну и ту же оболочку - и должны там, где это имеет смысл.
Рекомендации при написании тестов на стороне сервера
Все тесты на стороне сервера, созданные в Google, должны находиться в подкаталоге server / site_tests исходного дерева автотеста.
Должно быть еще проще сохранить серверную часть теста на чистом питоне, так как вы должны просто управлять DUT и проверять состояние.
Когда и зачем писать тест на стороне сервера
Тесты на стороне сервера подходят, когда некоторая операция в тесте не может быть выполнена на DUT. Типичный пример - перезагрузка DUT. Другие примеры включают тесты, которые управляют сетью вокруг DUT (например, тесты WiFi), тесты, которые отключают DUT, и тесты, которые полагаются на сервопривод, подключенный к DUT.
Одним из простых критериев написания теста на стороне сервера является следующий: является ли тестируемое устройство объектом, которым тест должен управлять? Если ответ «да», то проверка на стороне сервера имеет смысл.
Управляющие файлы для серверных тестов
Серверные тесты обычно работают с DUT как с объектом. Автотест представляет DUT с экземпляром класса Host; экземпляр создается и передается в тест из контрольного файла. Создание хост-объекта в управляющем файле может быть выполнено с использованием определенных определений, присутствующих в глобальной среде каждого управляющего файла:
- Функция hosts.create_host () создаст хост-объект из строки с именем хоста (IP-адрес). адрес в виде строки также допустим).
- Переменные машины - это список имен хостов, доступных для тестирования.
Ниже приведен пример фрагмента контрольного файла, который запускает простой тест на стороне сервера параллельно на всех хостах, указанных для теста. Фрагмент представляет собой полный контрольный файл, за исключением отсутствующих шаблонных комментариев и определений документации, необходимых для всех контрольных файлов.
def run (машина): host = hosts.create_host (машина) job.run_test ("platform_ServerTest", host = host) parallel_simple (запуск, машины)
Примечание. В приведенном выше примере используется общепринятое соглашение, согласно которому метод run_once () теста на стороне сервера определяет аргумент с именем host со значением по умолчанию, e.грамм.
def run_once (self, host = None): #… Здесь находится тестовый код.
Операции с объектами Host
Объект Host поддерживает различные методы работы с DUT. Ниже приведен краткий список важных методов, поддерживаемых экземплярами хоста:
- run (команда) - запустить команду оболочки на хосте
- reboot () - перезагрузить хост и дождаться его возвращения в сеть
- wait_up () - дождаться, пока хост станет активным в сети.
- wait_down () - дождаться, пока хост больше не будет в сети или пока не станет известно, что он перезагрузился.
Более подробную информацию, включая более длинный список доступных методов и больше о том, как они работают, можно найти в документации автотеста для автосервиса и в документации автотеста для хоста.
Тесты на основе сервопривода
Для тестов на стороне сервера, в которых используется сервопривод DUT, объект хоста имеет сервоатрибут. Если автотест определяет, что к тестируемому устройству подключен сервопривод, атрибут сервопривода будет действительным экземпляром объекта клиента сервопривода; в противном случае атрибут будет None.
Для тестируемого устройства в лаборатории автотест автоматически определит, доступен ли сервопривод; однако, если для теста требуется серво, его управляющий файл должен иметь дополнительный код, чтобы гарантировать правильно инициализированный сервообъект на хосте.
Ниже приведен фрагмент кода с изложением требований; части управляющего файла для краткости опущены:
# ... Стандартные стандартные назначения переменных ... ЗАВИСИМОСТЬ = "servo_state: РАБОТАЕТ" # ... более стандартный шаблон... # servo_state: WORKING - сервопривод присутствует и может обеспечить требуемую функциональность # servo_state: BROKEN - сервопривод присутствует, но не может обеспечить требуемую функциональность args_dict = utils.args_to_dict (аргументы) servo_args = hosts.SiteHost.get_servo_arguments (args_dict) def run (машина): host = hosts.create_host (машина, servo_args = servo_args) job.run_test ("platform_SampleServoTest", host = host) parallel_simple (запуск, машины)
Настройка ЗАВИСИМОСТИ
гарантирует, что если тест запланирован в лаборатории, он будет назначен тестируемому устройству с сервоприводом.
Установка servo_args
гарантирует две разные вещи: во-первых, она принудительно проверяет правильность работы сервопривода; это гарантирует, что атрибут сервопривода хоста не будет None. Во-вторых, код позволяет передавать необходимые аргументы командной строки сервопривода в
test_that
.
Если контрольный файл теста соответствует приведенной выше формуле, тест можно надежно вызвать различными способами:
- При использовании для хостов в лаборатории сервообъект хоста будет использовать сервопривод, подключенный к хосту, а test может предположить, что сервообъект не None.
- Если вы запускаете сервод вручную на рабочем столе, используя порт по умолчанию, вы можете использовать test_that без каких-либо специальных опций.
- Если вам нужно указать нестандартный хост или номер порта (например, из-за удаленного сервопривода или из-за того, что у вас более одной сервоплаты), вы можете указать их с помощью таких команд:
test_that --args = ”Servo_host = ...”… test_that --args = ”servo_port = ...”… test_that --args = ”servo_host = ... servo_port = ...” ...
Вызов тестов на стороне клиента из теста на стороне сервера
Обычно тесты на стороне сервера должны делать больше с DUT, чем просто запускать короткие команды оболочки.В таких случаях тест на стороне клиента должен быть написан и вызван из теста на стороне сервера. В частности, тестирование на стороне клиента позволяет писать код на стороне клиента на Python, который использует стандартную инфраструктуру автотеста, такую как различные служебные модули или инфраструктуру ведения журналов.
Ниже приведен короткий фрагмент, показывающий стандартную форму для вызова теста на стороне клиента из кода на стороне сервера:
из autotest_lib.server import autotest # ... внутри некоторой функции, например в run_once () client_at = автотест.Автотест (хост) client_at.run_test ("платформа_ClientTest")
Написание кода библиотеки
В базе кода автотеста имеется большое количество кода, специфичного для Chromium OS. Многое из этого существует для предоставления повторно используемых модулей, которые позволяют тестам взаимодействовать с системными службами. Приведенные выше рекомендации применимы и здесь. Этот код должен быть настолько чистым, насколько это возможно, хотя время от времени разумно использовать командную строку. В некоторых случаях мы делали это, когда (теперь) могли напрямую использовать API DBus службы.Если вы добавляете код, позволяющий тестам взаимодействовать с вашей службой, настоятельно рекомендуется по возможности использовать DBus, а не изменять файлы конфигурации напрямую или с помощью инструментов командной строки.
В настоящее время код нашей библиотеки находится во многих местах дерева автотестов. Это связано с плохим начальным пониманием того, как что-то делать, и вместо этого новый код должен следовать следующим соглашениям:
- Используется только в тестах на стороне сервера: server / cross
- Используется как в тестах на стороне сервера, так и на стороне клиента. , или только клиент: client / common_lib / cross
Добавление тестовых зависимостей
Это не относится к необязательному полю DEPENDENCIES
в файлах управления тестами.Скорее, в этом разделе обсуждается, как и когда использовать код / данные / инструменты, которые не предустановлены на тестовых образах и не должны (или не могут) включаться прямо в исходный код теста.
К сожалению, здесь нет жесткого правила. Как правило, если это небольшой инструмент или блок данных, который вам нужен для одного теста, вы должны включить его, как описано выше в разделе «Написание клиентских тестов». Если вы пишете инструмент, и он может быть использован разработчиками, а также в одном или нескольких тестах, которые вы пишете, сделайте его первоклассным проектом CrOS.Напишите ебилд, напишите модульные тесты, а затем по умолчанию добавьте его в тестовый образ. Это можно сделать, выполнив ОТПРАВЛЕНИЕ вашего нового тестового пакета из ebuild-файла chromeos-test.
Если ваш код / данные попадают в середину (полезны для нескольких тестов, а не для разработчиков) и / или имеют большой размер (сотни мегабайт вместо десятков), то правильным выбором может быть использование автотеста «dep». По сути, депо автотеста - это просто еще один вид архива, который инфраструктура автотеста умеет извлекать и распаковывать.Есть два компонента для включения зависимости от автотеста - установка во время сборки и установка на тестируемое устройство при запуске теста. Этап настройки должен запускаться из вашего метода tests setup () следующим образом:
def setup (self): self.job.setup_dep ([‘mydep’]) logging.debug (‘mydep is at% s’% (os.path.join (self.autodir, ‘Deps / mydep’))
Вышеупомянутое запускается, когда вы «создаете» тест.
Другая половина этого уравнения фактически устанавливает зависимость, так что вы можете использовать ее во время выполнения теста.Для этого добавьте следующее в методы run_once или initialize:
dep = dep_name dep_dir = os.path.join (self.autodir, 'deps', dep = dep) self.job.install_pkg (dep, 'dep', dep_dir)
Теперь вы можете ссылаться на содержимое своего депа с помощью dep_dir.
Теперь, когда вы знаете, как включить dep, следующий вопрос - как его написать. Прежде чем читать дальше, вы должны проверить client / deps / *, чтобы увидеть множество примеров deps в нашем дереве автотестов.
Создать депа из стороннего пакета
Уже есть много примеров того, как это сделать в каталоге client / deps. Ключевым компонентом является проверка в архиве версии зависимости, которую вы хотите включить в client / deps / your_dep.
Для всех deps требуется управляющий файл и фактический модуль python с тем же именем. Им также понадобится копия common.py для импорта utils.update_version. И управление, и общие просты, всю магию делает модуль python.
Модуль deps python следует стандартному соглашению: функция настройки и вызов utils.update_version. update_version используется вместо прямого вызова установки, так как поддерживает дополнительную логику управления версиями, гарантируя, что установка выполняется только 1 раз за деп. Ниже приводится сигнатура его метода:
def update_version (srcdir, preserve_srcdir, new_version, install, * args, ** dargs)
Примечательно, что install должен быть указателем на вашу функцию настройки, а * args
должен быть заполнен параметрами для указанной функции настройки.
Если вы используете tarball, ваша функция установки должна выглядеть примерно так:
def setup (tarball, my_dir) utils.extract_tarball_to_dir (архив, my_dir) os.chdir (my_dir) utils.make () # предполагается, что в вашем архиве есть Makefile.
И вы должны вызвать это с помощью:
utils.update_version (os.getcwd (), True, version, setup, tarball_path, os.getcwd ())
Примечание. Разработчик должен вызвать это, потому что def setup - это функция, которую они определяют, которая может принимать любое количество аргументов или устанавливать dep любым способом, который они считают нужным.В приведенном выше примере используются архивы tar, но некоторые из них распространяются как прямой исходный код в каталоге src, поэтому их функция установки принимает только путь верхнего уровня. Мы могли бы избежать этого, принудив к соглашению, но это привело бы к искусственному ограничению механизма deps.
После того, как вы создали dep, вам также нужно будет добавить dep в пакет autotest-deps в chromiumos-overlay / chromeos-base / autotest-deps, «cross_workon start» и заново запустить его.
Создание зависимостей из других пакетов chrome-os
Можно также создавать зависимости автотестов из кода, который живет в других пакетах CrOS, или из продуктов сборки, сгенерированных другими пакетами.Это похоже на приведенное выше, но вы можете ссылаться на код, используя переменную окружения CHROMEOS_ROOT
, которая указывает на корень проверки исходного кода CrOS, или переменную окружения SYSROOT (которая указывает на / build /) для ссылки на продукты сборки. Опять же, прочтите выше. Вот пример первого с файлами, которые мне нужны в chromeos_tree / chromite / my_dep / *, где это будет код Python в модуле autotest / files / client / deps / my_dep / my_dep.py.
импорт обыкновенный, os, shutil из утилит импорта autotest_lib.client.bin версия = 1 def setup (каталог_установки): my_dep_dir = os.path.join (os.environ ['CHROMEOS_ROOT'], 'хромит', 'buildbot') shutil.copytree (my_dep_dir, setup_dir) work_dir = os.