Я аўтаматызаваў тэсціраванне Dr. Web. А ці зможаце вы?
Я ніколі не карыстаўся Dr. Web. Я паняцця не маю, як ён уладкованы. Але гэта не перашкодзіла мне напісаць для яго шэраг аўтатэстаў (і толькі лянота не дазволіла мне напісаць яшчэ сотню іншых):
Тэст на ўстаноўку Dr. Web;
Тэст на абмежаванне доступу да здымных прылад (флэшак);
Тэст на размежаванне доступу да каталога паміж праграмамі;
Тэст на размежаванне доступу да каталога паміж карыстальнікамі сістэмы (бацькоўскі кантроль).
Такія і многія іншыя тэсты можна кляпаць як гарачыя піражкі, і не толькі ў дачыненні да Dr. Web, і не толькі ў дачыненні да антывірусам. У гэтым артыкуле я раскажу, як гэта зрабіць.
Падрыхтоўка
Для тэстаў нам спатрэбіцца віртуалка з Windows на борце. Я падрыхтаваў яе ўручную, выканаўшы на ёй наступныя маніпуляцыі:
Уласна, усталяваў Windows 10 Pro x64;
Падчас усталёўкі стварыў асноўнага карыстача "testo" у паролем "1111";
Уключыў аўталагін для гэтага карыстальніка;
Для аўтаматызацыі тэстаў я буду выкарыстоўваць платформу Testo. Што гэта такое і як гэтым карыстацца можна пачытаць тут. Нам жа зараз патрабуецца імпартаваць гатовую віртуалку ў аўтатэсты. Зрабіць гэта вельмі проста:
Тут мяркуецца, што /path/to/win10.qcow2 - гэта шлях да дыска той віртуалкі, якую я падрыхтаваў уручную. На гэтым падрыхтоўка заканчваецца, і пачынаецца экшэн.
Тэст №1 - Усталёўваны Dr. Web!
Для пачатку трэба вырашыць пытанне з пераносам дыстрыбутыва Dr. Web на віртуальную машыну. Зрабіць гэта можна (напрыклад) з дапамогай флэшкі:
Усё, што нам трэба зрабіць - гэта пакласці ўсталёўшчык Dr. Web у татачку ${DR_WEB_DIR} (дакладнае значэнне гэтага параметра мы будзем задаваць пры запуску testo). А Testo само паклапоціцца аб тым, каб гэты ўсталёўнік апынуўся на флэшцы.
Цяпер можам прыступіць, уласна, да напісання цеста. Пакуль што пачнем тэст з простых рэчаў: уключым віртуалку (пасля стварэння яна будзе выключана), дачакаемся з'яўлення працоўнага стала, уключым флешку і адкрыем яе змесціва праз правадыр:
Скрыншот на момант заканчэння сцэнара
Можна, вядома, запусціць усталёўнік прама адгэтуль, з самай флэшкі. Але мы лепш зробім усё па-чэснаму - мы скапіюем усталёўнік на працоўны стол і запусцім усталёўнік адтуль. Як жа нам скапіяваць файл? А як бы гэта зрабіў чалавек?
Скрыншот, на якім яшчэ адбываецца капіраванне файла
Усё, капіраванне паспяхова завершана! Цяпер можна зачыніць акно з флэшкай і выцягнуць яе:
Скрыншот пасля закрыцця правадыра
Цяпер, калі ўсталёўнік апынуўся на працоўным стале, нам трэба двойчы клікнуць на яго каб запусціць працэс усталёўкі. А сама ўстаноўка зводзіцца да простага пракліквання кнопак і галачак і не ўяўляе вялікай цікавасці:
Скрыншот на момант заканчэння ўстаноўкі
Завяршаем наш тэст перазагрузкай. І ў канцы не забудземся праверыць, што пасля перазагрузкі на працоўным стале з'явілася абразок з Dr. Web:
Скрыншот пасля перазагрузкі
Выдатная праца! Мы аўтаматызавалі ўстаноўку антывіруса Dr. Web! Давайце крыху перадыхнём і паглядзім, як гэта выглядае ў дынаміцы:
Пераходзім да тэставання фіч.
Тэст №2 — Абмежаванне доступу да флэшак
Першая фіча па спісе - абмежаванне доступу да флэшак. Для гэтага сплануем даволі прамалінейны тэст:
Паспрабуем уставіць флешку і стварыць там пусты файл - павінна атрымацца. Выцягнем флешку;
Уключым блакіроўку здымных прылад у Dr. Web Security Center;
Яшчэ раз уставім флешку і паспрабуем выдаліць створаны файл. Дзеянне павінна быць заблакіравана.
Створым сабе новую флешку, уставім яе ў Windows і паспрабуем стварыць тэчку. Што можа быць прасцей?
Скрыншот на момант заканчэння сцэнара
Ствараем новы тэкставы файл праз кантэкстнае меню правадыра:
Скрыншот пасля перайменавання файла
Адключаем флешку, які робіцца гэта бяспечна:
Цяпер мы пераканаліся, што з флэшкай працаваць можна, а значыць можна прыступаць да яе блакіроўкі ў цэнтры бяспекі Dr. Web. Для гэтага спачатку трэба адкрыць цэнтр бяспекі:
Скрыншот з акном Security Center
Можам заўважыць, што для адкрыцця любога прыкладання ў Windows трэба выканаць фактычна аднолькавыя дзеянні (клікнуць на радок пошуку, дачакацца з'яўленні акна з папулярнымі прыкладаннямі, убіць імя які цікавіць прыкладанні, дачакацца, калі яно з'явіцца ў спісе і, нарэшце, націснуць Enter). Таму гэтую групу дзеянняў можна вылучыць у макрас. open_app, у які ў якасці параметру будзе перадавацца імя адчынянага прыкладання:
Гэты макрас нам яшчэ спатрэбіцца.
Першае, што мы зробім, адкрыўшы цэнтр бяспекі Dr. Web - уключым магчымасць уносіць змены:
Зараз крыху паклікаем па менюшкам і зойдзем у меню "Configure device access rules". У гэтым меню паставім галачку ў пункце "Block removable media".
Скрыншот з акном Devices and Personal Data
Паспрабуем адкрыць флешку зараз:
Скрыншот з паведамленне пра памылку
Вось так паволі-полегоньку мы і напісалі першы тэст з тэставаннем цалкам якая адчуваецца фічы ў Dr. Web. Надышоў час перадыхнуць і памедытаваць, гледзячы на вынікі нашых прац:
Тэст №3 — Размежаванне доступу да каталога паміж праграмамі
Асноўная ідэя гэтага тесткейса - праверыць працу Dr. Web пры абмежаванні доступу да вызначанай тэчкі. Калі канкрэтна, тое неабходна абараніць тэчку ад якія-небудзь змен, але дадаць выключэнне для якой-небудзь іншай праграмы. Уласна, сам тэст выглядае наступным чынам:
Усталюем на АС іншую праграму, для якой крыху пазней дадамо выключэнне пры доступе да абароненай тэчкі. Сёння іншая праграма дня - файлавы менеджэр FreeCommander;
Ствараем тэчку з файлікам, якую будзем абараняць усімі сіламі;
Адкрыем цэнтр бяспекі Dr. Web і ўключым там абарону гэтай тэчкі;
Наладзім выключэнне для FreeCommander;
Паспрабуем выдаліць файл з абароненай тэчкі звычайным спосабам (праз правадыр Windows). Не павінна атрымацца;
Паспрабуем выдаліць файлік праз FreeCommander. Павінна атрымацца.
Ух, шмат працы. Хутчэй пачнем - хутчэй скончым.
Пункт першы, усталёўка FreeCommander не моцна адрозніваецца ад усталёўкі Dr.Web. Звычайная руціна: уставілі флешку, запусцілі ўсталёўнік і гэтак далей. Прапусцім гэта і пяройдзем адразу да цікавага.
Калі ўсё ж цікава, як усталяваць FreeCommander
Пачнём з простага: створым флешку, у якую змесцім дыстрыбутыў FreeCommander, а затым у цесцю ўставім флешку ў АС і адкрыем яе:
Далей некалькі не клікаў каб запусціць усталёўку:
Усталёўка не вельмі цікавая, проста клікаем усюды "Далей", а ў канцы не забываем адключыць галачкі з праглядам ReadMe і неадкладным запускам FreeCommander
Сканчаем тэст, зачыняючы ўсе вокны і выцягваючы флешку
Гатова!
Для працы з Dr. Web створым новы тэст dr_web_restrict_program, які будзе спадзявацца на вынік працы папярэдняга тэсту win10_install_freecommander.
Пачнём тэст са стварэння тэчкі Protected на працоўным стале:
Скрыншот пасля стварэння тэчкі
Заходзім у тэчку Protected і ствараем тамака файл my_file.txt, які будзе гуляць ролю які абараняецца файла:
Ох, трэба было б таксама аформіць гэта ў выглядзе макраса, ну ды добра…
Скрыншот пасля стварэння файла
Выдатна, зараз трэба ўключыць абарону тэчкі. Ідзем знаёмай дарожкай і адчыняем Dr. Web, не забываем уключыць рэжым змен. Пасля чаго пераходзім у меню "Data Loss Prevention".
Скрыншот з акном Data Loss Prevention
Трохі папрацуем мышкай і дадамо нашу тэчку Protected у спіс якія абараняюцца:
Скрыншот з майстрам дадання якая абараняецца тэчкі
Ну а зараз трэба наладзіць выключэнне па доступе да тэчкі для FreeCommander. Яшчэ крыху працы мышкай:
Скрыншот з дададзенай праграмай-выключэннем
Цяпер акуратна закрываем усе вокны і спрабуем выдаліць файл "my_file.txt" стандартным спосабам:
Скрыншот з паведамленнем ад Dr.Web
Але нічога не атрымалася - значыць Dr. Web сапраўды адпрацаваў! Палова тэсту ззаду, але нам яшчэ трэба праверыць, што будзе працаваць выключэнне для FreeCommander. Для гэтага адчыняны FreeCommander і пераходзім у тэчку Protected:
Скрыншот з акном FreeCommander
Ну і паспрабуем выдаліць файл my_file.txt:
Скрыншот пасля выдалення файла
Выключэнне для FreeCommander працуе!
Выдатная праца! Вялікі і складаны тесткейс - і ўсё аўтаматызавана. Трохі расслабона:
Тэст №4 - Бацькоўскі кантроль
Гэты апошні на сёння тесткейс мы пабудуем наступным чынам:
Створым новага карыстальніка MySuperUser;
Залагінімся пад гэтым карыстальнікам;
створым файл my_file.txt ад імя новага карыстальніка;
Адкрыем цэнтр бяспекі Dr. Web і ўключым бацькоўскі кантроль для гэтага файла;
У бацькоўскім кантролі абмяжуем правы карыстача MySuperUser на ім жа створаны файл;
Паспрабуем прачытаць і выдаліць файл my_file.txt ад імя MySuperUser і паглядзім на вынік.
Я не буду прыводзіць тут сцэнар цеста. Ён будуецца па тым жа прынцыпу, што і папярэднія тэсты: актыўна працуем мышкай і клавіятурай. Пры гэтым нам не важна, што мы аўтаматызуем - хоць Dr.Web, хоць стварэнне новага карыстальніка ў Windows. Але давайце ўсё ж паглядзім, як будзем выглядаць прагон такога цеста:
Больш за тое, усе гэтыя тэсты Вы можаце прагнаць на сваёй машыне. Для гэтага Вам запатрабуецца інтэрпрэтатар тэставых сцэнараў Testo. Спампаваць яго можна тут.
Dr. Web аказаўся нядрэннай трэніроўкай, але натхненне для далейшых подзвігаў я хацеў бы запазычыць з Вашых пажаданняў. Пішыце ў каментарах свае прапановы аб тым, якія аўтатэсты Вы б хацелі ўбачыць у будучыні. У наступным артыкуле я паспрабую іх аўтаматызаваць, паглядзім, што з гэтага выйдзе.