<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8226300894599246881</id><updated>2011-11-11T16:03:38.596+02:00</updated><category term='сертификация'/><category term='методологии разработки'/><category term='отзывы'/><category term='полезное'/><category term='Lessons Learned in Software Testing'/><category term='видео'/><category term='автоматизация'/><category term='sqa'/><category term='персонал'/><category term='развитие'/><category term='риски'/><category term='модели ЖЦПО'/><category term='ISTQB'/><category term='обучение'/><category term='обзоры'/><category term='конференции'/><category term='стандарты'/><category term='фотографии'/><category term='тест-менеджмент'/><category term='вехи'/><title type='text'>SQAdotBY</title><subtitle type='html'>Блог команды борцов за качество программного обеспечения</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>55</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-5555924534786022606</id><published>2009-07-06T17:33:00.006+03:00</published><updated>2009-07-07T10:51:33.902+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sqa'/><category scheme='http://www.blogger.com/atom/ns#' term='обзоры'/><category scheme='http://www.blogger.com/atom/ns#' term='стандарты'/><title type='text'>Quick look на системы стандартизации. Другие стандарты</title><content type='html'>Предлагаю закончить с системами стандартизации :)&lt;br /&gt;Чтобы не складывалось ощущение, что на ГОСТ-ах, ISO и CMMI системы стандартизации закончились, приведем еще несколько примеров и краткую информацию по ним.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;b&gt;ASTM International&lt;/b&gt; — международная добровольная организация, разрабатывающая и издающая стандарты для материалов, продуктов, систем и услуг.&lt;br /&gt;&lt;br /&gt;Основана в 1898 г. в США и первоначально занималась стандартами для железных дорог.&lt;br /&gt;&lt;br /&gt;Сегодня ASTM поддерживает около 12000 стандартов. Стандарты проверяются и переиздаются не реже, чем раз в пять лет.&lt;br /&gt;&lt;br /&gt;Следование этим стандартам добровольное. В США правительство настоятельно рекомендует использовать эти стандарты везде, где это возможно.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Международная электротехническая комиссия&lt;/b&gt; (МЭК; англ. International Electrotechnical Commission, IEC) — международная организация по стандартизации в области электрических, электронных и смежных технологий. Некоторые из стандартов МЭК разрабатываются совместно с Международной организацией по стандартизации (ISO).&lt;br /&gt;&lt;br /&gt;МЭК составлена из представителей национальных служб стандартов. МЭК была основана в 1906 году и в настоящее время в её состав входят более 60 стран. Первоначально комиссия была расположена в Лондоне, с 1948 года имеет штаб в Женеве.&lt;br /&gt;&lt;br /&gt;МЭК способствовала развитию и распространению стандартов для единиц измерения, особенно гаусса, герца, и вебера. Также комиссия МЭК предложила систему стандартов, которая в конечном счёте стала единицами СИ. В 1938 году был издан международный словарь с целью объединить электрическую терминологию. Эти усилия продолжаются и Международный электротехнический словарь остаётся важной работой в электрических и электронных отраслях промышленности.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Институт инженеров электротехники и электроники — IEEE&lt;/b&gt; (англ. Institute of Electrical and Electronics Engineers) — международная некоммерческая ассоциация специалистов в области техники, мировой лидер в области разработки стандартов по радиоэлектронике и электротехнике.&lt;br /&gt;&lt;br /&gt;IEEE издает третью часть технической литературы, касающейся применения компьютеров, управления, электроинженерии, в том числе (январь 2008) 102 реферируемых научных журнала и 36 отраслевых журналов для специалистов, проводит в год более 300 крупных конференций, принимала участие в разработке около 900 действующих стандартов.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;P.S.&lt;/b&gt; Очевидно, что приведенные примеры как-то слабо связаны со стандартами разработки ПО, за исключением IEEE.&lt;br /&gt;Поэтому, если у кого-то есть примеры, более близкие к нашей с вами отрасли работы, буду признательна, если поделитесь.&lt;br /&gt;Ну и наоборот, если сама что-то буду встречать, тоже обязательно напишу!&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(255, 0, 0);"&gt;UPD:&lt;/b&gt;&lt;br /&gt;Очень полезный комментарий от Алексея Баранцева (для тех, кто не читает комменты, и просто для наглядности):&lt;br /&gt;&lt;i&gt;"За что IEEE обидели? IEEE Computer Society (&lt;a href="www.computer.org"&gt;www.computer.org&lt;/a&gt;) издаёт замечательные журналы. Стандарты их тоже очень даже связаны с разработкой ПО, и даже иногда с тестированием, вспоминаем IEEE 829 Standard for Software Test Documentation."&lt;/i&gt;&lt;br /&gt;Спасибо, Алексей!&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Всегда ваша,&lt;br /&gt;Наташа Искорцева&lt;/i&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-5555924534786022606?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/5555924534786022606/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=5555924534786022606' title='Комментарии: 7'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/5555924534786022606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/5555924534786022606'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/07/quick-look.html' title='Quick look на системы стандартизации. Другие стандарты'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-3725895521162925906</id><published>2009-07-02T16:29:00.006+03:00</published><updated>2009-07-02T17:14:56.773+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sqa'/><category scheme='http://www.blogger.com/atom/ns#' term='обзоры'/><category scheme='http://www.blogger.com/atom/ns#' term='стандарты'/><title type='text'>Quick look на системы стандартизации. CMMI</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_N18ZDLq5XX0/Sky397qvyHI/AAAAAAAAAJg/37Zt_E-aU6A/s1600-h/CMMI-logo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 188px; height: 153px;" src="http://1.bp.blogspot.com/_N18ZDLq5XX0/Sky397qvyHI/AAAAAAAAAJg/37Zt_E-aU6A/s200/CMMI-logo.png" alt="" id="BLOGGER_PHOTO_ID_5353856331653564530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;И снова здравствуйте!&lt;br /&gt;Предлагаю продолжить обозревать системы стандартизации. И на этот раз вашему вниманию предлагается CMMI.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;b&gt;Модель зрелости процесса разработки&lt;/b&gt; (Capability Maturity Model) создана в Software Engineering Institute. &lt;b&gt;CMM&lt;/b&gt; – это не технология, а средство оценки, используемое для определения зрелости технологии в организации по пятибалльной шкале.&lt;br /&gt;&lt;br /&gt;CMM дает очень подробный обзор всего, что могло бы (но необязательно должно; это зависит от специфики проекта и организации) быть частью процесса разработки или дополнения программы в зрелой организации. К сожалению, многие организации и CMM-оценщики интерпретируют это в том смысле, что чем больше артефактов и задач используется (приравнивание к высокой формализованности), тем лучше процесс. Однако прибавление к процессу ненужных артефактов и задач просто для того, чтобы получить более высокую оценку по шкале SEI CMM, ведет к перегрузке процесса, который становится громоздким и неэффективным. Из-за чрезмерного акцента на рецензировании, инспектированиях, традиционных задачах по оценке качества и подробном планировании CMM имеет нежелательный эффект, заключающийся в поощрении использования каскадного, а не итеративного подхода, поскольку он не заставляет определять проблемы на ранних стадиях и проводить интеграцию и тестирование непрерывно.&lt;br /&gt;&lt;br /&gt;Чтобы разрешить эту проблему, SEI (Software Engineering Institute) была предложена &lt;b&gt;SEI CMMI&lt;/b&gt; (Capability Maturity Model Integration), которая более эффективно приспособлена к лучшему современному опыту, такому как проведение управляемой рисками разработки и итеративный подход. Вместо поощрения создания большей формализованности (как это делается в CMM), CMMI поощряет пользователей делать акцент на отдельных областях для улучшений, которые лучше всего отвечают деловым целям организации и минимизируют присущие организации области риска.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;Уровни зрелости&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(255, 0, 0);"&gt;Уровень 1&lt;/b&gt;: &lt;b&gt;Начальный, нулевой уровень.&lt;/b&gt; Работники действуют исхода из своих личных представлений о целях работы. Отсутствуют внутренние регулирующие документы. Действия не документируются, бизнес-знания не отделены от работников (знания пропадают при увольнении работников). Бизнес-процессы в организации не описаны и, соответственно, не классифицированы. Деятельность компании непрозрачна даже для основного персонала.&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(255, 0, 0);"&gt;Уровень 2&lt;/b&gt;: &lt;b&gt;Уровень осознания.&lt;/b&gt; Руководство компании решило превзойти начальный уровень. Появляются внутренние стандарты, описывающие основные бизнес-процессы компании. Возникает повторяемость: выполнение новых проектов основывается на опыте выполнения предыдущих проектов.&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(255, 0, 0);"&gt;Уровень 3&lt;/b&gt;: &lt;b&gt;Уровень управляемости.&lt;/b&gt; В организации задокументированы и стандартизированы все бизнес-процессы. Система управления оказывается отделенной от всего персонала организации, т.е. появляется внутренний «свод законов». Этим законам следует весь персонал организации, включая топ-менеджмент.&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(255, 0, 0);"&gt;Уровень 4&lt;/b&gt;: &lt;b&gt;Уровень измеряемости.&lt;/b&gt; В компании вводится количественная система оценки эффективности бизнес-процессов (используются как финансовые, так и натуральные показатели). Одновременно используется та или иная система оценки работы персонала, например, система ключевых показателей. Обе системы, описание бизнес-процессов и оценки персонала синхронизированы между собой - эффективная деятельность компании приводит к стимулированию персонала.&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(255, 0, 0);"&gt;Уровень 5&lt;/b&gt;: &lt;b&gt;Уровень совершенствования.&lt;/b&gt; На основе анализа количественных показателей в компании проводится корректировка (реинжиниринг) бизнес-процессов. Коррекции отражаются во внутренних документах. Важно то, что процесс коррекции носит постоянный, системный характер.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;Разница ISO и CMM&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ISO&lt;/b&gt; - это стандарт качества любых процессов, будь то выпуск мороженного или разработка программного обеспечения, а &lt;b&gt;CMM&lt;/b&gt; - модель качества, специально соотнесенная с процессом разработки ПО. &lt;b&gt;CMM&lt;/b&gt; - большой многоступенчатый стандарт качества, охватывающий весь цикл разработки программного обеспечения: от проектирования и до внедрения. Он годится и для оптимизации и для улучшения качества выпускаемого ПО.&lt;br /&gt;&lt;br /&gt;CMMI Online Browser: &lt;a href="http://www.blogger.com/www.cmmi.de"&gt;www.cmmi.de&lt;/a&gt;&lt;br /&gt;Еще о CMMI можно читать &lt;a href="http://www.sei.cmu.edu/cmmi/"&gt;на сайте самого SEI&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Всегда ваша,&lt;br /&gt;Наташа Искорцева&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-3725895521162925906?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/3725895521162925906/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=3725895521162925906' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3725895521162925906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3725895521162925906'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/07/quick-look-cmmi.html' title='Quick look на системы стандартизации. CMMI'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_N18ZDLq5XX0/Sky397qvyHI/AAAAAAAAAJg/37Zt_E-aU6A/s72-c/CMMI-logo.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-4694159980001304587</id><published>2009-06-29T09:24:00.011+03:00</published><updated>2009-06-29T10:05:53.047+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='автоматизация'/><title type='text'>QTP: DP в 60-ти простых слайдах</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/SkhhsnqKs9I/AAAAAAAAAJY/7thtjrJntBw/s1600-h/DP+in+60+slides.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/SkhhsnqKs9I/AAAAAAAAAJY/7thtjrJntBw/s200/DP+in+60+slides.JPG" alt="" id="BLOGGER_PHOTO_ID_5352635576317817810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Автор: Yaron Assa&lt;br /&gt;Перевод: Сергей Талалаев (&lt;a href="http://sqadotby.blogspot.com/2009/06/dp-60.html"&gt;SQAdotBY&lt;/a&gt;)&lt;br /&gt;Оригинальная публикация: &lt;a href="http://www.advancedqtp.com/knowledge-base/articles/qtp-tricks4/descriptive-programming/dp-101-slides/"&gt;DP in 60 slides&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Расширяя и углубляя сотрудничество с ресурсом &lt;a href="http://advancedqtp.com/"&gt;AdvancedQTP.com&lt;/a&gt; и с разрешения автора, хотел бы представить вниманию коллег &lt;a href="http://www.slideshare.net/yassa/qtp-descriptive-programming-russian?type=powerpoint"&gt;перевод&lt;/a&gt; очень полезной презентации с данного сайта.&lt;br /&gt;&lt;br /&gt;В рамках данной небольшой презентации автор умудрился разложить по полочкам ключевые моменты Дескрипторного Программирования (DP) применяемого в QTP. Причем сделал это с драйвом и без лишней воды.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Сейчас для меня эти принципы кажутся настолько же очевидными и понятными насколько они были туманны и запутанны в момент начала изучения QTP :) Именно для того, чтобы сократить путь от тумана к полной ясности я перевел эту презентацию и уверен, что она вас не разочарует.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-4694159980001304587?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/4694159980001304587/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=4694159980001304587' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/4694159980001304587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/4694159980001304587'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/06/dp-60.html' title='QTP: DP в 60-ти простых слайдах'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_N18ZDLq5XX0/SkhhsnqKs9I/AAAAAAAAAJY/7thtjrJntBw/s72-c/DP+in+60+slides.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-8885917340872119327</id><published>2009-06-19T17:10:00.004+03:00</published><updated>2009-06-19T17:55:40.938+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='вехи'/><category scheme='http://www.blogger.com/atom/ns#' term='ISTQB'/><title type='text'>BYSTQB быть!!!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/SjucfkN-7-I/AAAAAAAAAJQ/5Db_4Prm3pk/s1600-h/Viena_1.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SjucfkN-7-I/AAAAAAAAAJQ/5Db_4Prm3pk/s200/Viena_1.JPG" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 132px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SjucfkN-7-I/AAAAAAAAAJQ/5Db_4Prm3pk/s200/Viena_1.JPG" alt="" id="BLOGGER_PHOTO_ID_5349041048544800738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Уважаемые коллеги, наконец свершилось событие, к которому мы так упорно стремились.&lt;br /&gt;Cегодня в Вене была официально утверждена белорусская коллегия тестировщиков - &lt;b&gt;BySQTB&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Спасибо всем, кто вместе с нами работал над осуществлением этого проекта. Надеемся, что наше успешное сотрудничество продолжится и в дальнейшем.&lt;br /&gt;&lt;br /&gt;Утверджение нашей коллегии дает нам шанс не только получить доступ к сертификационным, тренинговым, информационным и другим ресурсам в рамках ISTQB, но также (что гораздо важнее) выступает катализатором формирования профессионального сообщества тестировщиков в нашей стране.&lt;br /&gt;&lt;br /&gt;Мы уверены, что вместе нам по силам многие амбициозные проекты :)&lt;br /&gt;&lt;br /&gt;&lt;i&gt;С уважением,&lt;br /&gt;команда SQAdotBY&lt;/i&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-8885917340872119327?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/8885917340872119327/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=8885917340872119327' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/8885917340872119327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/8885917340872119327'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/06/bystqb_19.html' title='BYSTQB быть!!!'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_N18ZDLq5XX0/SjucfkN-7-I/AAAAAAAAAJQ/5Db_4Prm3pk/s72-c/Viena_1.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-1119977382955025099</id><published>2009-06-12T14:17:00.003+03:00</published><updated>2009-06-12T14:25:34.871+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ISTQB'/><title type='text'>На шаг ближе к основанию BySTQB</title><content type='html'>9-го июня 2009 года в 18:00, в конференц-зале, любезно предоставленном компанией Exigen Services, состоялось очередное собрание инициативной группы по созданию национального представительства ISTQB в Беларуси.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Инициативная группа присутствовала на встрече в практически полном составе: Наталья Искорцева, Сергей Талалаев, Алексей Мартынюк, Ирина Тетерук, Алексей Лемешев, Александр Воронович, Сергей Ревко, Сергей Полаженко.&lt;br /&gt;&lt;br /&gt;Основной  целью собрания стало обсуждение текущих вопросов, связанных с регистрацией BySTQB, и подготовка к встрече с представителями заинтересованных компаний.&lt;br /&gt;Во время собрания был повторно вынесен на обсуждение текст Конституции создаваемой национальной коллегии ISTQB, предварительно оговорена процедура принятия новых членов группы, описанная в 3-м подразделе Конституции. Инициативная группа рассмотрела варианты взаимодействия с ПВТ, в рамках их предложения о сотрудничестве, а также регламент встречи с представителями заинтересованных компаний. На повестке дня была озвучена ближайшая задача группы после создания национальной коллегии BySTQB по переводу на русский язык Syllabus-a – программы сертификации базовго уровня тестировщиков ПО.&lt;br /&gt;&lt;br /&gt;В результате встречи было решено окончательно согласовать текст Конституции национальной коллегии ISTQB, а также провести встречу с заинтересованными представителями компаний.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: right;"&gt;&lt;span class="fullpost"&gt;&lt;span style="font-style: italic;"&gt;По материалам новости от&lt;br /&gt;Ирины Тетерук и Сергея Полаженко,&lt;br /&gt;опубликованной на ресурсе &lt;a href="http://www.sqa.by/index.php?option=com_content&amp;amp;view=article&amp;amp;id=17:2009-05-29-12-23-09"&gt;www.sqa.by&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-1119977382955025099?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/1119977382955025099/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=1119977382955025099' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1119977382955025099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1119977382955025099'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/06/bystqb_12.html' title='На шаг ближе к основанию BySTQB'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-1514704202933792452</id><published>2009-06-11T14:27:00.003+03:00</published><updated>2009-06-11T14:57:39.872+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sqa'/><category scheme='http://www.blogger.com/atom/ns#' term='обзоры'/><category scheme='http://www.blogger.com/atom/ns#' term='стандарты'/><title type='text'>Quick look на системы стандартизации. ISO</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/SjDw2vZhLwI/AAAAAAAAAJI/5dtoTK7TVHU/s1600-h/ISO.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 54px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SjDw2vZhLwI/AAAAAAAAAJI/5dtoTK7TVHU/s200/ISO.jpg" alt="" id="BLOGGER_PHOTO_ID_5346037580915879682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Доброго времени суток, коллеги.&lt;br /&gt;Снова вернемся к стандартам - на этот раз пройдемся по ISO и сделаем небольшой обзор.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;b&gt;Международная организация по стандартизации&lt;/b&gt; (International Organization for Standardization, ISO) — международная организация, занимающаяся выпуском стандартов.&lt;br /&gt;&lt;br /&gt;Международная организация по стандартизации создана в 1946 двадцатью пятью национальными организациями по стандартизации. Фактически её работа началась с 1947. СССР был одним из основателей организации, постоянным членом руководящих органов, дважды представитель Госстандарта избирался председателем организации.&lt;br /&gt;&lt;br /&gt;При создании организации и выборе её названия учитывалась необходимость того, чтобы аббревиатура наименования звучала одинаково на всех языках. Для этого было решено использовать греческое слово isos — равный, вот почему на всех языках мира Международная организация по стандартизации имеет краткое название ISO (ИСО).&lt;br /&gt;&lt;br /&gt;Сфера деятельности ИСО касается стандартизации во всех областях, кроме электротехники и электроники, относящихся к компетенции Международной электротехнической комиссии (МЭК, IEC). Некоторые виды работ выполняются совместными усилиями этих организаций. Кроме стандартизации ИСО занимается проблемами сертификации.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ИСО определяет свои задачи следующим образом&lt;/b&gt;: содействие развитию стандартизации и смежных видов деятельности в мире с целью обеспечения международного обмена товарами и услугами, а также развития сотрудничества в интеллектуальной, научно-технической и экономической областях.&lt;br /&gt;&lt;br /&gt;По ISO, &lt;b&gt;качество&lt;/b&gt; - это полнота свойств и характеристик продукта, процесса или услуги, которые обеспечивают способность удовлетворять заявленным или подразумеваемым потребностям.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;ISO 9000&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ISO 9000&lt;/b&gt; — серия международных стандартов ISO, регламентирующих управление качеством на предприятиях.&lt;br /&gt;&lt;br /&gt;Система стандартов разработана Международной Организацией по Стандартизации (ISO, International Organization for Standardization), которая основывалась на разработках Британского института стандартов BS 5750.&lt;br /&gt;&lt;br /&gt;Стандарты ISO 9000, принятые более чем 90 странами мира, применимы к любым предприятиям, независимо от их размера и сферы деятельности. Сама ISO не производит сертификацию по ISO 9000, этим занимаются специально сформированные аудиторские организации в отдельных странах. Фактически сертификация производится не по ISO 9000, а по спецификации &lt;b&gt;ISO 9001:2000&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Сертификат ISO 9000 необходим предприятиям&lt;/b&gt;:&lt;br /&gt; * работающим на международных рынках или с международными поставщиками, которые требуют наличия такого сертификата;&lt;br /&gt; * работающим в секторах экономики, регулируемых правительством, или с правительственными организациями стран, в которых наличие сертификата ISO 9000 является обязательным.&lt;br /&gt;&lt;br /&gt;В некоторых странах предприятия должны иметь сертификат ISO 9000 для того, чтобы предлагать свою продукцию не только правительственным организациям, но и потребителям определённых сегментов.&lt;br /&gt;&lt;br /&gt;Стандарт &lt;b&gt;не гарантирует качество&lt;/b&gt; продукции.&lt;br /&gt;&lt;b&gt;Цель ISO 9000&lt;/b&gt; — внести согласованность и объективность в действия системы контроля качества поставщика. Предполагается, что ISO 9000 будет использоваться в отношениях между компаниями, обычно в форме потребитель/поставщик. Стандарт помогает компаниям формализовать их систему управления процессом проверки качества и соответствия продукции.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;Версии ISO 9000&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;В действительности ISO 9000 объединяет три стандарта:&lt;br /&gt; * ISO 9000:2005 — Системы менеджмента качества. Основные положения и словарь&lt;br /&gt; * ISO 9001:2000 — Системы менеджмента качества. Требования&lt;br /&gt; * ISO 9004:2000 — Системы менеджмента качества. Рекомендации по улучшению деятельности&lt;br /&gt;&lt;br /&gt;К стандартам этой серии также можно отнести ISO 19011:2003 — Рекомендации по аудиту систем менеджмента качества и/или охраны окружающей среды.&lt;br /&gt;&lt;br /&gt;Конечные цифры в обозначении версии стандарта соответствуют году принятия, например:&lt;br /&gt; * ISO 9000:1987 — совпадал с BS 5750, определял три модели управления качеством.&lt;br /&gt; * ISO 9000:1994&lt;br /&gt; * ISO 9000:2000&lt;br /&gt;&lt;br /&gt;В основу построения организационной системы по ISO 9000-2000 закладываются следующие принципы:&lt;br /&gt; * Концентрация на потребностях заказчика.&lt;br /&gt; * Активная лидирующая роль руководства.&lt;br /&gt; * Вовлечение исполнителей в процессы совершенствования.&lt;br /&gt; * Реализация процессного подхода.&lt;br /&gt; * Системный подход к управлению.&lt;br /&gt; * Обеспечение непрерывных улучшений.&lt;br /&gt; * Принятие решений на основе фактов.&lt;br /&gt; * Взаимовыгодные отношения с поставщиками.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;Защита от дурака&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;В европейском бизнес-сообществе считается, что наличие сертификации ISO подтверждает безупречную организацию бизнес-процесса в фирме на всех его стадиях - от проектирования деятельности до послепродажного обслуживания и информационного обеспечения.&lt;br /&gt;&lt;br /&gt;Так называемая философия управления качеством ISO требует, чтобы были устранены причины, которые привели к изготовлению некачественной продукции. Ведь невозможно гарантировать высокое качество продукции, если после обнаружения недостатков не выявлена и полностью не устранена причина их возникновения.&lt;br /&gt;&lt;br /&gt;А главной причиной брака в работе обычно являются чьи-то неправильные действия. Чтобы их не допустить или по крайне мере свести к минимуму, согласно философии ISO нужно формализовать все процессы. То есть &lt;i&gt;описать в специальных документах их алгоритм&lt;/i&gt;. Ведь управлять и вмешиваться в технологию можно только в том случае, когда процессы формализованы и документированы.&lt;br /&gt;&lt;br /&gt;Если вы руководитель и при этом уверены, что все ваши подчиненные без всякой сертификации понимают, что, когда и в каком порядке нужно делать, - вы наверняка ошибаетесь. Всем людям хотя бы время от времени нужны инструкции для достижения однозначного понимания выполняемых функций, сокращения эмоциональных и энергетических затрат на «обдумывание» элементарных действий. Можно выразиться и по-другому. Сертификация - это защита от «дурака», который обязательно что-нибудь перепутает.&lt;br /&gt;&lt;br /&gt;Официальный сайт ISO: &lt;a href="http://www.iso.org/iso/home.htm"&gt;http://www.iso.org/iso/home.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Всегда ваша,&lt;br /&gt;Наташа Искорцева&lt;/i&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-1514704202933792452?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/1514704202933792452/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=1514704202933792452' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1514704202933792452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1514704202933792452'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/06/quick-look-iso.html' title='Quick look на системы стандартизации. ISO'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_N18ZDLq5XX0/SjDw2vZhLwI/AAAAAAAAAJI/5dtoTK7TVHU/s72-c/ISO.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-4227334894585528819</id><published>2009-06-11T00:01:00.002+03:00</published><updated>2009-06-11T09:37:21.664+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='автоматизация'/><title type='text'>10 Причин провала автоматизации</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/SjCkP-hcnpI/AAAAAAAAAJA/F3SwZioStkw/s1600-h/TeamWork.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 124px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SjCkP-hcnpI/AAAAAAAAAJA/F3SwZioStkw/s200/TeamWork.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5345953352077057682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Автор: Shrini Kulkarni&lt;br /&gt;Перевод: Сергей Талалаев (&lt;a href="http://sqadotby.blogspot.com/2009/05/qtp-gui.html"&gt;SQAdotBY&lt;/a&gt;)&lt;br /&gt;Оригинальная статья: &lt;a href="http://shrinik.blogspot.com/2009/05/10-ways-to-make-automation-difficult-or.html"&gt;10 ways to make automation difficult or ineffective&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Нашему коллеге, сформулировавашему эту десятку причин можно ставить памятник при жизни (согласен со всем на 100%). А глядя в его мудрые грустные глаза понимаешь, что расхлебывал все это он сам лично "Вот этими вот руками..." :)&lt;br /&gt;&lt;br /&gt;Однозначно можно распечатывать и вешать на стенку.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;10. Безумное желание о 100% автоматизации&lt;br /&gt;&lt;br /&gt;9. Попытка автоматизировать существующие тест кейсы без тщательного анализа на предмет их пригодности к автоматизации&lt;br /&gt;&lt;br /&gt;8. Линейное сопоставление тест кейсов и скриптов 1:1 – становясь жертвой обманчивого удобства в контроле над изменениями и отчетности.&lt;br /&gt;&lt;br /&gt;7. Создания проекта автоматизации игнорируя модель “снизу-вверх”,  нечеткое разбиение проекта на функциональные части.&lt;br /&gt;&lt;br /&gt;6. Использование только одного типа автоматизации или фокусировка только на одном слое приложения – чем больше вы отдаляетесь от кода, тем хуже он становится&lt;br /&gt;&lt;br /&gt;5. Фокусировка только на задачах, связанных с выполнением тестов&lt;br /&gt;&lt;br /&gt;4. Использование автоматизации как скриптования – игнорируя общепринятые практики разработки ПО.&lt;br /&gt;&lt;br /&gt;3. Отказ от привлечения разработчиков на начальной стадии – не стремясь к улучшению тестируемости или автоматизируемости приложения&lt;br /&gt;&lt;br /&gt;2. Погружение в атоматизацию ради ускорения тестирования или сокращения издержек до решения существующих проблем – неоднозначности, неэффективности и отсутствия целостности.&lt;br /&gt;&lt;br /&gt;1. Отказ от поиска правильной пропорции между ручным и автоматизированным тестированием.&lt;br /&gt;&lt;br /&gt;0. Использование автоматизации в качестве средства выявления ошибок&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-4227334894585528819?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/4227334894585528819/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=4227334894585528819' title='Комментарии: 5'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/4227334894585528819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/4227334894585528819'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/06/10.html' title='10 Причин провала автоматизации'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_N18ZDLq5XX0/SjCkP-hcnpI/AAAAAAAAAJA/F3SwZioStkw/s72-c/TeamWork.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-3583307286825476322</id><published>2009-06-10T17:57:00.004+03:00</published><updated>2009-06-10T18:15:09.648+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sqa'/><category scheme='http://www.blogger.com/atom/ns#' term='обзоры'/><category scheme='http://www.blogger.com/atom/ns#' term='стандарты'/><title type='text'>Quick look на системы стандартизации. ГОСТ</title><content type='html'>Вернемся к системам стандартизации. Начнем с ГОСТ-ов.&lt;br /&gt;Представляю вашему вниманию информацию, собранную из разных источников, сгруппированную и слегка обработанную.&lt;br /&gt;&lt;br /&gt;Возможно, для кого-то она будет полезной...&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;b&gt;ГОСТ&lt;/b&gt; (Государственный стандарт) — одна из основных категорий стандартов в СССР, сегодня межгосударственный стандарт в СНГ. Принимается Межгосударственным советом по стандартизации, метрологии и сертификации (МГС).&lt;br /&gt;&lt;br /&gt;В советские времена все ГОСТ являлись обязательными для применения в тех областях, которые определялись преамбулой самого стандарта.&lt;br /&gt;&lt;br /&gt;Стандарт имеет силу (если не заменён национальным стандартом) в следующих странах:&lt;br /&gt;&lt;br /&gt;    * Азербайджанская Республика&lt;br /&gt;    * Республика Армения&lt;br /&gt;    * Республика Беларусь&lt;br /&gt;    * Республика Грузия&lt;br /&gt;    * Республика Казахстан&lt;br /&gt;    * Киргизская Республика&lt;br /&gt;    * Республика Молдова&lt;br /&gt;    * Российская Федерация&lt;br /&gt;    * Республика Таджикистан&lt;br /&gt;    * Туркменистан&lt;br /&gt;    * Республика Узбекистан&lt;br /&gt;    * Украина&lt;br /&gt;&lt;br /&gt;Национальный стандарт РБ - &lt;b&gt;СТБ&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Национальный орган по стандартизации - Комитет по стандартизации, метрологии и сертификации при Совете Министров Республики Беларусь.&lt;br /&gt;&lt;br /&gt;А вот и полезные ссылки, касающиеся ГОСТ-ов по разработке ИС, АС, ПС: &lt;br /&gt;&lt;a href="http://www.admhmao.ru/inform/law/zakon_gost.htm"&gt;http://www.admhmao.ru/inform/law/zakon_gost.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.e-school.ru/index.php?a=project&amp;sub=8"&gt;http://www.e-school.ru/index.php?a=project&amp;sub=8&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.internet-law.ru/law/gosts/"&gt;http://www.internet-law.ru/law/gosts/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Всегда ваша,&lt;br /&gt;Наташа Искорцева&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-3583307286825476322?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/3583307286825476322/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=3583307286825476322' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3583307286825476322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3583307286825476322'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/06/quick-look.html' title='Quick look на системы стандартизации. ГОСТ'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-318922052052147732</id><published>2009-06-08T21:56:00.006+03:00</published><updated>2009-06-10T12:22:04.728+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ISTQB'/><category scheme='http://www.blogger.com/atom/ns#' term='сертификация'/><title type='text'>ISTQB: цели, миссия, задачи</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_N18ZDLq5XX0/Si1lWH1L6nI/AAAAAAAAAI4/cPK_z5F7TSk/s1600-h/ISTQB.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 149px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/Si1lWH1L6nI/AAAAAAAAAI4/cPK_z5F7TSk/s200/ISTQB.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5345039763492301426" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Уважаемые коллеги, последовательно продвигаясь к светлой цели (перенос мировой столицы тестирования в Минск, если кто забыл) предлагаем вашему вниманию очередную порцию информации о такой известной организаци как Международная коллегия тестировщиков (ISTQB).&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;ISTQB (International Software Testing Qualifications Board ) – это Международная Коллегия по Квалификации Тестировщиков Программного Обеспечения (далее ISTQB), которая была  официально основана в Эдинбурге в 2002 году. На данный момент ISTQB  входят 42 национальные коллегии с различных уголков света. ISTQB и все национальные коллегии являются независимыми и некоммерческими организациями.&lt;br /&gt;&lt;br /&gt;Организация ISTQB ялвляется создателем и несет ответственность за международную программу квалификации, называемую "ISTQB Certified Tester". В рамках программы разработана иерархия квалификаций, соответствующие программы обучения, а также правила для аккредитации, проведения тренингов  и экзаменов.  Процесс аккредитации и сертификации регулируется официально утвержденными правилами национальных коллегий.&lt;br /&gt;&lt;br /&gt;Задачей ISTQB и всех национальных коллегий является поддержка единой общепринятой международной программы квалификации, разработанной ISTQB для профессионалов в сфере тестирования ПО. На основе программы составляются  курсы, которые проводят инструкторы, аккредитованные национальными коллегиями. Каждый курс завершается экзаменом, который охватывает содержание всей программы, с выдачей сертификата "ISTQB Certified Tester" в случае успешного результата (может выдаваться местный вариант сертификата с логотипом соответствия нормам ISTQB). &lt;br /&gt;&lt;br /&gt;Задачи ISTQB и каждой национальной коллегии: &lt;br /&gt;1. Гарантирование  качества и актуальности программы учебных курсов&lt;br /&gt;2. Разработка и определение основной международной программы курсов для каждой квалификации&lt;br /&gt;3. Определение и поддержка структуры экзаменов и свода правил&lt;br /&gt;4. Определение и поддержка  правил и положений аккредитации (для организаций, предоставляющих инструкторов/преподавателей)&lt;br /&gt;5. Определение и поддержка  правил и положений сертификации&lt;br /&gt;6. Определение и поддержка  правил и положений проходного балла для успешной сдачи экзамена&lt;br /&gt;7. Мониторинг соблюдения национальными коллегиями правил и положений ISTQB &lt;br /&gt;8. Прием и исключение национальных коллегий в/из ISTQB &lt;br /&gt;&lt;br /&gt;Цели международной программы по квалификации тестировщиков ПО и международной коллегий по тестированию ПО:&lt;br /&gt;1. Унифицировать  умения и навыки специалистов по тестированию в разных странах&lt;br /&gt;2. Создать общее понимание предмета тестирования в европейских/ мультинациональных проектах&lt;br /&gt;3. Увеличить количество сертифицированных специалистов по всему миру&lt;br /&gt;4. Развивать и продвигать общее пониманиепроцесса тестирования и знания по этому процессу через программу курсов и единого словаря терминов&lt;br /&gt;5. Продвигать  тестирование ПО как отдельную профессию&lt;br /&gt;6. Увеличить  эффективность в  плане затрат (программу курсов и экзаменационные вопросы можно использовать, просто переведя на нужный язык; не нужно изобретать колесо)&lt;br /&gt;7. Больше людей/мыслей/идей для создания общих материалов (экзаменационные вопросы, программа)&lt;br /&gt;8. Специалистам тестирования ПО не обязательно знать английский язык, чтобы получить необходимую квалификацию&lt;br /&gt;9. Международное признание специалистов тестирования ПО и их квалификаций, благодаря участию людей из разных стран&lt;br /&gt;10. Экономическая выгода для организаций, предоставляющих инструкторов, преподавателей и консультантов&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ISTQB Certified Tester&lt;/b&gt; – это первая и единственная международная программа, которая позволяет получить дальнейшее образование в сфере тестирования ПО. Она обладает следующими преимуществами:&lt;br /&gt;1. Стандартизировать  развития карьеры в сфере тестирования ПО&lt;br /&gt;2. Добиться признания процесса тестирования ПО, как важнейшей специализации в сфере разработки ПО&lt;br /&gt;3. Дать возможность профессиональным специалистам в сфере тестирования ПО быть признанными работодателями, клиентами и пользователями&lt;br /&gt;4. Постоянно продвигать лучшие практики в тестировании ПО среди всех ИТ дисциплин&lt;br /&gt;5. Определять наиболее важные и «горячие» темы в сфере тестирования ПО&lt;br /&gt;6. Давать право производителям ПО нанимать сертифицированных специалистов, тем самым получая коммерческое преимущество на конкурентами и рекламируя свою политику найми специалистов тестирования&lt;br /&gt;7. Обеспечить возможность специалистам тестирования ПО или тем, кто интересуется данным направлением, получать квалифицированные знания по данному предмету&lt;br /&gt;&lt;br /&gt;Основной уровень программы  предназначен для всех, кто вовлечен в тестирование ПО: тестировщиков, аналитиков по тестированию,  консультантов по тестированию, менеджеров по тестированию, программистов, а также ориентирован на получение базовых знаний в области тестировании ПО для проектных менеджеров, IT менеджеров, бизнес аналитиков и др.&lt;br /&gt;&lt;br /&gt;Статья написана по материалам источников:&lt;br /&gt;&lt;a href="http://www.istqb.org/index.htm"&gt;http://www.istqb.org/index.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.astqb.org/"&gt;http://www.astqb.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-318922052052147732?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/318922052052147732/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=318922052052147732' title='Комментарии: 12'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/318922052052147732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/318922052052147732'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/06/istqb.html' title='ISTQB: цели, миссия, задачи'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_N18ZDLq5XX0/Si1lWH1L6nI/AAAAAAAAAI4/cPK_z5F7TSk/s72-c/ISTQB.png' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-8505841895886799565</id><published>2009-06-01T10:01:00.000+03:00</published><updated>2009-06-01T10:01:38.209+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='полезное'/><title type='text'>Разоблачение Excel: Работа со справочниками</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N18ZDLq5XX0/ShuJhqa4WVI/AAAAAAAAAHI/3QYLTrDZyLA/s1600-h/Lookups1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 152px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/ShuJhqa4WVI/AAAAAAAAAHI/3QYLTrDZyLA/s320/Lookups1.jpg" alt="" id="BLOGGER_PHOTO_ID_5340012994593577298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Для меня слово справочник прочно асcоциировано со школьными таблицами Брадиса (кто-нибудь еще помнит такие или я последний из могикан?) и это воспоминание непременно вызывает улыбку и светлые чувства.&lt;br /&gt;Но могу предположить, в том числе и из собственного опыта, что тестирование задач завязанное на справочную информацию (особенно большого объема) вызывает прямо противоположные чувства. Поэтому, если данная статья поможет высушить хотя бы одну слезинку тестировщика - я буду считать, что цель достигнута :)&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;strong&gt;1. Введение&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Приступая к написанию очередной статьи, хотелось бы выразить свое восхищение моим коллегам, работающим в области тестирования систем принятия решений, страхования, налогообложения и т.д. и т.п.&lt;br /&gt;Всем тем, кому приходится кропотливо перебирать информацию из &lt;b&gt;справочников&lt;/b&gt;, скрупулезно высчитывать бесконечные формулы и пытаться сопоставить магию требований с не менее искусной магией реализованного функционала.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Справочники и с чем их едят&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Каждый, даже людям далеким от IT сферы приходится ежедневно сталкиваться с данной функциональностью ежедневно. Не верите - тогда небольшой тест. Есть ли у вас затруднения с пониманием следующих фраз?&lt;br /&gt;- Основная валюта USA – это USD&lt;br /&gt;- КГБ и ДМБ хоть и звучат похоже, но страшно далеки друг от друга&lt;br /&gt;- DE, FR, IT, AU – кто-то здесь не из EU&lt;br /&gt;&lt;br /&gt;Уверен, что проблем с прочтением и пониманием ни у кого не возникло. Что собственно и говорит о том, что справочники прочно вошли в нашу повседневную жизнь, выйдя за рамки узкоспециализированной области. Если же все-таки трудности возникли, то они легко разрешимы с помощью следующей таблицы:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/ShvlWOp8ufI/AAAAAAAAAHY/HmcWiuwo5nE/s1600-h/Lookups2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 358px; height: 201px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/ShvlWOp8ufI/AAAAAAAAAHY/HmcWiuwo5nE/s400/Lookups2.jpg" alt="" id="BLOGGER_PHOTO_ID_5340113953231780338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;которая собственно и является типичным представителем семейства ”справочниковых”.&lt;br /&gt;То есть в общем случае справочник – это таблица, из которой по значению выделенного столбца (код) можно однозначно извлечь соотвествующие ему данные.&lt;br /&gt;&lt;br /&gt;Если начать копать глубже в сторону БД, что мы увидим, что там без справочников просто нельзя и шагу ступить. Но тема нашей статьи не теория реляционных БД, а практика работы с Eхcel, поэтому предлагаю в очередной раз посмотреть, что же мы можем сделать, имея в руках только &lt;span style="text-decoration: line-through;"&gt;молоток и гвозди&lt;/span&gt; Microsoft Office и светлую голову.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Чем может порадовать Excel?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Как я говорил в своей &lt;a href="http://sqadotby.blogspot.com/2009/04/excel.html"&gt;предыдущей&lt;/a&gt; статье Excel – это конечно не полноценная БД, но все-таки некоторые “базовские” функции присутствуют. Для работы со справочниками есть целый набор функций, доступный для выбранной категории “Lookup &amp;amp; Reference”&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_N18ZDLq5XX0/Shv2Fvh9t2I/AAAAAAAAAHg/wam_NdfDczA/s1600-h/Lookups3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 342px;" src="http://1.bp.blogspot.com/_N18ZDLq5XX0/Shv2Fvh9t2I/AAAAAAAAAHg/wam_NdfDczA/s400/Lookups3.jpg" alt="" id="BLOGGER_PHOTO_ID_5340132361696556898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Нас с вами будут интересовать 2-е из них – VLOOKUP и HLOOKUP. Эти функции в целом схожи и различаются лишь направлением поиска (вертикальным и горизонтальным соответственно). Для большинства из нас более естественным является горизонтальное расположение строк и вертикальное – столбцов, поэтому все примеры будут основаны на использовании функции VLOOKUP, реализующей работу именно с таким вариантом.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Варианты реализации&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Для начала обрисуем себе цель нашей авантюры, то есть что же мы хотим получить в обмен на наши мучения.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/Shv2LKOVsXI/AAAAAAAAAHo/3OPXQocDhPk/s1600-h/Lookups4.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 149px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/Shv2LKOVsXI/AAAAAAAAAHo/3OPXQocDhPk/s400/Lookups4.JPG" alt="" id="BLOGGER_PHOTO_ID_5340132454761345394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;В качестве примера я выбрал реализацию обработки кода штата в адресе компании с показом полного названия в соседней ячейке. В данном случае я использовал валидацию вводимых кодов, о реализации которой вы можете прочитать в &lt;a href="http://sqadotby.blogspot.com/2009/04/excel.html"&gt;предыдущей статье&lt;/a&gt; (не смог удержаться).&lt;br /&gt;&lt;br /&gt;Пример на чей-то взгляд может показаться надуманным, но тем не менее он достаточно презентабельный, чтобы служить учебным пособием.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4.1. Попроще&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Итак, более простой вариант использования предполагает, что каждому коду соответствует одна уникальная запись в таблице. Я, как вы уже поняли, для пособия взял список Американских штатов (прикольные у них названия и в интернете полно информации в табличном виде):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N18ZDLq5XX0/Shv2PwKH3_I/AAAAAAAAAHw/qoVJOh94_XA/s1600-h/Lookups5.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 81px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/Shv2PwKH3_I/AAAAAAAAAHw/qoVJOh94_XA/s400/Lookups5.JPG" alt="" id="BLOGGER_PHOTO_ID_5340132533663686642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Для удобства работы со списком выносим его на отдельную страницу и помечаем как именованный диапазон&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/Shv2UwvG10I/AAAAAAAAAH4/iFFN9G1sde8/s1600-h/Lookups6.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 386px; height: 146px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/Shv2UwvG10I/AAAAAAAAAH4/iFFN9G1sde8/s400/Lookups6.JPG" alt="" id="BLOGGER_PHOTO_ID_5340132619718154050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;После этого единственное, что нам остается сделать – это определить откуда мы берем код для поиска и что мы хотим видеть взамен этого кода. В итоге получим следующее выражение:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;=VLOOKUP(B2 ; Список_Штатов ; 2 ; FALSE)&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;B2&lt;/b&gt; – это ячейка с кодом&lt;br /&gt;&lt;b&gt;Список_Штатов&lt;/b&gt; – это наш справочник, в котором нам интересна 2-ая колонка с полным названием штата&lt;br /&gt;&lt;br /&gt;Будьте внимательны с последним параметром!!!&lt;br /&gt;Последний параметр (&lt;b&gt;FALSЕ&lt;/b&gt;) определяет правило поиска кода:&lt;br /&gt;- Если он равен TRUE или пропущен – ищется ближайший вариант&lt;br /&gt;- Если он равен FALSE – поиск ведется на полное соответствие&lt;br /&gt;&lt;br /&gt;Попробуйте поиграть с этим параметром, чтобы, так сказать, почувствовать разницу.&lt;br /&gt;&lt;br /&gt;Кстати, никто не обратил внимание, чего еще не хватает во входных параметрах функции VLOOKUP для полноты картины? А откуда она узнает в каком столбце нашего справочника содержится имено код?&lt;br /&gt;А вот это уже ваша прямая обязаннность – обеспечить чтобы столбец с кодами был &lt;b&gt;первым&lt;/b&gt; столбцом нашего справочника&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4.2. Посложнее&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;В усложненном варианте вместо кода уже появляется такое понятие как диапазон значений и уже каждому диапазону соответсвует какая-либо запись.&lt;br /&gt;Типичным примером может служить таблица значений повышающего коеффициента для расчета страховых взносов в зависимости от возраста автомобиля.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/Shv2bBqYHxI/AAAAAAAAAIA/1x6mjyoZOKo/s1600-h/Lookups7.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 304px; height: 102px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/Shv2bBqYHxI/AAAAAAAAAIA/1x6mjyoZOKo/s400/Lookups7.JPG" alt="" id="BLOGGER_PHOTO_ID_5340132727340932882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Для расчета вручную информации достаточно, и затруднений сам расчет не вызывает. Но для использования в качестве входа для автоматического расчета нам потребуется немного преобразовать данную таблицу.&lt;br /&gt;&lt;br /&gt;Правило преобразования несложное и основывается на том, что при поиске подходящего значения (в данном случае уже имеется ввиду поиск приближенного значения) ищется ближайшее меньшее или равное искомому коду. А если по-русски и без заумных фраз, то&lt;br /&gt;• для каждой пары вида ”A – B” должно остатья первое значение – ”A”&lt;br /&gt;• выражения вида &gt;A следут заменить на величину A+1&lt;br /&gt;• выражения вида &amp;lt;A следут заменить на Min(A), то есть минимально допустимое значение&lt;br /&gt;&lt;br /&gt;В итоге получаем следующую таблицу:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/Shv2ezr-neI/AAAAAAAAAII/XByoKaymv8s/s1600-h/Lookups8.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 304px; height: 101px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/Shv2ezr-neI/AAAAAAAAAII/XByoKaymv8s/s400/Lookups8.JPG" alt="" id="BLOGGER_PHOTO_ID_5340132792309030370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;И формула для расчета ”возрастной добавки” будет выглядеть следующим образом&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;=VLOOKUP(D10 ; Возраст_автомобиля; 2 ; TRUE)&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;D10&lt;/b&gt; – это ячейка с кодом&lt;br /&gt;&lt;b&gt;Возраст_автомбиля&lt;/b&gt; – наш доведенный до ума справочник&lt;br /&gt;&lt;br /&gt;И обратите внимание на последний параметр – он теперь имеет значение TRUE, что указывает на правило поиска приближенного, а не точного значения.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4.3. Высший пилотаж&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Изложение материала в предыдущих параграфах начиналось словами ”каждому коду … или каждому диапазону …”. То есть основное предположение состоит в том, что у нас есть уникальное значение с одной стороны и набор дополнительной информации для него с другой.&lt;br /&gt;&lt;br /&gt;Рассмотрим теперь ситуацию, когда мы не сможем опираться на такой удобный посыл. Предположим, что выбор искомой информации зависит от набора ключевых значений, например сильно упрощенная схема расчета страховой премии на страхование автомобиля в США зависит от следующих параметров:&lt;br /&gt;- возраст автомобиля: 1-3, 4-7, 8-10, &gt;10&lt;br /&gt;- пол водителя (плевать они хотели на гендерное равенство): М, Ж&lt;br /&gt;- стаж водителя: &amp;lt;2, 2-5, &gt;5&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Полный набор всех вариантов даже в таком ужатом варианте содержит 24 записи, для каждого из которых есть соотвествующий коэфициент для расчет страховой премии. Как же в этом случае поможет известная нам функция VLOOKUP, которая не работает с набором ключей, а принимает на вход лишь одиночный код.&lt;br /&gt;&lt;br /&gt;Ответ – никак … без предварительной подгонки. Чем мы с вами и займемся чуть дальше.&lt;br /&gt;&lt;br /&gt;Подгонка будет заключаться в создании дополнительного поля с кодом, уникально определяющего каждый набор, например&lt;br /&gt;1-3, M, &amp;lt;2 преобразуется в 1M0&lt;br /&gt;4-7, М, 2-5  преобразуется в 11Ж2&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/Shv2jKe9-UI/AAAAAAAAAIQ/z6FbB2ZbQPI/s1600-h/Lookups9.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 87px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/Shv2jKe9-UI/AAAAAAAAAIQ/z6FbB2ZbQPI/s400/Lookups9.JPG" alt="" id="BLOGGER_PHOTO_ID_5340132867147954498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. Хитрости и трюки&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;В принцпипе, информации полученной из предыдущих примеров достаточно, чтобы покрыть большинство случаев использования справочников. Но в качестве дополнительного бонуса (на сладкое так сказать) хотел бы предложить найденные в ходе работы интересности, связанные с изложенным материалом.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5.1. Использование столбца кода для валидации&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;В нашем первом примере со штатами мы в ответ на введенный код штата хотим получить его полное название. Естесвенным желанием было бы обезопасить себя от неправильно введеного кода, тем более что все коды у нас присутствуют в нашем справочнике и у нас есть необходимые знания (вспоминаем &lt;a href="http://sqadotby.blogspot.com/2009/04/excel.html"&gt;здесь&lt;/a&gt;), чтобы организовать выпадающий список для кодов.&lt;br /&gt;&lt;br /&gt;Если бы не одно но – при организации списка валидации нам необходимо указать источник для наполнения выпадающего списка и этот источник не может быть 2-х мерной таблицей коим является наш справочник Список_Штатов. О чем вам незамедлительно сообщит Excel&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/Shv2nzPWaTI/AAAAAAAAAIY/u0jphK92Q7I/s1600-h/Lookups10.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 102px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/Shv2nzPWaTI/AAAAAAAAAIY/u0jphK92Q7I/s400/Lookups10.JPG" alt="" id="BLOGGER_PHOTO_ID_5340132946807777586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Казалось бы единственным правильным вариантом будет дополнительно определить именованный диапазон только для столбца кодов, но с точки зрения правильного лентяя хотелось бы найти более элегантный вариант. И он есть :)&lt;br /&gt;В поле источника данных следует указать такое выражение:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;=INDEX(Список_Штатов,0,1)&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;И “золотой ключик у вас в кармане”.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5.2. Связанные справочники&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Прием больше подходящий к разделу трюков, чем хитростей, но тем не менее иногда полезный (знаю лично один такой случай).&lt;br /&gt;&lt;br /&gt;В нашем сакраментальном примере с адресом помимо штата присутсвует также поле Город. И было бы достаточно интересно реализовать выпадающий список городов в зависимости от выбранного штата. Задача не совсем для Excel, но тем не менее поддается решению без привлечения тяжелой артилериии в лице VBA.&lt;br /&gt;&lt;br /&gt;Все, что нам надо сделать – это подготовить именованные списки городов включающие в себя код штата, например&lt;br /&gt;Города_FL для Флориды,&lt;br /&gt;Города_TX для Техаса&lt;br /&gt;И познакомится с еще одной замечательной фукцией &lt;b&gt;INDIRECT&lt;/b&gt;, позволяющей формировать стандартную Excel-ссылку из строкового значения.&lt;br /&gt;&lt;br /&gt;В итоге выражение для валидации будет выглядеть следующим образом:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;=INDEX(INDIRECT("Города_"&amp;amp;B2);0;2)&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;B2&lt;/b&gt; – адрес ячейки с выбранным кодом штата&lt;br /&gt;И в реальной жизни выглядеть это будет вот так:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/Shv2sEU1J3I/AAAAAAAAAIg/BnYcPSQoP-o/s1600-h/Lookups11.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 166px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/Shv2sEU1J3I/AAAAAAAAAIg/BnYcPSQoP-o/s400/Lookups11.JPG" alt="" id="BLOGGER_PHOTO_ID_5340133020113643378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N18ZDLq5XX0/Shv2xL3yJrI/AAAAAAAAAIo/l-4DtBLGRVM/s1600-h/Lookups12.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 165px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/Shv2xL3yJrI/AAAAAAAAAIo/l-4DtBLGRVM/s400/Lookups12.JPG" alt="" id="BLOGGER_PHOTO_ID_5340133108038641330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;6. Выводы&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Коллеги, я постарался изложить в статье все наработки, связанные с тестированием алгоритмов, основанных на справочных таблицах. Нам данная техника очень помогла при тестировании весьма непростых систем расчета страховых взносов. Очень надеюсь, что и вам эта информация в чем-то окажется полезной.&lt;br /&gt;&lt;br /&gt;Понимая, что теория без практики плохо осаждается даже в светлых головах, вместе с данным материалом вы найдете &lt;a href="http://www.2shared.com/file/5962660/2941a757/Demistifying_Excel_-_Lookups.html"&gt;Excel-файл&lt;/a&gt; со всеми реализованными в статье примерами.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-8505841895886799565?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/8505841895886799565/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=8505841895886799565' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/8505841895886799565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/8505841895886799565'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/05/excel.html' title='Разоблачение Excel: &lt;br&gt;Работа со справочниками'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_N18ZDLq5XX0/ShuJhqa4WVI/AAAAAAAAAHI/3QYLTrDZyLA/s72-c/Lookups1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-3810075213774714017</id><published>2009-05-29T14:07:00.009+03:00</published><updated>2009-06-11T17:35:46.313+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='полезное'/><category scheme='http://www.blogger.com/atom/ns#' term='ISTQB'/><category scheme='http://www.blogger.com/atom/ns#' term='сертификация'/><title type='text'>Материалы по подготовке к экзамену на сертификат ISTQB</title><content type='html'>Нет времени идти на курсы по сертификации?&lt;br /&gt;Курсы дороги?&lt;br /&gt;Не доверяете преподавателям?&lt;br /&gt;Надеетесь на свои силы и хотите подготовиться к сертификации самостоятельно?&lt;br /&gt;&lt;br /&gt;Можно!&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;Материалы, собранные по крупицам на просторах интернета (спасибо моей коллеге Катерине еще раз):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.2shared.com/file/5998865/be580967/ISTQB_Materials_1.html"&gt;Порция 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.2shared.com/file/5999175/102e64cc/ISTQB_Materials_2.htm"&gt;Порция 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.2shared.com/file/5999219/4d843138/ISTQB_Materials_3.html"&gt;Порция 3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;И официальный список литературы, который, поверьте, будет полезен не только как учебное пособие к сертификации:&lt;br /&gt;&lt;br /&gt;Если вы планируете сдавать только на 1-ый уровень, то список очень короткий:&lt;br /&gt;&lt;a href="http://www.amazon.com/Software-Testing-Foundations-Certified-Tester/dp/1933952083/ref=sr_1_3?ie=UTF8&amp;amp;s=books&amp;amp;qid=1243325288&amp;amp;sr=8-3"&gt;Software Testing Foundations&lt;/a&gt; – first level (basic)&lt;br /&gt;&lt;br /&gt;Если будут планы продолжить углублять знания, то:&lt;br /&gt;&lt;a href="http://www.amazon.com/Advanced-Software-Testing-Certification-Rockynook/dp/1933952199/ref=pd_sim_b_5"&gt;Advanced Software Testing&lt;/a&gt; - &lt;a href="http://www.amazon.com/Advanced-Software-Testing-Certification-Rockynook/dp/1933952199/ref=pd_sim_b_5"&gt;Vol. 1&lt;/a&gt; and &lt;a href="http://www.amazon.com/Advanced-Software-Testing-Certification-Manager/dp/1933952369/ref=pd_sim_b_6"&gt;Vol. 2&lt;/a&gt; – second level (advanced)&lt;br /&gt;&lt;a href="http://www.amazon.com/Software-Testing-Practice-Management-Certified/dp/193395213X/ref=pd_bxgy_b_img_c"&gt;Software Testing Process: Test Management&lt;/a&gt; –  management branch&lt;br /&gt;&lt;a href="http://www.amazon.com/Software-Test-Engineers-Handbook-Certificates/dp/1933952245/ref=pd_bxgy_b_img_b"&gt;The Software Test Engineer's Handbook&lt;/a&gt; – technical testing branch&lt;br /&gt;&lt;br /&gt;Официально сам ISTQB предлагает для подготовки к экзаменам использовать &lt;a href="http://www.istqb.org/downloads/syllabi/SyllabusFoundation.pdf"&gt;Syllabus&lt;/a&gt;, но он всего лишь даст вам представление, о чем будет идти беседа, но не глубокие знания предмета.&lt;br /&gt;В принципе, в 80% случаев имеющегося опыта и знаний оказывается достаточно для сдачи на первый уровень.&lt;br /&gt;&lt;br /&gt;Дерзайте!&lt;br /&gt;&lt;br /&gt;P.S. Большое спаисбо также нашим Российским колегам за бережно собранную &lt;a href="http://www.rstqb.org/index.php?id=25,0&amp;amp;sitelang=ru"&gt;информацию&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;С уважением,&lt;br /&gt;Сергей Талалаев&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-3810075213774714017?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/3810075213774714017/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=3810075213774714017' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3810075213774714017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3810075213774714017'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/05/istqb.html' title='Материалы по подготовке к экзамену на сертификат ISTQB'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-2658673424892467887</id><published>2009-05-26T18:28:00.007+03:00</published><updated>2009-06-10T12:22:26.837+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ISTQB'/><category scheme='http://www.blogger.com/atom/ns#' term='сертификация'/><title type='text'>Экзамен на сертификат ISTQB всего за 100 евро! Еще можно успеть!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/ShwOa4PkKFI/AAAAAAAAAIw/o5yKkVEBikE/s1600-h/CT_01.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 149px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/ShwOa4PkKFI/AAAAAAAAAIw/o5yKkVEBikE/s200/CT_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5340159113091622994" /&gt;&lt;/a&gt;&lt;br /&gt;Друзья, мы сами поздно узнали, поэтому поздно делимся информацией с вами.&lt;br /&gt;Однако, еще есть шанс успеть сдать экзамен на &lt;span style="font-weight: bold;"&gt;сертификат ISTQB&lt;/span&gt; всего за полцены - &lt;span style="font-weight: bold;"&gt;100 евро&lt;/span&gt;, и в родном городе &lt;span style="font-weight: bold;"&gt;Минске&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;Вот подробная информация!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4 June 2009: Public ISTQB examination&lt;br /&gt;&lt;/span&gt;The International Software Quality Institute holds a public ISTQB Foundation Level examination on &lt;span style="font-weight: bold;"&gt;4 June 2009&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;from 5pm to 6pm in Minsk&lt;/span&gt;. The exam will be in English language.&lt;br /&gt;For this exam in Belarus iSQI offers a special price, so the exam fee per person is 100 Euro.&lt;br /&gt;The exam is a multiple choice test and lasts 60 minutes. In order to pass the exam, the examinee must get at least 65% of the total credits.&lt;br /&gt;The basis of the exam is the ISTQB &lt;a href="http://www.istqb.org/downloads/syllabi/SyllabusFoundation.pdf"&gt;syllabus&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;To take the exam a formal &lt;span style="font-weight: bold;"&gt;registration until 1 June 2009 is necessary&lt;/span&gt;. Please fill in the registration &lt;a href="http://www.isqi.org/en/certification/certified-tester/foundationlevel/%20registration/"&gt;form &lt;/a&gt; and send it to iSQI. This is possible either by fax to 0049 331 23181010 or as scanned copy to &lt;a href="mailto:certification@isqi.org"&gt;certification@isqi.org&lt;/a&gt;. For further questions please contact Ms. Silvia Huhse (&lt;a href="mailto:silvia.huhse@isqi.org"&gt;silvia.huhse@isqi.org&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Это уже второй экзамен, который проводится по сертификации в Минске.&lt;br /&gt;Первый экзамен был проведен 27 января компанией &lt;a href="http://www.gasq.org/"&gt;GASQ&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Спешите!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-2658673424892467887?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/2658673424892467887/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=2658673424892467887' title='Комментарии: 5'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/2658673424892467887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/2658673424892467887'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/05/istqb-100.html' title='Экзамен на сертификат ISTQB всего за 100 евро! Еще можно успеть!'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_N18ZDLq5XX0/ShwOa4PkKFI/AAAAAAAAAIw/o5yKkVEBikE/s72-c/CT_01.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-7356447323874399074</id><published>2009-05-15T17:49:00.013+03:00</published><updated>2009-05-15T18:22:41.042+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='методологии разработки'/><category scheme='http://www.blogger.com/atom/ns#' term='sqa'/><category scheme='http://www.blogger.com/atom/ns#' term='стандарты'/><category scheme='http://www.blogger.com/atom/ns#' term='модели ЖЦПО'/><title type='text'>Стандарты, модели, методологии - краткий обзор</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;span style="font-style: italic;"&gt;Выражаю огромную благодарность всем интернет-источникам, специалистам, ведущим блоги и участвующих в обсуждениях на форумах, всей перечитанной литературе, и особенно Алексею Баранцеву за научный подход к тестированию и вообще, и Сергею Орлику за его перевод SWEBOK-а.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;- Мы разрабатываем софт по ISO...&lt;br /&gt;- А мы по RUP-у...&lt;br /&gt;- А у нас всех на Agile переводят...&lt;br /&gt;- Ой, а мы только спиральную модель используем...&lt;br /&gt;&lt;br /&gt;Эти и другие высказывания можно услышать, если завести разговор о разработке ПО в контексте стандартов, моделей и методологий.&lt;br /&gt;При этом как сами разработчики/тестировщики не всегда могут понять и уж тем более объяснить разницу между этими понятиями, так и в литературе и интернет источниках все крайне запутано... Методологии разработки смешиваются с моделями жизненного цикла ПО, модели - с системами стандартизации, стандарты - с методологиями и так без конца.&lt;br /&gt;&lt;br /&gt;Я мучаюсь этим вопросом уже некоторое время как. Но, кажется, наконец, истина где-то рядом...&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Стандарты&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Стандарт &lt;/span&gt;(от англ. standard — норма, образец) в широком смысле слова — образец, эталон, модель, принимаемые за исходные для сопоставления с ними других подобных объектов.&lt;br /&gt;&lt;br /&gt;* Стандарт как нормативно-технический документ устанавливает комплекс норм, правил, требований к объекту стандартизации, в котором в целях добровольного или обязательного многократного использования устанавливаются характеристики продукции, правила осуществления и характеристики процессов производства, эксплуатации, хранения, перевозки, реализации и утилизации, выполнения работ или оказания услуг.&lt;br /&gt;Стандарт может быть разработан как на материальные предметы (продукцию, эталоны, образцы веществ), так и на нормы, правила, требования в различных областях.&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;* &lt;/span&gt;&lt;span class="fullpost"&gt;В переносном смысле — шаблон, трафарет, не содержащий ничего оригинального.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Виды стандартов&lt;/span&gt;:&lt;br /&gt;* Международный стандарт&lt;br /&gt;* Отраслевой стандарт&lt;br /&gt;* Стандарт фирмы, стандарт производителя&lt;br /&gt;* Стандарт качества&lt;br /&gt;* Социальный стандарт&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Системы стандартизации&lt;/span&gt;:&lt;br /&gt;* ГОСТ&lt;br /&gt;* ISO&lt;br /&gt;* CMMI&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Модели жизненного цикла&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Что такое жизненный цикл, на пальцах объясняет Алексей Баранцев в своей статье &lt;a href="http://itblogs.ru/blogs/barancev/archive/tags/_4004300437044004300431043E0442043A043004_+_1F041E04_/default.aspx"&gt;"Жизненный цикл разработки программного обеспечения -- что бы это значило?"&lt;/a&gt;&lt;br /&gt;А более сухое определение звучит примерно так:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Жизненный цикл информационной системы&lt;/span&gt; — период времени, который начинается с момента принятия решения о необходимости создания информационной системы и заканчивается в момент ее полного изъятия из эксплуатации.&lt;/blockquote&gt;&lt;blockquote style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Модель жизненного цикла&lt;/span&gt; — структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении жизненного цикла. Модель жизненного цикла зависит от специфики, масштаба и сложности проекта и специфики условий, в которых система создается и функционирует.&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Модели жизненного цикла ПО&lt;/span&gt;:&lt;br /&gt;* Водопадная&lt;br /&gt;* Каскадная&lt;br /&gt;* Спиральная&lt;br /&gt;&lt;br /&gt;Чтобы предупредить нападки по поводу отсутствия инкрементальной или итеративной модели разработки, сразу приведу в пример цитату из SWEBOK.&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;Мартин Фаулер [Фаулер, 2004, с.47] пишет:&lt;br /&gt;"Итеративную разработку называют по-разному: инкрементальной, спиральной, эволюционной и постепенной. Разные люди вкладывают в эти термины разный смысл, но эти различия не имеют широкого признания и не так важны, как противостояние итеративного метода и метода водопада."&lt;/blockquote&gt;А почему я разделила водопад и каскад - будет чуть позже в посте, посвященном специально моделям ЖЦПО.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Взаимосвязь стандартов и моделей&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Стандарт регламентирует состав процессов жизненного цикла ИС. Он определяет структуру жизненного цикла, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания ИС.&lt;br /&gt;&lt;br /&gt;Каждый процесс разделен на набор действий, каждое действие — на набор задач. Каждый процесс, действие или задача инициируется и выполняется другим процессом по мере необходимости, причем не существует заранее определенных последовательностей выполнения. Связи по входным данным при этом сохраняются.&lt;br /&gt;&lt;br /&gt;На каждой стадии могут выполняться несколько процессов, определенных в стандарте, и наоборот, один и тот же процесс может выполняться на различных стадиях. Соотношение между процессами и стадиями также определяется используемой моделью жизненного цикла ИС.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Взаимосвязь моделей и методологий&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Опять же - словами из SWEBOK:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;Организация ролей (ответственности членов проектной команды), детализация этапов жизненного цикла и процессов, определение активов (артефактов), значимых на разных этапах проекта, практики анализа и предупреждения рисков – все это вопросы уже конкретного процессного фреймворка или, как принято говорить, методологии разработки.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Методологии разработки ПО&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;И так плавно мы перешли к методологиям разработки ПО. Сейчас просто перечислю, что к ним можно отнести:&lt;br /&gt;&lt;br /&gt;* RUP (Rational Unified Process)&lt;br /&gt;* EUP (Enterprise Unified Process)&lt;br /&gt;* MSF (Microsoft Solutions Framework)&lt;br /&gt;* XP (eXtream Programming)&lt;br /&gt;* RAD (Rapid Application Development)&lt;br /&gt;* SCRUM&lt;br /&gt;* FDD (Feature Driven Development)&lt;br /&gt;* DSDM (Dynamic Systems Development Method)&lt;br /&gt;* и др...&lt;br /&gt;&lt;br /&gt;Выше я всего лишь попыталась разделить понятия стандартов, моделей и методологий, показать их взаимосвязь, а также привести некоторые примеры. В следующих постах я пройдусь подробнее по каждой из этих областей.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Всегда ваша,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Наташа Искорева (Густыр) &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-7356447323874399074?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/7356447323874399074/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=7356447323874399074' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/7356447323874399074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/7356447323874399074'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/05/blog-post_3235.html' title='Стандарты, модели, методологии - краткий обзор'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-6526327619358123300</id><published>2009-05-14T14:53:00.004+03:00</published><updated>2009-05-14T15:10:01.035+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='вехи'/><category scheme='http://www.blogger.com/atom/ns#' term='обучение'/><title type='text'>Первый курс в БГУИР пройден успешно!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_N18ZDLq5XX0/SgwGwandDHI/AAAAAAAAAG4/xNvfKnAAnQY/s1600-h/Sertificat.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 143px; height: 200px;" src="http://1.bp.blogspot.com/_N18ZDLq5XX0/SgwGwandDHI/AAAAAAAAAG4/xNvfKnAAnQY/s200/Sertificat.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5335647087375486066" /&gt;&lt;/a&gt;&lt;br /&gt;Так и хочется сказать, мол, выходим снова на взлетную :)&lt;br /&gt;Но нет - конец семестра, и студентов сейчас будет уже не собрать. &lt;br /&gt;Так что, уважаемые, - до осеннего призыва! :)&lt;br /&gt;&lt;br /&gt;И все-таки несколько слов о пройденном этапе...&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Группа 14 человек. До финиша дошли все :)&lt;br /&gt;Курс проходил в виде факультатива, поэтому из кабинетов на меня смотрели только заинтересованные пары глаз...&lt;br /&gt;Встречались на протяжении 3-х месяцев 2 раза в неделю по часу. В следующий раз попробуем новый формат - попытаемся отчитать курс по интенсивному графику за неделю. Мне почему-то кажется, что так будет эффективнее.&lt;br /&gt;Было достаточно практики: научились составлять всевозможную документацию по тестированию (документы по работе с требованиями, планы, сценарии, листы проверки, отчеты о дефектах, другие отчеты). Научились проводить статическое тестирование требований, и делать это в команде, прошли полный цикл тесирования - от работы  требованиями до финальных отчетов по проекту. Учились тестировать рационально и находить "хорошие" ошибки. Сделали много вспомогательных заданий, с помощью которых стали ясны сложные вещи типа классов эквивалентности. Как говорится, учились на кошках :)&lt;br /&gt;И многое-многое другое!&lt;br /&gt;&lt;br /&gt;Студенческие шутки, уловки на проверочных работах, душевная атмосфера - все это также помогло нам финишировать успешно и без потерь!&lt;br /&gt;&lt;br /&gt;Сегодня в торжественной обстановке все студенты получили свои законные сертификаты. Кажется, тоже остались довольны :)&lt;br /&gt;&lt;br /&gt;Будем продолжать в том же духе!&lt;br /&gt;&lt;br /&gt;Всегда ваша,&lt;br /&gt;Наташа Искорцева (Густыр)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-6526327619358123300?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/6526327619358123300/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=6526327619358123300' title='Комментарии: 7'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/6526327619358123300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/6526327619358123300'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/05/blog-post.html' title='Первый курс в БГУИР пройден успешно!'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_N18ZDLq5XX0/SgwGwandDHI/AAAAAAAAAG4/xNvfKnAAnQY/s72-c/Sertificat.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-3038670807146668009</id><published>2009-05-12T09:14:00.030+03:00</published><updated>2009-05-12T14:59:02.520+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='автоматизация'/><title type='text'>QTP: Реализация GUI слоя при помощи классов</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/SeLUXl2zvKI/AAAAAAAAAEc/WxTW9cfUDXg/s1600-h/AdvancedQTP.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 280px; height: 88px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SeLUXl2zvKI/AAAAAAAAAEc/WxTW9cfUDXg/s320/AdvancedQTP.bmp" alt="" id="BLOGGER_PHOTO_ID_5324051211269422242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Автор: Meir Bar-Tal&lt;br /&gt;Перевод: Сергей Талалаев (&lt;a href="http://sqadotby.blogspot.com/2009/05/qtp-gui.html"&gt;SQAdotBY&lt;/a&gt;)&lt;br /&gt;Оригинальная статья: &lt;a href="http://www.advancedqtp.com/knowledge-base/articles/qtp-tricks4/descriptive-programming/implementing-a-gui-layer-with-classes/"&gt;Implementing a GUI Layer with Classes&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;В продолжении темы сотрудничества с уважаемым ресурсом &lt;a href="http://advancedqtp.com/"&gt;AdvancedQTP.com&lt;/a&gt; и с любезного разрешения автора, хотел бы представить перевод очень интересной статьи с данного сайта.&lt;br /&gt;&lt;br /&gt;Описанный подход заслуживает права на детальное изучение и применим не только в рамках QTP, но и в любом другом средстве автоматического тестирования.&lt;br /&gt;Автором проведена серьезная работа с целью поиска оптимального варианта реализации тестового фреймворка с точки зрения минимизации издержек на его поддержку.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Аннотация&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Эта статья описывает  действенную технику, которая используя ООП шаблоны  проектирования, дескрипторное программирование (DP) и объект Dictionary позволяет объединить GUI объекты вместе с их бизнес функциями. Статья также включает ценное дополнение: эффективный прием, позволяющий избежать зависания QTP при попытке обращения к несуществующим GUI объектам во время выполнения.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Введение&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Основная проблема в автоматизированном тестировании – это как уменьшить издержки по поддержке скриптов. Вопросы вида: “Должны ли мы использовать объектный репозиторий (Object Repository OR) или дескрипторное программирование (Descriptive Programming DP)? Если выбран OR, то должны ли мы использовать общий OR или локальный для каждого Action? Если выбран DP, тогда какой оптимальный вариант его реализации?” достаточно повсеместны и ответы на них могут зависеть как от конкретных особенностей проекта так, во многих случаях, и от людей, вовлеченных в процесс.&lt;br /&gt;&lt;br /&gt;В этой статье я проанализирую концепцию  Тестовых Объектов (Test Objects) в рамках принципов OO (Object Oriented). Я попытаюсь показать, что реализация объектного репозитория в QTP не соответствует этим принципам, и каково влияние этого факта на разработку автоматизированных тестов с точки зрения эффективности затрат и трудоемкости поддержки. Затем я опишу расширение OR-концепции, которое соответствует принципам OO – GUI слой (GUI Layer). Эта концепция была адаптирована экспертами компании SOLMAR, основываясь на том факте, что возможно максимизировать повторное использование кода (и таким образом улучшить поддерживаемость кода) используя OO подход, согласно которому автоматизируемый проект разбивается на несколько уровней абстракции.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Тестовые Объекты и Run-Time Объекты&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Тестовый объект содержит в себе ссылку на run-time объект – объект реального мира, который инициирован в тестовом приложении. Тестовый объект содержит &lt;span style="font-style: italic;"&gt;описание&lt;/span&gt; объекта, на который он ссылается, в виде набора атрибутов и значений служащих критерием для поиска нужного объекта в ходе тестового прогона. Это описание больше всего похоже на то, что вы себе представляете, идя на встречу с незнакомкой (“Я брюнетка, стройная и высокая, и буду одета в красное платье и туфли”)&lt;br /&gt;&lt;br /&gt;Аналогично QTP использует описание для запроса к OS, загружен ли в настоящий момент  объект в оперативную память. Если ответ положительный, то OS вернет адрес объекта (ссылку или указатель) и, следовательно, QTP получит доступ к &lt;span style="font-style: italic;"&gt;публичным&lt;/span&gt; методам и свойствам объекта, в то время как &lt;span style="font-style: italic;"&gt;частные&lt;/span&gt; методы и свойства остаются скрытыми от просмотра по определению (таким образом QTP никогда не вмешивается в частную область, чего вы бы хотели в отношении брюнетки, если повезет!)&lt;br /&gt;&lt;br /&gt;Хотя это описание может быть слишком упрощено, но по существу это такой процесс,  который позволяет нам взаимодействовать с GUI (и другими) объектами используя QTP или другое средство автоматизации (Test Partner, Test Complete, Rational Robot, AutoIt и т.д.) Более детальное объяснение различия между Тестовыми Объектами и Run-Time Объектами доступно в статье Yaron Assa "&lt;a href="http://www.advancedqtp.com/knowledge-base/articles/qtp-tricks4/differences-and-connections-between-runtime-objects-and-test-objects/"&gt;Differences and Connections between Runtime Objects and Test Objects&lt;/a&gt;" (2009).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Тестовые Объекты и Объектный Репозиторий&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Рассказанное выше естественно заставляет нас думать о тестовых объектах как о данных.  Что я имею в виду? Основываясь на описании, построенном из свойств и значений, QTP имеет возможность распознать GUI объект среди всех объектов, загруженных в данный момент в машинную память. Этот процесс подобен тому, как мы получаем необходимую запись из БД согласно условию WHERE в SQL запросе. Разница лишь в том, что в данном случае OS (Windows), а не БД возвращает запись. Кроме того, запись содержит только одно поле – ссылку на реальный run-time объект. Следуя данной мысли, это кажется вполне естественным хранить эти записи - тестовые объекты (Test Objects) – в базе данных, которой собственно Объектный Pепозиторий (Object Repository) и является (если вы обратили внимание на файлы с расширением &lt;span style="font-weight: bold;"&gt;bdb&lt;/span&gt; в QTP тестах, то знайте, что bdb в действительности означает Berkeley Data Base – продукт компании Oracle).&lt;br /&gt;&lt;br /&gt;В чем же собственно проблема с подходом, использующим OR? Тестовые объекты в действительности являются данными, но мы до текущего момента вынуждены выполнять действия с Run-time объектами, что, учитывая вышесказанное, предоставляет нам искаженную картину. Ниже я объясню почему.&lt;br /&gt;&lt;br /&gt;Это действительно, правда, что OR, при  правильном использовании, предоставляет наилучшую технику, в соответствии с которой нам необходимо сохранить описание каждого GUI объекта всего лишь раз для уменьшения стоимости изменений. Тем не менее, чтобы достичь этого должны быть потрачены большие усилия на правильное управление тестовым проектом, потому что непродуманные запросы и недостаток  ресурсов могут привести нарушению целостности этого ценного ресурса (OR). Например, предположим, что два инженера автоматизации работают одновременно с общим репозиторием, но один из них модифицирует скрипт для прошлой версии приложения, а другой – для новой. При условии, что GUI изменения выполняются регулярно от одной версии приложения к другой, не придется долго ждать, пока репозиторий окажется заполненным новыми лишними объектами необходимыми для работы с новой версией приложения. И это еще относительно неплохой результат. Гораздо более худший результат вы получите в случае, если каждый инженер изменяет набор свойств существующих объектов для отражения своих требований, безвозвратно разрушая ROI (возврат инвестиций) проекта автоматизации в целом. Конечно имеются решения и для таких ситуаций, такие как хранение отдельных версий репозитория для соответствующей версии приложения и использование специального ПО по управлению конфигурациями в рамках проекта автоматизации. Но, как говорилось ранее, это требует хорошего управления проектом, что не всегда доступно.&lt;br /&gt;&lt;br /&gt;Кроме того поддержка версионности объектного репозитория оставляет открытой одну проблему. По причине того, что автоматические тесты являются регрессионными по своей сути, их модификация  затрагивает не только OR, но также и код, который реализует непосредственные манипуляции с GUI объектами и проверки, также как и работу с входными данными и ожидаемым результатом. В общем случае, когда при переходе от одной версии приложения к другой меняются только описания объектов, использование объектного репозитория действительно будет оправданным. Тем не менее, чаще ситуация обратная, изменения в GUI отражают изменения в функциональности приложения, которые в свою очередь гораздо чаще сопровождаются более глубокими изменениями – на уровне БД, например. Таким образом, изменения в GUI требуют изменений как на уровне объектного репозитория, так и на уровне скрипта, который ссылается на тестовые объекты и плюс к этому на уровне входных данных для самого скрипта. Учитывая то  факт, что скрипты чаще всего подвергаются модификации, а не разработке, вышеупомянутый анализ приводит меня к мысли, что нечто в концепции OR неправильно по отношении к управлению крупномасштабными проектами автоматизации.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Объектно-ориентированный взгляд&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Концепция ООП базируется на трех основных принципах – &lt;span style="font-style: italic;"&gt;инкапсуляции&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;наследовании &lt;/span&gt;и &lt;span style="font-style: italic;"&gt;полиморфизме&lt;/span&gt;. Инкапсуляция означает упаковку вместе функциональности и данных, которые сосуществуют вместе и данная упаковка, через которую осуществляются обращения, называется &lt;span style="font-style: italic;"&gt;классом&lt;/span&gt;. Фактически классы – это представление данных (например, Customer, Product и т.д.) Различие между полнофункциональным классом и обычной структурой данных в том, что класс содержит в себе функции по работе со своими данными - &lt;span style="font-style: italic;"&gt;полями&lt;/span&gt;. Эти функции обычно называются &lt;span style="font-style: italic;"&gt;методами&lt;/span&gt; класса. Например, типичный класс для Customer-а включал бы себя следующие поля, которые однозначно определяют покупателя (customerId, firstName, lastName, phoneNo и т.д.) вместе с методами &lt;span style="font-weight: bold;"&gt;setCustomerId&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;getCustomerId&lt;/span&gt;, которые присваивают и возвращают значения соответствующим полям, также как и &lt;span style="font-weight: bold;"&gt;getCustomerAge &lt;/span&gt;and &lt;span style="font-weight: bold;"&gt;getCustomerBalance&lt;/span&gt; выполняющими расчеты на основе текущих значений полей и возвращающие результат.&lt;br /&gt;&lt;br /&gt;Наследование тесно связано с одной из важнейших целей ОО подхода – повторного использование кода. В объектно-ориентированных языках, таких как C++ и Java, повторное использование кода вступает в игру посредством возможности создавать новый класс, который “наследует” поля и методы уже созданного класса (называемого &lt;span style="font-style: italic;"&gt;базовым классом&lt;/span&gt;) и расширяет их согласно специфическим требованиям, поставленным для нового класса.&lt;br /&gt;&lt;br /&gt;Полиморфизм – это еще один мощный принцип, который делает возможным определять несколько версий одной функции (с одним именем, но с различным набором аргументов) для того чтобы прозрачно реагировать на различные ситуации в рамках контекста приложения. Например, у нас есть необходимость производить одну и ту же операцию с различным набором аргументов (float, int) и тогда вместо того, чтобы в одной функции реализовывать набор условных операторов для проверки типов переданных параметров, мы определим несколько функций с &lt;span style="font-style: italic;"&gt;одинаковым именем&lt;/span&gt;, но с разной&lt;span style="font-style: italic;"&gt; сигнатурой&lt;/span&gt; (различным набором аргументов). Следовательно, в нашем коде, использующем эти функции, нам не придется использовать приведение типов; мы будем использовать одинаковый интерфейс в обоих случаях, полагаясь на то, что корректный вызов будет осуществлен самой средой выполнения. Тем не менее, в QTP две последние концепции (наследование и полиморфизм) не могут быть реализованы в рамках VB скрипта, который обеспечивает только ограниченную поддержку работы с классами. Тем не менее, позже мы увидим, что это не причина отказываться от использования классов в автоматизации тестирования.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Публичная &lt;/span&gt;и &lt;span style="font-style: italic;"&gt;частная &lt;/span&gt;нотации, упомянутые выше, имеют большое значение в контексте инкапсуляции и наследования. Они позволяют разработчику определять, какие поля (называемые также свойствами или атрибутами класса) и методы будут доступны извне класса (публичные) и какие останутся для внутреннего (частные) использования внутри класса. ОО методология не нова и широко представлена в практике дизайна и разработки ПО. Она общепризнанна как подход, позволяющий сделать код более реиспользуемым, читаемым, поддерживаемым, масштабируемым, расширяемым и конечно более тестируемым (так как большие куски функциональности разбиты на маленькие, самодостаточные  пакеты). Конечно, грамотное использование методологии подразумевает глубокие аналитические навыки, позволяющие дизайнеру делать корректные выводы, на основании требований к ПО, о том, какие объекты вовлекаются и как они взаимодействуют между собой.&lt;br /&gt;&lt;br /&gt;Как это относится к подходу, который мы выбрали или собираемся выбрать для решения задач автоматизации? Давайте разберемся в этом дальше.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Автоматизация Тестирования и Разработка ПО&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Я был свидетелем одной вещи на протяжении всей моей карьеры – это то, что QA профессионалы всех уровней рассматривают автоматизацию тестирования лишь как особый вид тестовой деятельности. Не удивительно, что не так уж редко можно встретить профессионалов в автоматизации, думающих также о роли автоматизации. Иногда это даже отражается в названии должностей для персонала автоматизации: “авто-тестер” - это одно из абсурдных названий из тех, что я встретил несколько лет назад. Все это отражает непонимание роли Инженера Автоматизации и, как я объясню в дальнейшем, данное мнение действительно не соответствует сущности автоматизации тестирования.&lt;br /&gt;&lt;br /&gt;Задача автоматизации тестирования не должна рассматриваться иначе, чем любая другая контекстно-зависимая задача автоматизации. Вообще говоря, компьютерная программа, которая выполняет набор операций вместо человека – реализует автоматизацию. Таким образом, любой блок кода по сути можно рассматривать как автоматическое устройство или робота. Скрипты, которые производят операции над GUI объектами (как тесты в QTP) не отличаются от других частей ПО. Говоря другими словами, проект тестовой автоматизации, несомненно, является специфичным видом проекта по разработке ПО. И как любой программный продукт проект автоматизации также имеет свой собственный документ с функциональными требованиями (Software Requirements Specifications) и дизайн (Software Test Design) документ (либо тест дизайн в одном из промышленных фреймворков, например HP’s Quality Center или Orcanos’ QPack), которыми должен руководствоваться инженер автоматизации при реализации требуемого кода.&lt;br /&gt;&lt;br /&gt;Если это так, то проект автоматизации фактически должен разрабатываться и управляться как любой другой проект разработки, даже более того. А все потому, что инженер автоматизации сталкивается с задачами, которые обычно не касаются разработчиков. Некоторые основные задачи таковы:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Во-первых, инженер автоматизации должен иметь общее понимание системы, так как автоматически скрипт может покрывать широкий спектр функциональности приложения. Члены команды разработки напротив не нуждаются в этом в силу разделения труда среди разных команд обычно координируемых тим-лидерами и менеджером проекта. Таким образом разработчик может сфокусироваться только на часть функционала,за которую он отвечает даже не имеяглубокого понимания системы целиком.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Во-вторых, автоматический скрипт должен быть привязан к тест-дизайну, так как обязан эмулировать действия тестировщика-человека. Но довольно часто инженеры автоматизации обнаруживают, что в тест-дизайне присутсвует множество проблем требующих предварительно выяснения, так как автоматичесикй скрипт не настолько гибок и изобретателен как тестировщик при прогоне тестов.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;В-третьих, GUI-элементы используемые командой разаработки и само поведение приложения могут поставить действительно сложные технологические проблемы касающиеся идентификации объектов на уровне QTP (или другого фреймворка). В большинстве случаев ребуются решения, расширяющие базовые возможности фреймворка особенно в случае использования сторонних и собственных комопонентов.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Следуя описанному выше, я думаю, мы можем заключить, что проект автоматизации определенно должен управляться также как проект разработки. Если это так, почему кто-то должен снова и снова становиться жертвой заблуждения о проекте автоматизации как о тривиальной задаче (методика ”записи-воспроизведения” ничего не напоминает?) в то время как верно обратное? Почему бы тогда не использовать широко применяемый при разработке подход – Объектно Ориентированное Программирование – чтобы достичь наилучших результатов?  Далее я опишу методику реализации автоматизированных скриптов, основанную на расширении концепции OR ( GUI слой ) и базирующую на твердых принципах ООП.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Концепция слоев&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Я надеюсь, что объяснил достаточно подробно, почему подход с использованием Объектного Репозитория (OR), повсеместно используемый в скриптах, далек от  оптимального. Теперь, продолжая начатое обсуждение, позвольте взглянуть на концепцию разработки кода, разделенного на слои или собственно концепцию &lt;span style="font-style: italic;"&gt;GUI слоя&lt;/span&gt;. Вообще, слои весьма полезны для максимизации повторного использования кода (возвращаясь к предыдущему обсуждению принципов ООП). Я бы определил GUI слой как множество классов, которые объединяют (инкапсулируют)  вместе необходимые интерфейсы для манипуляции GUI объектами тестового приложения для выделенной функционально части. Другими словами – это множество классов, обеспечивающих связь между  GUI тестового приложения (то есть определенных тестовых объектов) и Бизнес или Прикладным Слоем, о котором мы поговорим позднее. Может быть, было бы более подходящим назвать его Слой GUI-Бизнес Адаптера, но среди экспертов уже устоялся термин GUI Слой, для краткости. Я проиллюстрирую ниже, как такой слой может быть создан и, какие преимущества достигаются при применении данного подхода в рамках тестовой автоматизации.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Реализация GUI Слоя&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Инкапсуляция Тестовых Объектов в Классы&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Давайте возьмем проект тестовой автоматизации для типичного приложения и посмотрим, каким образом должен быть построен фреймворк для достижения описанных выше целей. Первым шагом будет создание списка всего GUI контекста в приложении – окон (страниц в Web приложениях), диалогов и всплывающих окон. Для каждого элемента этого списка, который в свою очередь выступает контейнером для других GUI объектов, мы определяем класс, например:&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Class&lt;/b&gt; Login&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Class&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Class&lt;/b&gt; MainWindow&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Class&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Class&lt;/b&gt; CreateCustomer&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Class&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;и так далее для каждого контекста приложения. По причине того, что QTP не позволяет прямое создание класса определенного во внешней библиотеке с помощью оператора &lt;span style="font-weight: bold;"&gt;New&lt;/span&gt;, нам также необходимо определить следующую функцию (разновидность конструктора), которая вернет нам экземпляр GUI-слоя:&lt;br /&gt;&lt;span style="white-space:pre"&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Public Function&lt;/b&gt; CreateLogin()&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;br /&gt;'Function: CreateLogin&lt;br /&gt;'Creates an instance of the Login class&lt;br /&gt;'&lt;br /&gt;'Remarks:&lt;br /&gt;'&lt;br /&gt;'Arguments:&lt;br /&gt;'   N/A&lt;br /&gt;'&lt;br /&gt;'Returns:&lt;br /&gt;'    Object - As Login&lt;br /&gt;'&lt;br /&gt;'Owner:&lt;br /&gt;'    John Doe&lt;br /&gt;'&lt;br /&gt;'Date:&lt;br /&gt;'    dd-MMM-yyyy&lt;br /&gt;'&lt;br /&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;    Dim&lt;/b&gt; objLogin&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;    Set&lt;/b&gt; objLogin = &lt;b style="color: rgb(31, 73, 125);"&gt;New&lt;/b&gt; Login&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;    Set&lt;/b&gt; CreateLogin = objLogin&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Function&lt;/b&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Второй шаг, очевидно, определить список элементов внутри каждого класса. Теперь, так как каждый класс, согласно вышеизложенному  – это контейнер других GUI объектов, мы будем использовать Scripting.Dictionary для хранения ссылок на тест-объекты находящиеся на окне, диалоге или странице. (объект Dictionary широко обсуждался в статьях опубликованных в &lt;a href="http://www.advancedqtp.com/"&gt;AdvancedQTP&lt;/a&gt;’s &lt;a href="http://www.advancedqtp.com/knowledge-base"&gt;базе знаний&lt;/a&gt;). Таким образом, первый элемент который я представлю здесь, будет общим для всех GUI Layer классов, и я определю его как m_htChildObjects:&lt;br /&gt;&lt;span style="white-space:pre"&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Class&lt;/b&gt; Login&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;    Private&lt;/b&gt; m_htChildObjects 'As Scripting.Dictionary&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Class&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Class&lt;/b&gt; MainWindow&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;    Private&lt;/b&gt; m_htChildObjects 'As Scripting.Dictionary&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Class&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;и так далее для каждого контекста приложения (ht – префикс для HashTable, чем объект  Dictionary на самом деле и является). Частный элемент &lt;span style="font-weight: bold;"&gt;m_htChildObjects&lt;/span&gt; будет доступен через свойство класса &lt;span style="font-weight: bold;"&gt;ChildObjects&lt;/span&gt;. Это свойство определено как:&lt;br /&gt;&lt;span style="white-space:pre"&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;br /&gt;'Property: ChildObjects&lt;br /&gt;'Get and Set the m_htChildObjects member field&lt;br /&gt;'&lt;br /&gt;'Remarks:&lt;br /&gt;'   R/W&lt;br /&gt;'&lt;br /&gt;'Arguments:&lt;br /&gt;'   dic&lt;br /&gt;'&lt;br /&gt;'Returns:&lt;br /&gt;'   m_htChildObjects As HashTable&lt;br /&gt;'&lt;br /&gt;'Owner:&lt;br /&gt;'    John Doe&lt;br /&gt;'&lt;br /&gt;'Date:&lt;br /&gt;'    dd-MMM-yyyy&lt;br /&gt;'&lt;br /&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Public Property Get&lt;/b&gt; ChildObjects()&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;    Set&lt;/b&gt; ChildObjects = m_htChildObjects&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Property&lt;/b&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Public Property Let&lt;/b&gt; ChildObjects(&lt;b style="color: rgb(31, 73, 125);"&gt;ByRef&lt;/b&gt; dic)&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;    Set&lt;/b&gt; m_htChildObjects = dic&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Property&lt;/b&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Третий шаг – определение всех объектов внутри каждого контекста. Для этой цели я определю публичный метод &lt;span style="font-weight: bold;"&gt;Init&lt;/span&gt;:&lt;br /&gt;&lt;span style="white-space:pre"&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Public Function&lt;/b&gt; Init()&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;br /&gt;'Function: Init&lt;br /&gt;'Initializes the context and child objects&lt;br /&gt;'&lt;br /&gt;'Dependencies:&lt;br /&gt;'   IsContextLoaded(htContext)&lt;br /&gt;'&lt;br /&gt;'Remarks:&lt;br /&gt;'   N/A&lt;br /&gt;'&lt;br /&gt;'Arguments:&lt;br /&gt;'    N/A&lt;br /&gt;'&lt;br /&gt;'Returns:&lt;br /&gt;'   True/False&lt;br /&gt;'&lt;br /&gt;'Owner:&lt;br /&gt;'   John Doe&lt;br /&gt;'&lt;br /&gt;'Date:&lt;br /&gt;'   dd-MMM-yyyy&lt;br /&gt;'&lt;br /&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;ChildObjects = CreateObject("Scripting.Dictionary")&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;With&lt;/b&gt; ChildObjects&lt;br /&gt;    .Add "Browser", Browser("name:=My App")&lt;br /&gt;    .Add "Page", ChildObjects("Browser").Page("title:=My App \- Login")&lt;br /&gt;    .Add "Username", ChildObjects("Page").WebEdit("html id:=Username")&lt;br /&gt;    .Add "Password", ChildObjects("Page").WebEdit("html id:=Password")&lt;br /&gt;    .Add "Submit", ChildObjects("Page").WebButton("outertext:=Submit")&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End With&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'IsContextLoaded is a function that iterates through the Dictionary and checks if the GUI objects "exist"&lt;/span&gt;&lt;br /&gt;Init = IsContextLoaded(ChildObjects)&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Function&lt;/b&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Часть кода, показанного выше, описывает типичный метод &lt;span style="font-weight: bold;"&gt;Init &lt;/span&gt;для GUI Layer класса страницы логина в Web приложении. Тестовые объекты добавляются, как элементы словаря &lt;span style="font-weight: bold;"&gt;ChildObjects &lt;/span&gt;и их свойства определены посредством Дескрипторного программирования (DP).  Читатель может легко провести аналогию с Объектным репозиторием (OR). Благодаря этому встроенному методу мы можем быть уверены, что GUI-объекты всегда определяются в одном месте. В конце кода метода вы можете отметить, что он возвращает результат вызова функции &lt;span style="font-weight: bold;"&gt;IsContextLoaded &lt;/span&gt;которая принимает в качестве аргумента словарь, содержащий ChildObjects.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;IsContextLoaded &lt;/span&gt;определятся в отдельной общей библиотеке, следующим образом:&lt;br /&gt;&lt;span style="white-space:pre"&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Public Function&lt;/b&gt; IsContextLoaded(ByRef htContext)&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;br /&gt;'Function: IsContextLoaded&lt;br /&gt;'Checks that the current GUI context is loaded&lt;br /&gt;'&lt;br /&gt;'Iterates through the htContext (HashTable) items and executes the Exist method with 0 (zero) as parameter.&lt;br /&gt;'&lt;br /&gt;'Remarks:&lt;br /&gt;'    N/A&lt;br /&gt;'&lt;br /&gt;'Arguments:&lt;br /&gt;'  ByRef htContext - As HashTable&lt;br /&gt;'&lt;br /&gt;'Returns:&lt;br /&gt;'   True/False&lt;br /&gt;'&lt;br /&gt;'Owner:&lt;br /&gt;'    Meir Bar-Tal, SOLMAR Knowledge Networks Ltd.&lt;br /&gt;'&lt;br /&gt;'Date:&lt;br /&gt;'    11-Nov-2008&lt;br /&gt;'&lt;br /&gt;'See Also:&lt;br /&gt;'&lt;br /&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Dim&lt;/b&gt; ix, items, keys, strDetails, strAdditionalRemarks&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'—————————————————————————&lt;/span&gt;&lt;br /&gt;items = htContext.Items&lt;br /&gt;keys = htContext.Keys&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;For&lt;/b&gt; ix = 0 &lt;b style="color: rgb(31, 73, 125);"&gt;To&lt;/b&gt; htContext.Count-1&lt;br /&gt;    IsContextLoaded = IsContextLoaded &lt;b style="color: rgb(31, 73, 125);"&gt;And&lt;/b&gt; items(ix).Exist(0)&lt;br /&gt;    strDetails = strDetails &amp;amp; vbNewLine &amp;amp; "Object #" &amp;amp; ix+1 &amp;amp; ": '" &amp;amp; keys(ix) &amp;amp; "' was"&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;    If&lt;/b&gt; IsContextLoaded &lt;b style="color: rgb(31, 73, 125);"&gt;Then&lt;/b&gt;&lt;br /&gt;        intStatus = micPass&lt;br /&gt;        strDetails = strDetails &amp;amp; ""&lt;br /&gt;        strAdditionalRemarks = ""&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;    Else&lt;/b&gt;&lt;br /&gt;        intStatus = micWarning&lt;br /&gt;        strDetails = strDetails &amp;amp; " not"&lt;br /&gt;        strAdditionalRemarks = " Please check the object properties."&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;    End If&lt;/b&gt;&lt;br /&gt;    strDetails = strDetails &amp;amp; " found." &amp;amp; strAdditionalRemarks&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Next&lt;/b&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'—————————————————————————&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Reporter.ReportEvent intStatus, "IsContextLoaded", strDetails&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Function&lt;/b&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;И она возвращает Истину если все объекты, определенные в словаре идентифицированы или Ложь если хотя бы один из объектов не найден. Эта функция универсальная и используется для всех проектов, которые я веду для того чтобы быть уверенным, что QTP не зависнет при попытке выполнения операций с несуществующим GUI-объектом. Еще одно преимущество этого метода в том, что он указывает точно на тот объект, который вы хотите проверить и изменить, делая поддержку значительно более легкой.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Инкапсуляция бизнес методов в классы&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Следующий шаг, после определения дочерних объектов для тестируемого контента – это определение операций, необходимых для выполнения бизнес-сценариев в рамках данного контента. Это легко реализуется через методы класса. Например, класс &lt;span style="font-weight: bold;"&gt;Login&lt;/span&gt;, описанный выше нуждается в следующих методах для начала работы с ним: &lt;span style="font-weight: bold;"&gt;SetUsername&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;SetPassword &lt;/span&gt;и &lt;span style="font-weight: bold;"&gt;Submit&lt;/span&gt;. Они показаны ниже:&lt;br /&gt;&lt;span style="white-space:pre"&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Public Function&lt;/b&gt; SetUsername()&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;br /&gt;'Function: SetUsername&lt;br /&gt;'Set the Username field&lt;br /&gt;'&lt;br /&gt;'Dependencies:&lt;br /&gt;'   N/A&lt;br /&gt;'&lt;br /&gt;'Remarks:&lt;br /&gt;'   N/A&lt;br /&gt;'&lt;br /&gt;'Arguments:&lt;br /&gt;'    N/A&lt;br /&gt;'&lt;br /&gt;'Returns:&lt;br /&gt;'   N/A&lt;br /&gt;'&lt;br /&gt;'Owner:&lt;br /&gt;'   John Doe&lt;br /&gt;'&lt;br /&gt;'Date:&lt;br /&gt;'   dd-MMM-yyyy&lt;br /&gt;'&lt;br /&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;ChildObjects("Username").&lt;b style="color: rgb(31, 73, 125);"&gt;Set&lt;/b&gt; GlobalDictionary("Username")&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Function&lt;/b&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Public Function&lt;/b&gt; SetPassword()&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;br /&gt;'Function: SetPassword&lt;br /&gt;'Set the Password field&lt;br /&gt;'&lt;br /&gt;'Dependencies:&lt;br /&gt;'   N/A&lt;br /&gt;'&lt;br /&gt;'Remarks:&lt;br /&gt;'   N/A&lt;br /&gt;'&lt;br /&gt;'Arguments:&lt;br /&gt;'    N/A&lt;br /&gt;'&lt;br /&gt;'Returns:&lt;br /&gt;'   N/A&lt;br /&gt;'&lt;br /&gt;'Owner:&lt;br /&gt;'   John Doe&lt;br /&gt;'&lt;br /&gt;'Date:&lt;br /&gt;'   dd-MMM-yyyy&lt;br /&gt;'&lt;br /&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;ChildObjects("Password").&lt;b style="color: rgb(31, 73, 125);"&gt;Set&lt;/b&gt; GlobalDictionary("Password")&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Function&lt;/b&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Public Function&lt;/b&gt; Submit()&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;br /&gt;'Function: Submit&lt;br /&gt;'Presses the Submit button&lt;br /&gt;'&lt;br /&gt;'Dependencies:&lt;br /&gt;'   N/A&lt;br /&gt;'&lt;br /&gt;'Remarks:&lt;br /&gt;'   N/A&lt;br /&gt;'&lt;br /&gt;'Arguments:&lt;br /&gt;'    N/A&lt;br /&gt;'&lt;br /&gt;'Returns:&lt;br /&gt;'   N/A&lt;br /&gt;'&lt;br /&gt;'Owner:&lt;br /&gt;'   John Doe&lt;br /&gt;'&lt;br /&gt;'Date:&lt;br /&gt;'   dd-MMM-yyyy&lt;br /&gt;'&lt;br /&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;ChildObjects("Submit").Click&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'TODO: Verify data submission performed successfully&lt;br /&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Function&lt;/b&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Отметим использование GlobalDictionary для получения требуемых значений для функций (username, password) и использование  свойства ChildObjects для получения через тестовый объект ссылки на выполняемый объект.&lt;br /&gt;&lt;br /&gt;Следующим шагом будет перемещение на Бизнес Слой (Business Layer), который реализует бизнес сценарий, построенный на базе GUI Слоя (GUI Layer). Например, для того чтобы выполнить логин в систему на основе вышеописанного примера мы реализуем следующую функцию:&lt;br /&gt;&lt;span style="white-space:pre"&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Public Function&lt;/b&gt; do_login()&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;br /&gt;'Function:    do_login&lt;br /&gt;'Implements the business logic of the do_login Action.&lt;br /&gt;'&lt;br /&gt;'Remarks:&lt;br /&gt;'&lt;br /&gt;'Arguments:&lt;br /&gt;'    None&lt;br /&gt;'&lt;br /&gt;'Returns:&lt;br /&gt;'    Status&lt;br /&gt;'&lt;br /&gt;'Owner:&lt;br /&gt;'    John Doe&lt;br /&gt;'&lt;br /&gt;'Date:&lt;br /&gt;'    dd-MMM-yyyy&lt;br /&gt;'&lt;br /&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Dim&lt;/b&gt; intStatus, objLogin&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Set&lt;/b&gt; objLogin = CreateLogin()&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;If&lt;/b&gt; objLogin.Init() &lt;b style="color: rgb(31, 73, 125);"&gt;Then&lt;/b&gt;&lt;br /&gt;    objLogin.SetUsername()&lt;br /&gt;    objLogin.SetPassword()&lt;br /&gt;    objLogin.Submit()&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;    'If login succeeds&lt;/span&gt;&lt;br /&gt;    intStatus = micPass&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Else&lt;/b&gt;&lt;br /&gt;    intStatus = micFail&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End If&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;do_login = intStatus&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Function&lt;/b&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Отметим использование класса Login описанного выше и его функции &lt;span style="font-weight: bold;"&gt;Init &lt;/span&gt;как меру предосторожности для уверенности, что необходимый контент загружен и не завис, как обсуждалось ранее. Как вы можете видеть, код вышеописанной функции достаточно просто для понимания, и не перегружен ссылками на OR объекты, источники данных как при обычной реализации. Если изменения на GUI затронут объекты в данном контенте – все изменения будут сконцентрированы только в данном &lt;span style="font-weight: bold;"&gt;пакете&lt;/span&gt;, как те что касаются собственно свойств объектов так и  механизмов работы с дочерними объектами. Еще одно преимущество данной методики – это &lt;span style="font-style: italic;"&gt;стандартизация&lt;/span&gt;. Разрабатывая код по данной схеме, мы достигаем высокой степени унификации кода написанного разными разработчиками и таким образом улучшаем управляемость тестового проекта.&lt;br /&gt;&lt;br /&gt;Более продвинутая альтернатива последнему примеру – это упаковка таких бизнес-функций, используя Command Wrapper шаблон проектирования, как это описано в моей статье &lt;a href="http://www.advancedqtp.com/knowledge-base/articles/code-techniques-id15/code-design-id16/design-patterns-id30/function-pointers-in-vb-script-revised/"&gt;Function Pointers in VB Script (revised)&lt;/a&gt;. Например:&lt;br /&gt;&lt;span style="white-space:pre"&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'VB Script Document&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Option&lt;/b&gt; Explicit&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Class&lt;/b&gt; do_login&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;br /&gt;'Class:    do_login&lt;br /&gt;'Encapsulates the do_login Action.&lt;br /&gt;'&lt;br /&gt;'Remarks:&lt;br /&gt;'&lt;br /&gt;'Owner:&lt;br /&gt;'    John Doe&lt;br /&gt;'&lt;br /&gt;'Date:&lt;br /&gt;'    dd-MMM-yyyy&lt;br /&gt;'&lt;br /&gt;'——————————————————————————-&lt;br /&gt;'——————————————————————————-&lt;br /&gt;'Methods&lt;br /&gt;'——————————————————————————-&lt;br /&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Public Default Function&lt;/b&gt; Run()&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;br /&gt;'Function:    Run&lt;br /&gt;'Implements the business logic of the do_login Action.&lt;br /&gt;'&lt;br /&gt;'Remarks:&lt;br /&gt;'&lt;br /&gt;'Arguments:&lt;br /&gt;'    None&lt;br /&gt;'&lt;br /&gt;'Returns:&lt;br /&gt;'    Status&lt;br /&gt;'&lt;br /&gt;'Owner:&lt;br /&gt;'    John Doe&lt;br /&gt;'&lt;br /&gt;'Date:&lt;br /&gt;'    dd-MMM-yyyy&lt;br /&gt;'&lt;br /&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Dim&lt;/b&gt; intStatus&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Set&lt;/b&gt; objLogin = CreateLogin()&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;If&lt;/b&gt; objLogin.Init() &lt;b style="color: rgb(31, 73, 125);"&gt;Then&lt;/b&gt;&lt;br /&gt;    objLogin.SetUsername()&lt;br /&gt;    objLogin.SetPassword()&lt;br /&gt;    objLogin.Submit()&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;    'If login succeeds&lt;/span&gt;&lt;br /&gt;    intStatus = micPass&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;Else&lt;/b&gt;&lt;br /&gt;    intStatus = micFail&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End If&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Run = intStatus&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Function&lt;/b&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;br /&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(31, 73, 125);"&gt;End Class&lt;/b&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt;'——————————————————————————-&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Адаптация данной методики делает возможным реализацию продвинутых универсальных контроллеров (&lt;span style="font-weight: bold;"&gt;generic controller&lt;/span&gt;), которые загружают свои сценарии из внешних источников данных, таких как XML файл. Такие управляющие структуры были разработаны мной и моими партнерами в SOLMAR Knowledge Networks как часть нашего универсального фреймворка - Object Oriented comprehensive automation framework - &lt;span style="font-weight: bold;"&gt;My System&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;Выводы&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;В данной статье рассматривался альтернативный подход реализации тестов при автоматизации,  основанный на объектно-ориентированной методологии. Я показал, что автоматизацию не следует рассматривать иначе, чем разработку программ. Более того, я постарался отразить, что логически следуя данной мысли, мы приходим к заключению, что проект автоматизации должен рассматриваться как программный проект в идеале, и предложил  расширение концепции Объектного Репозитория (OR) (которая показала несоответствие OR методологии ООП) для инкапсуляции интерфейсов GUI объектов: GUI Слой.&lt;br /&gt;В статье также приводился практический пример реализации такого слоя и его вызов, используя Бизнес-Слой, и разъяснены в деталях преимущества такого подхода для достижения  максимального эффекта от вложенных инвестиций (ROI) в проекте автоматизации относительно поддерживаемости, читаемости, масштабируемости, расширяемости и тестируемости. Следующие статьи расширят данную тему и  покажут читателям, как получить выигрыш от реализации в фреймворке других шаблонов проектирования, помимо изложенных в рамках этой статьи.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-3038670807146668009?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/3038670807146668009/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=3038670807146668009' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3038670807146668009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3038670807146668009'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/05/qtp-gui.html' title='QTP: Реализация GUI слоя при помощи классов'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_N18ZDLq5XX0/SeLUXl2zvKI/AAAAAAAAAEc/WxTW9cfUDXg/s72-c/AdvancedQTP.bmp' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-7473130756249738999</id><published>2009-05-08T16:52:00.003+03:00</published><updated>2009-05-08T16:55:21.496+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='полезное'/><category scheme='http://www.blogger.com/atom/ns#' term='вехи'/><category scheme='http://www.blogger.com/atom/ns#' term='развитие'/><category scheme='http://www.blogger.com/atom/ns#' term='sqa'/><title type='text'>Читайте нас в Quality Matters, Issue 2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N18ZDLq5XX0/SgQ5tvM__lI/AAAAAAAAAGs/wHO6yC2tmLE/s1600-h/1.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 142px; height: 200px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/SgQ5tvM__lI/AAAAAAAAAGs/wHO6yC2tmLE/s200/1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5333451316641398354" /&gt;&lt;/a&gt;&lt;br /&gt;Немного с опозданием, но хочу поделиться с вами очередной приятной новостью!&lt;br /&gt;Во 2-м выпуске журнала Quality Matters напечатали мою статью по развитию и обучению тестировщиков.&lt;br /&gt;Второй выпуск журнала можно скачать &lt;a href="http://quality-matters.org/"&gt;здесь&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Постараемся не останавливаться на достигнутом! ;)&lt;br /&gt;Присоединяйтесь!&lt;br /&gt;&lt;br /&gt;Всегда ваша, &lt;br /&gt;Наташа Искорцева (Густыр)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-7473130756249738999?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/7473130756249738999/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=7473130756249738999' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/7473130756249738999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/7473130756249738999'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/05/quality-matters-issue-2.html' title='Читайте нас в Quality Matters, Issue 2'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_N18ZDLq5XX0/SgQ5tvM__lI/AAAAAAAAAGs/wHO6yC2tmLE/s72-c/1.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-3105166543356626039</id><published>2009-04-16T09:45:00.021+03:00</published><updated>2009-04-16T13:43:02.855+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='полезное'/><title type='text'>Разоблачение Excel: Проверка вводимых данных - выпадающие списки</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/SebXcYJ9YcI/AAAAAAAAAE0/lW9VHnfsqag/s1600-h/Demistifying+Excel.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 159px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/SebXcYJ9YcI/AAAAAAAAAE0/lW9VHnfsqag/s200/Demistifying+Excel.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325180491932721602" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Часто ли у вас возникало желание, после получения отчета в Excel (абсолютно на любую тематику), убить его автора? Если возникало и не раз – скорее всего вы наш пациент :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;strong&gt;1. Отчёт, отчёт и еще раз …?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Казалось бы &lt;b&gt;чем&lt;/b&gt; можно убить любую здравую идею, подразумевающую некоторую информационную составляющую: ”Давайте соберем статистику использования различных операционок на проектах”, “Надо бы собрать сведения об используемом ПО для оптимизации расходов компании” и т.д.? &lt;br /&gt;&lt;br /&gt;Правильно – &lt;b&gt;бездарно собранной информацией&lt;/b&gt;!!! &lt;br /&gt;&lt;br /&gt;Итак, смотрим, что мы получили в ответ на наш запрос:&lt;br /&gt;&lt;br /&gt;Раз&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/Sebhoq8IrJI/AAAAAAAAAFE/simx-12iIFs/s1600-h/Demistifying+Excel_1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/Sebhoq8IrJI/AAAAAAAAAFE/simx-12iIFs/s400/Demistifying+Excel_1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325191698249723026" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;И два&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/Sebh2n7Pm2I/AAAAAAAAAFM/lUKezK2rk4U/s1600-h/Demistifying+Excel_2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 223px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/Sebh2n7Pm2I/AAAAAAAAAFM/lUKezK2rk4U/s400/Demistifying+Excel_2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325191937958845282" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;С одной стороны вроде и информация собрана, а с другой…&lt;br /&gt;&lt;br /&gt;Бухгал&lt;b&gt;трр&lt;/b&gt;ия Плюс – это почти Бухгалтерия Плюс, но не совсем.&lt;br /&gt;Анти&lt;b&gt;вр&lt;/b&gt;ус  (ПО) – это почти Антивирус  (ПО), но не совсем.&lt;br /&gt;Отдел сопро&lt;b&gt;вж&lt;/b&gt;дения ПО – это почти Отдел сопровождения ПО, но не совсем.&lt;br /&gt;&lt;br /&gt;И уж совсем ни одно и тоже Windows XP, Win XP, XP, WinXP.&lt;br /&gt;Как впрочем и 1C Бухгалтерия, 1C,  1C Бухгалтерия 7.0.&lt;br /&gt;&lt;br /&gt;Поэтому, засучив рукава, идем за большим напильником и начинаем … :)&lt;br /&gt;&lt;br /&gt;Стоп, а если отложить напильник в сторону (на время) и попытаться проанализировать, что же сделано не так и как избежать повторения этой ситуации. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Очень гибко хорошо, очень гибко плохо?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;На вопрос, что же использовать в качестве хранилища нашей кропотливо, но в тоже время очень срочно, собираемой информации ответ настолько очевиден, что иногда вызывает недоумение: ”Вам может еще и базу данных слепить по-быстрому? Возьмите вот Excel и завтра чтобы отчет был у меня на столе.”&lt;br /&gt;&lt;br /&gt;И действиетльно, что может быть лучше, чем использовать всем знакомый, доступный, простой в использовании Excel. Тем более, что это почти база данных – сортировка, фильтрация, автосуммирование и другие ”взрослые” функции присутствуют. Лишних заумных вещей таких как внешние ключи, индексы, контроль уникальности, строгая типизация, словари и т.д. – нет.&lt;br /&gt;&lt;br /&gt;Все казалось бы верно, но возвращаясь к собранным отчетам, возникает чувство некоторой неполноценности: ”А можно, чтобы все также просто как в Excel, но еще и чтобы контроль данных был?” (перед глазами заботливо всплыл образ Никулина и его ”перламутровые пуговицы”). &lt;br /&gt;И чтобы тоска от сознания необходимости ковырятся в VB for application, макросах, формулах не потушила робкую надежду, как минимум, дочитать эту статью до конца, а как максимум, реализовать то, что в ней написано, сразу ответим – можно и это не так уж сложно, как может показаться на первый взгляд.&lt;br /&gt; &lt;br /&gt;Итак, устраиваемся поудобнее и готовимся увидеть необычное и удивительное в привычных и обыденных вещах.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Готовим прокрустово ложе.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Для начала нам нужно подготовить корректные значения для заполнения наших выпадающих списков правильными величинами. Это можно сделать на отдельной странице нашего Excel файла, назовем её просто и незатейливо – ”Списки (первый  вариант)” и скопируем в нее наш список проектов.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N18ZDLq5XX0/SebiOSGCztI/AAAAAAAAAFU/D-Pt2NcEyLg/s1600-h/Demistifying+Excel_3.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 270px; height: 192px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/SebiOSGCztI/AAAAAAAAAFU/D-Pt2NcEyLg/s400/Demistifying+Excel_3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325192344415424210" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Обозначим на этой же странице область для проведения натурных испытаний, например вот таким образом:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/SebiTcUkXSI/AAAAAAAAAFc/-R1ZplI_ovg/s1600-h/Demistifying+Excel_4.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 293px; height: 72px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SebiTcUkXSI/AAAAAAAAAFc/-R1ZplI_ovg/s400/Demistifying+Excel_4.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325192433060044066" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;И активируем диалог валидации данных ( Main menu&gt;Data&gt;Data Validation ) для выбранной ячейки&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/SebiXyHvtrI/AAAAAAAAAFk/UssqisIFy6w/s1600-h/Demistifying+Excel_5.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 66px; height: 66px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/SebiXyHvtrI/AAAAAAAAAFk/UssqisIFy6w/s400/Demistifying+Excel_5.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325192507631318706" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Итак давайте внимательно разберемся, что нам предоставляет Excel  в качестве инструментов тонкой огранки информации и что будет действительно удобно и полезно нам для реализации задуманного.&lt;br /&gt;&lt;br /&gt;Первая страница диалога – &lt;b&gt;Settings&lt;/b&gt; (в большинстве случаев её оказывается достаточно) позволяет вам ограничить входные данные согласно заданным правилам. Для настройки необходимого нам типа валидации следует выбрать значение выполнить установки согласно картинке ниже, то есть &lt;b&gt;Allow = List&lt;/b&gt;. &lt;br /&gt;&lt;br /&gt;Обратите внимание,что на странице появились дополнительные элементы управления: &lt;br /&gt;&lt;b&gt;In-cell dropdown&lt;/b&gt; – говорит, что значения предлагаются в виде выпадающего списка;&lt;br /&gt;&lt;b&gt;Source&lt;/b&gt; – указывает где брать допустимые значения.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/SebicHsy_tI/AAAAAAAAAFs/yBmRL1xzeic/s1600-h/Demistifying+Excel_6.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 317px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/SebicHsy_tI/AAAAAAAAAFs/yBmRL1xzeic/s400/Demistifying+Excel_6.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325192582143344338" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Вторая страница – &lt;b&gt;Input Message&lt;/b&gt; пытается ”отпугнуть” неправильные значения еще на ближних подступах, а точнее при активации ячейки. После перехода в ячейку с активированным данным типом валидации появляется всплывающая подсказка с вашим текстом. Но я бы советовал пользоваться данным типом предупреждений очень осторожно потому, что при активной работе такие подсказки больше раздразжают, чем помогают.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N18ZDLq5XX0/SebigEQzWmI/AAAAAAAAAF0/baKZUX-K1Ow/s1600-h/Demistifying+Excel_7.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 317px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/SebigEQzWmI/AAAAAAAAAF0/baKZUX-K1Ow/s400/Demistifying+Excel_7.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325192649940097634" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Более удобный вариант подсказки предполагает использование вкладки &lt;b&gt;Error Alert&lt;/b&gt;. При использовании этого варианта сообщения появляются при попытке выхода из поля при условии неправильного введенного значения.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/SebikqtAxJI/AAAAAAAAAF8/_Wfurt65sII/s1600-h/Demistifying+Excel_8.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 317px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/SebikqtAxJI/AAAAAAAAAF8/_Wfurt65sII/s400/Demistifying+Excel_8.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325192728978441362" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Посмотрим на результат применения всех трех заполненных вкладок:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/SebipCZlVjI/AAAAAAAAAGE/8xF9ewN42eY/s1600-h/Demistifying+Excel_9.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 357px; height: 285px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SebipCZlVjI/AAAAAAAAAGE/8xF9ewN42eY/s400/Demistifying+Excel_9.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325192804058879538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Получилась каша, неправда ли? &lt;br /&gt;Поэтому предлагаю остановится на следующем варианте, как наименее тревожащем психоэмоциональный фон: списковая валидация для поля + сообщение на выходе в случае неправильного значения.&lt;br /&gt;&lt;br /&gt;Если же вас вполне устраивает стандартное сообщение об ошибке, то можно ограничиться активацией только первой закладки. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3.1. Огласите весь список, пожалуйста.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Оказывается “огласить” список допустимых значений тоже можно не одним способом, а как минимум тремя.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Перечисление списка допустимых значений.&lt;/b&gt;&lt;br /&gt;Первый и самый простой (именно этот способ и запечатлен на рисунке выше) – это перечисление списка значений через разделитель ; напрямую в поле Source первой вкладки:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/Sebjw-z-fRI/AAAAAAAAAGM/1lfBzKrofY4/s1600-h/Demistifying+Excel_10.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 265px; height: 43px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/Sebjw-z-fRI/AAAAAAAAAGM/1lfBzKrofY4/s400/Demistifying+Excel_10.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325194040046419218" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Быстро, понятно, удобно и … &lt;br /&gt;не стоит так делать (точнее делать можно, но предварительно хорошо подумав)&lt;br /&gt;&lt;br /&gt;Представим ситуацию, когда таким образом провалидированные поля разбросаны щедрой рукой по всему Excel файлу и вдруг оказывается, что нужно добавить в список допустимых значений еще одну строчку! &lt;br /&gt;Поэтому, хорошенько подумав такой стиль оформления применяйте только для абсолютно фиксированных небольших списков, например: {Да;Нет}, {M;Ж}, {Pass;Fail}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Фиксированный диапазон.&lt;/b&gt;&lt;br /&gt;Для больших или, потенциально, подверженных изменениям списков, лучше применять следующую тактику:&lt;br /&gt;- сначала на отдельной странице создаем список допустимых значений&lt;br /&gt;- затем в поле валидации делаем ссылку на этот список&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N18ZDLq5XX0/Sebj12SQ3TI/AAAAAAAAAGU/EaGDcCMJoRs/s1600-h/Demistifying+Excel_11.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 199px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/Sebj12SQ3TI/AAAAAAAAAGU/EaGDcCMJoRs/s400/Demistifying+Excel_11.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325194123656879410" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Очевидно, что этот способ лишен недостаков первого и достаточно гибок по отношению к изменениям, но по-настоящему элегантным является следующий способ. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Именованный диапазон.&lt;/b&gt;&lt;br /&gt;Оформив наш список значений в виде именованного диапазона с логичным и понятым для вас именем (в данном случае ”Проекты”). Мы можем вместо буквенно-числовой шифрограммы $A$2:$A$8 использовать осмысленное имя – Проекты. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_N18ZDLq5XX0/Sebj6S3bN-I/AAAAAAAAAGc/rExzJQM1S7U/s1600-h/Demistifying+Excel_12.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 272px; height: 46px;" src="http://1.bp.blogspot.com/_N18ZDLq5XX0/Sebj6S3bN-I/AAAAAAAAAGc/rExzJQM1S7U/s400/Demistifying+Excel_12.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325194200048416738" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_N18ZDLq5XX0/Sebj_HZI4gI/AAAAAAAAAGk/DTv_MXn2ALg/s1600-h/Demistifying+Excel_13.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 307px; height: 340px;" src="http://1.bp.blogspot.com/_N18ZDLq5XX0/Sebj_HZI4gI/AAAAAAAAAGk/DTv_MXn2ALg/s400/Demistifying+Excel_13.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325194282867941890" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Кроме того если для второго варианта еще оставалось неудобство с переносом самого списка значений, то последний вариант лишен этого недостатка.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Выводы&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Возвращаясь к началу статьи, я очень надеюсь, что в следующий раз такой инструмент точной подгонки данных как мифический напильник вам не понадобится, и вы сэкономите свои нервы и время своих коллег.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;P.S. Для лентяев (к которым я причисляю и себя) в комментариях можно найти ссылу на Excel-файл, являющийся материализацией вышеизложенного материала.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;С уважением,&lt;br /&gt;Сергей Талалаев&lt;/em&gt; &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-3105166543356626039?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/3105166543356626039/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=3105166543356626039' title='Комментарии: 6'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3105166543356626039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3105166543356626039'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/04/excel.html' title='Разоблачение Excel: &lt;br&gt;Проверка вводимых данных - выпадающие списки'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_N18ZDLq5XX0/SebXcYJ9YcI/AAAAAAAAAE0/lW9VHnfsqag/s72-c/Demistifying+Excel.JPG' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-4310316705374341053</id><published>2009-04-13T08:52:00.011+03:00</published><updated>2009-04-13T16:12:24.581+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='автоматизация'/><title type='text'>Нас публикуют за  рубежом!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/SeLUXl2zvKI/AAAAAAAAAEc/WxTW9cfUDXg/s1600-h/AdvancedQTP.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 280px; height: 88px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SeLUXl2zvKI/AAAAAAAAAEc/WxTW9cfUDXg/s320/AdvancedQTP.bmp" alt="" id="BLOGGER_PHOTO_ID_5324051211269422242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;В рамках реализации проекта по перемещению мировой столицы тестирования в Минск (О.Бендер и Нью-Васюки нервно курят) состоялась публикация нашей статьи на специализированном сайте по автотестированию &lt;a href="http://advancedqtp.com/"&gt;AdvancedQTP.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;А если серьезно, то ...&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;Я очень благодарен этому профессиональному сайту. Начиная с первой страницы (один слоган чего стоит: 'coz we're programmers - not users) становится понятно, что аудитория здесь собралась крайне серьезная. Мне очень повезло, что начиная свой путь с QTP я столкнулся именно с этим ресурсом. Многие сложные оказались предельно простыми после ознакомления с материалами, размещенными на сайте.&lt;br /&gt;Кроме того, в силу ограничений коммерческого характера (и мне это абсолютно понятно), некоторые статьи не раскрывают все технические тонкости реализации какой-либо интересной функциональности, но дают представление об идее, которую приходится доводить до ума самостоятельно (что потрясающе интересно).&lt;br /&gt;&lt;br /&gt;Думаю, что заслуженных диферамбов получилось достаточно :)&lt;br /&gt;&lt;br /&gt;В силу всего вышесказанного, моей естественной реакцией было поблагодарить наших коллег и по возможности внести лепту в продвижение ресурса (не говоря уже про собственное тщеславие :). Тем более, что были самоcтоятельные мысли и наработки, которыми давно хотелось поделиться.&lt;br /&gt;&lt;br /&gt;Честно говоря, были некоторые сомнения насколько окажется интересным материал, попадает ли он в тематику сайта, уровень владения языком опять-же. Но, спасибо активисту и основному редактору ресурса - Yaron Assa за его позитивный настрой и активность, статья была принята с хорошей оценкой с его стороны.&lt;br /&gt;&lt;br /&gt;Поэтому, приглашаю вас во-первых, посетить этот действительно профессиональный ресурс, а во-вторых, порадоваться вместе с нами: &lt;a href="http://www.advancedqtp.com/knowledge-base/articles/ms-office4/universal-class-for-data-manipulations/"&gt;AdvancedQTP-Universal class for data manipulations&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;С уважением,&lt;br /&gt;Сергей Талалаев&lt;/em&gt;&lt;br /&gt;&lt;span style="color:white;"&gt;С большой признательностью к моей коллеге Анне Валерьевне.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-4310316705374341053?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/4310316705374341053/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=4310316705374341053' title='Комментарии: 9'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/4310316705374341053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/4310316705374341053'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/04/blog-post_13.html' title='Нас публикуют за  рубежом!'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_N18ZDLq5XX0/SeLUXl2zvKI/AAAAAAAAAEc/WxTW9cfUDXg/s72-c/AdvancedQTP.bmp' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-453225269782847102</id><published>2009-04-06T13:59:00.004+03:00</published><updated>2009-04-06T14:19:45.108+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='вехи'/><category scheme='http://www.blogger.com/atom/ns#' term='обучение'/><title type='text'>Учим тестированию студентов!</title><content type='html'>В одном из своих &lt;a href="http://sqadotby.blogspot.com/2008/11/blog-post.html"&gt;постов&lt;/a&gt; я уже говорила о том, что среди прочих грандиозных планов - преподавание курса по тестированию ПО студентам БГУИР.&lt;br /&gt;&lt;br /&gt;Свершилось!&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;И вот уже с 11-го марта дважды в неделю я наслаждаюсь общением со студентами на тему тестирования!&lt;br /&gt;Признаться, до начала курса настороженно относилась к тому, как пойдет общение. Но, как ни странно, студенты ведут себя очень заинтересованно и активно. И что особенно приятно - они задают вопросы! А это значит, что:&lt;br /&gt;- Они не боятся&lt;br /&gt;- Они слушают&lt;br /&gt;- Они пытаются разобраться&lt;br /&gt;- Им небезразлично&lt;br /&gt;- И, надеюсь, они, в итоге, усваивают&lt;br /&gt;По поводу последнего утверждения могу сказать следующее: кое-что усваивают точно, потому что часто слышу: "а вот Вы говорили так-то", "а это называется так-то", "а такие-то тесты писать будем?" и т.д. и т.п.&lt;br /&gt;Ну, а все остальное мы проверим на итоговой работе...&lt;br /&gt;&lt;br /&gt;Кстати сказать, курс пришлось немного адаптировать под студентов. Во-первых, формат занятий другой - это не 3 дня подряд, а всего-то по 2 пары в неделю. Во-вторых, студентам приходится объяснять все с нуля, даже понятия, поэтому приходится обращать внимание и на ооочень базовые вещи.&lt;br /&gt;&lt;br /&gt;Ну и что еще приятно, так это то, что группа у нас пока "экспериментальная", пришли только заинтересованные студенты (и даже среди таких, как они, был конкурс!), поэтому аудитория сродни той, которая осознанно приходит на курс по тестированию, например, в том же Интерфейсе. &lt;br /&gt;&lt;br /&gt;Пока, как говорится, "Учиться! Учиться! и еще раз - Учиться!"&lt;br /&gt;Ждем результатов :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Всегда ваша,&lt;br /&gt;Наташа Густыр&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-453225269782847102?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/453225269782847102/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=453225269782847102' title='Комментарии: 14'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/453225269782847102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/453225269782847102'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/04/blog-post.html' title='Учим тестированию студентов!'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-8253858816206295195</id><published>2009-04-02T10:42:00.037+03:00</published><updated>2009-05-14T16:24:55.042+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='автоматизация'/><title type='text'>QTP: Сравнивая с … Универсальный класс для работы с данными</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_N18ZDLq5XX0/SgwblFhWzFI/AAAAAAAAAHA/O0M2zkZXqIU/s1600-h/hp.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 133px; height: 109px;" src="http://1.bp.blogspot.com/_N18ZDLq5XX0/SgwblFhWzFI/AAAAAAAAAHA/O0M2zkZXqIU/s320/hp.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5335669982478388306" /&gt;&lt;/a&gt;&lt;br /&gt;Влияние мирового кризиса к сожалению сказалось и на моей персоне и мне потребовалось срочно и по возможности глубоко изучить новый для себя фреймворк - Quick Test Professional. И душа рвется поведать о результатах, которые надеюсь буду полезны не только мне одному.&lt;br /&gt;&lt;br /&gt;Двойное название статьи как-бы говорит о том, что материала накопилось достаточно для небольшой серии статей и если силы и желание не иссякнут еще на первой статье, то есть шанс увидеть продолжение ... &lt;br /&gt; &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;strong&gt;1. Введение&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;У меня уже был опыт работы с продуктами HP Mercury, но он относился к предыдущей линейке, я имею в виду WinRunner. Естественно я ожидал некоторого сходства в процессах скриптостроения и организации самого фреймворка. Поэтому по свежим следам постараюсь изложить замеченные мною интересные моменты и привести свои примеры реализации некоторых функций.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Работа с Excel-данными&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Еще работая с WinRunner, я убедился, что встроенная реализация Excel хранилища не настолько гибка, как мне бы хотелось. Поэтому, как всегда, я приготовился к миграции своих процедур для работы с Excel. И был немного удивлен отсутствию встроенных средств работы с БД. Но эта задача вполне по силам, когда за плечами вся мощь VB :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.1. Основные задачи&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Итак, для начала определимся, зачем нам это нужно. &lt;br /&gt;Я всегда выступал за то, чтобы подготовка тестовых данные для автоматических тестов была максимально упрощена с одной стороны, и, по возможности, исключала возможность ошибок при вводе с другой. &lt;br /&gt;&lt;br /&gt;Эти трудносовместимые вещи отлично реализуются посредством встроенной в Excel валидации входных данных и также прекрасно уничтожаются попыткой редактирования  Excel таблицы напрямую из QTP.&lt;br /&gt;Более того уничтожается также любое кастомное форматирование, без которого нормально читаемая таблица превращается в клетчатый текст.&lt;br /&gt;&lt;br /&gt;Было до вмешательства из QTP:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/SdRywSOC6BI/AAAAAAAAADs/R0YGcBGHDaM/s1600-h/Universal+class_1.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 113px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SdRywSOC6BI/AAAAAAAAADs/R0YGcBGHDaM/s320/Universal+class_1.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5320003233681434642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Стало после редактирования из QTP:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N18ZDLq5XX0/SdSROd8IkjI/AAAAAAAAAD0/AfV6yt3Rh5g/s1600-h/Universal+class_2.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 113px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/SdSROd8IkjI/AAAAAAAAAD0/AfV6yt3Rh5g/s320/Universal+class_2.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5320036737572442674" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Чтобы избежать подобных казусов я давно применяю прямую вычитку из Excel файлов в массивы, используя для этого стандартные ODBC источники. Данная техника успешно прижилась уже на следующих тестовых фреймворках: Rational Robot, IBM Rational Functional Tester, WinRunner и надеюсь QTP&lt;br /&gt;&lt;br /&gt;Помимо решения вышеперечисленных проблем мы избегаем также серьезного, на мой взгляд, ограничения по использованию одной таблицы для одного Excel sheet.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.2. Предварительные шаги&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;В Excel документах имеется функциональность которая позволяет выделять значимые для пользователя подмножества ячееек в специальные структуры. Такие структуры называемые “именованными диапазонами”  обеспечивают возможность обращаться к ним к ним через логические имена. &lt;br /&gt;Кроме того (что гораздо более значимо для нас) такие диапазоны становятся видны как стандартные ODBC таблицы из внешних приложений.&lt;br /&gt;&lt;br /&gt;Итак, для оформления требуемой совокупности ячеек в качестве “именованного диапазона” необходимо выполнить следющую последовательность действий:&lt;br /&gt;- выделить все ячейки, планируемые для оформления в именованный диапазон&lt;br /&gt;- создать именованный диапазон через “Define name” диалог (Formulas &gt; Define  Name) &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/SdSStVdygxI/AAAAAAAAAD8/_kZj2PW0y5c/s1600-h/Universal+class_3.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 194px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SdSStVdygxI/AAAAAAAAAD8/_kZj2PW0y5c/s320/Universal+class_3.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5320038367385256722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;или напрямую введя имя диапазона в Navigation Bar.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N18ZDLq5XX0/SdSS6BBdKwI/AAAAAAAAAEE/cHCDxeHRlTA/s1600-h/Universal+class_4.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 255px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/SdSS6BBdKwI/AAAAAAAAAEE/cHCDxeHRlTA/s320/Universal+class_4.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5320038585236007682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Для проверки корректности вновь созданного именованного диапазона – выделите все ячейки диапазона и проверьте значение в Navigation Bar. Он должен содержать логическое имя вместо A1 нотации.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Важно&lt;/b&gt; отметить одно требование обязательно при использовании именованных диапазонов в качестве источника данных:&lt;br /&gt;- первая строка нашего диапазона должна содержать имена столбцов, а не данные&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.3. Со стороны функциональной библиотеки&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;После всех подготовительных шагов осталось совсем немного поработать руками, а точнее пописать код. &lt;br /&gt;Раз уж QTP 9.5 предоставил нам замечательную возможность работать c “почти” объектами – грех было бы ей не воспользоваться. Поэтому весь наш функционал мы гордо завернем в класс с благозвучным названием &lt;b&gt;TestData&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Стоит напомнить, что QTP не видит напрямую классы, объявленные во внешних библиотеках, поэтому для каждого класса должна присутствовать функция создания экземпляра класса, в данном случае – &lt;b&gt;CreateTestData&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Кроме того мы должны иметь возможность инициировать наш класс не только через загрузку из Excel источника но и напрямую из кода. Именно для этих целей появились два метода: &lt;b&gt;SetData&lt;/b&gt; и &lt;b&gt;GetData&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="white-space:pre"&gt;&lt;br /&gt;&lt;b style="color:#1F497D"&gt;Public Function&lt;/b&gt; CreateTestData ()&lt;br /&gt; &lt;b style="color:#1F497D"&gt;Set&lt;/b&gt; CreateTestData = new TestData&lt;br /&gt;&lt;b style="color:#1F497D"&gt;End Function&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color:#1F497D"&gt;Class&lt;/b&gt; TestData&lt;br /&gt; &lt;b style="color:#1F497D"&gt;Private&lt;/b&gt; mTestTable()&lt;br /&gt;&lt;br /&gt; &lt;b style="color:#1F497D"&gt;Private Sub&lt;/b&gt; Class_Initialize()&lt;br /&gt; &lt;b style="color:#1F497D"&gt;End Sub&lt;/b&gt;&lt;br /&gt;&lt;br /&gt; &lt;b style="color:#1F497D"&gt;Private Sub&lt;/b&gt; Class_Terminate()&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;Erase&lt;/b&gt; mTestTable&lt;br /&gt; &lt;b style="color:#1F497D"&gt;End Sub&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt; ' @Documentation Initiates TestData object with external data&lt;br /&gt; '-----------------------------------------------------------&lt;/span&gt;&lt;br /&gt; &lt;b style="color:#1F497D"&gt;Public Sub&lt;/b&gt; SetData (DataArr())&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;Dim&lt;/b&gt; i,j&lt;br /&gt;&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;ReDim&lt;/b&gt; mTestTable(&lt;b style="color:#1F497D"&gt;UBound&lt;/b&gt;(DataArr, 1), &lt;b style="color:#1F497D"&gt;UBound&lt;/b&gt;(DataArr, 2))&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;For&lt;/b&gt; i=0 to &lt;b style="color:#1F497D"&gt;UBound&lt;/b&gt;(DataArr, 1)&lt;br /&gt;   &lt;b style="color:#1F497D"&gt;For&lt;/b&gt; j=0 to &lt;b style="color:#1F497D"&gt;UBound&lt;/b&gt;(DataArr, 2)&lt;br /&gt;    mTestTable(i,j) = DataArr(i,j)&lt;br /&gt;   &lt;b style="color:#1F497D"&gt;Next&lt;/b&gt;&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;Next&lt;/b&gt;&lt;br /&gt; &lt;b style="color:#1F497D"&gt;End Sub&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt; ' @Documentation Extracts data from TestData object&lt;br /&gt; '---------------------------------------------------&lt;/span&gt;&lt;br /&gt; &lt;b style="color:#1F497D"&gt;Public Sub&lt;/b&gt; GetData(DataArr())&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;Dim&lt;/b&gt; i,j&lt;br /&gt;  &lt;br /&gt;  &lt;b style="color:#1F497D"&gt;ReDim&lt;/b&gt; DataArr(&lt;b style="color:#1F497D"&gt;UBound&lt;/b&gt;(mTestTable, 1), &lt;b style="color:#1F497D"&gt;UBound&lt;/b&gt;(mTestTable, 2))&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;For&lt;/b&gt; i=0 to &lt;b style="color:#1F497D"&gt;UBound&lt;/b&gt;(mTestTable, 1)&lt;br /&gt;   &lt;b style="color:#1F497D"&gt;For&lt;/b&gt; j=0 to &lt;b style="color:#1F497D"&gt;UBound&lt;/b&gt;(mTestTable, 2)&lt;br /&gt;    DataArr(i,j) = mTestTable(i,j)&lt;br /&gt;   &lt;b style="color:#1F497D"&gt;Next&lt;/b&gt;&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;Next&lt;/b&gt;&lt;br /&gt; &lt;b style="color:#1F497D"&gt;End Sub&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Итак, мы вплотную подобрались к центральной части нашего функционала – вычитке данных из Excel источника. &lt;br /&gt;За данную часть функционала отвечают два взаимосвязанных метода: &lt;b&gt;GetArrayFromStore&lt;/b&gt; и &lt;b&gt;LoadFromStore&lt;/b&gt;&lt;br /&gt;Первый позволяет нам выгрузить вычитанные данные во внешний массив, минуя наш класс, а второй наоборот – инициирует наш класс вычитанными данными.&lt;br /&gt;&lt;br /&gt;&lt;span style="white-space:pre"&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt; ' @Documentation Extracts test data from the Excel store&lt;br /&gt; '------------------------------------------------------&lt;/span&gt;&lt;br /&gt; &lt;b style="color:#1F497D"&gt;Public Sub&lt;/b&gt; GetArrayFromStore(Arr(), TableName, StoreName)&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;Dim&lt;/b&gt; Connection&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;Dim&lt;/b&gt; i, j, fieldcount, rowsfetched&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;Dim&lt;/b&gt; ArrTemp()&lt;br /&gt;  &lt;br /&gt;  &lt;b style="color:#1F497D"&gt;Set&lt;/b&gt; Connection = CreateObject("ADODB.Connection")&lt;br /&gt;  Connection.ConnectionString = "DBQ=" + StoreName + _&lt;br /&gt;     ";Driver={Microsoft Excel Driver (*.xls)}" + _&lt;br /&gt;     ";DriverId=790;FIL=excel 8.0;MaxBufferSize=2048" + _&lt;br /&gt;     ";MaxScanRows=8;PageTimeout=5;ReadOnly=1" + _&lt;br /&gt;    ";SafeTransactions=0;Threads=3;UserCommitSync=Yes"&lt;br /&gt;  Connection.Open&lt;br /&gt;  &lt;br /&gt;  &lt;b style="color:#1F497D"&gt;Set&lt;/b&gt; ConnRs = CreateObject("ADODB.Recordset")&lt;br /&gt;  ConnRs.CursorType = 3&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;Call&lt;/b&gt; ConnRs.Open("select * from " + TableName, Connection)&lt;br /&gt; &lt;br /&gt;  fieldcount = ConnRs.Fields.Count&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;Redim&lt;/b&gt; ArrTemp(fieldcount - 1, 0)&lt;br /&gt; &lt;br /&gt;  &lt;span style="color:#00B050"&gt;'column names adding&lt;/span&gt;&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;for&lt;/b&gt; j=0 to fieldcount - 1&lt;br /&gt;   ArrTemp(j,0) = ConnRs.Fields(j).Name&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;next&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;  rowsfetched = 0&lt;br /&gt;  ConnRs.MoveFirst()&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;While&lt;/b&gt; not ConnRs.Eof&lt;br /&gt;   rowsfetched = rowsfetched + 1&lt;br /&gt;   &lt;b style="color:#1F497D"&gt;Redim Preserve&lt;/b&gt; ArrTemp(fieldcount - 1, rowsfetched)&lt;br /&gt;   &lt;b style="color:#1F497D"&gt;for&lt;/b&gt; j=0 to fieldcount - 1&lt;br /&gt;    ArrTemp(j, rowsfetched + i) = ConnRs(j).value&lt;br /&gt;   &lt;b style="color:#1F497D"&gt;next&lt;/b&gt;    &lt;br /&gt;   ConnRs.MoveNext()&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;Wend&lt;/b&gt;&lt;br /&gt;  Connection.Close&lt;br /&gt; &lt;br /&gt;  &lt;span style="color:#00B050"&gt;'matrix transposition&lt;/span&gt;&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;Redim&lt;/b&gt; Arr(&lt;b style="color:#1F497D"&gt;UBound&lt;/b&gt;(ArrTemp,2), &lt;b style="color:#1F497D"&gt;UBound&lt;/b&gt;(ArrTemp,1))&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;for&lt;/b&gt; i=&lt;b style="color:#1F497D"&gt;LBound&lt;/b&gt;(ArrTemp,1) to &lt;b style="color:#1F497D"&gt;UBound&lt;/b&gt;(ArrTemp,1)&lt;br /&gt;   &lt;b style="color:#1F497D"&gt;for&lt;/b&gt; j=&lt;b style="color:#1F497D"&gt;LBound&lt;/b&gt;(ArrTemp,2) to &lt;b style="color:#1F497D"&gt;UBound&lt;/b&gt;(ArrTemp,2)&lt;br /&gt;    Arr(j,i) = ArrTemp(i,j)&lt;br /&gt;   &lt;b style="color:#1F497D"&gt;next&lt;/b&gt;&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;next&lt;/b&gt;&lt;br /&gt;&lt;br /&gt; &lt;b style="color:#1F497D"&gt;End Sub&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="color:#00B050"&gt;' @Documentation Loads test data from Excel store to the TestData object&lt;br /&gt; '-----------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt; &lt;b style="color:#1F497D"&gt;Public Sub&lt;/b&gt; LoadFromStore (TableName, StoreName)&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;call&lt;/b&gt; GetArrayFromStore(mTestTable, TableName, StoreName)&lt;br /&gt; &lt;b style="color:#1F497D"&gt;End Sub&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Как вы можете заметить, ничего сверхъестественного в реализации данного функционала нет. Более того очевидно, что с небольшими модификациями такую же процедуру можно применять для вычитки данных из любого ODBC источника.&lt;br /&gt;Нам осталось добавить несколько сервисных методов, чтобы наш класс стал действительно удобным в использовании: &lt;b&gt;GetCellByIndex&lt;/b&gt;, &lt;b&gt;GetCellByName&lt;/b&gt;, &lt;b&gt;ColumnCount&lt;/b&gt;, &lt;b&gt;RowCount&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="white-space:pre"&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt; ' @Documentation Gets cell value by row-column indexes&lt;br /&gt; '------------------------------------------------------&lt;/span&gt;&lt;br /&gt; &lt;b style="color:#1F497D"&gt;Public Function&lt;/b&gt; GetCellByIndex (RowIndex, ColumnIndex)&lt;br /&gt;  GetCellByIndex = mTestTable(RowIndex+1, ColumnIndex)&lt;br /&gt; &lt;b style="color:#1F497D"&gt;End Function&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt; ' @Documentation Gets cell value by column name and row index&lt;br /&gt; '-------------------------------------------------------------&lt;/span&gt;&lt;br /&gt; &lt;b style="color:#1F497D"&gt;Public Function&lt;/b&gt; GetCellByName (ColumnName, RowIndex)&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;Dim&lt;/b&gt; j&lt;br /&gt;&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;for&lt;/b&gt; j = 0 to &lt;b style="color:#1F497D"&gt;UBound&lt;/b&gt;(mTestTable,2)&lt;br /&gt;   &lt;b style="color:#1F497D"&gt;If&lt;/b&gt; (ColumnName = mTestTable(0,j)) &lt;b style="color:#1F497D"&gt;Then&lt;/b&gt; &lt;br /&gt;    &lt;b style="color:#1F497D"&gt;Exit For&lt;/b&gt; &lt;br /&gt;   &lt;b style="color:#1F497D"&gt;End if&lt;/b&gt;&lt;br /&gt;  &lt;b style="color:#1F497D"&gt;next&lt;/b&gt;&lt;br /&gt;  &lt;br /&gt;  GetCellByName = mTestTable(RowIndex+1, j)&lt;br /&gt; &lt;b style="color:#1F497D"&gt;End Function&lt;/b&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="color:#00B050"&gt; ' @Documentation Returns number of columns into the test data table&lt;br /&gt; '------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt; &lt;b style="color:#1F497D"&gt;Public Function&lt;/b&gt; ColumnCount()&lt;br /&gt;  ColumnCount = &lt;b style="color:#1F497D"&gt;UBound&lt;/b&gt;(mTestTable, 2)&lt;br /&gt; &lt;b style="color:#1F497D"&gt;End Function&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#00B050"&gt; ' @Documentation Returns number of rows into the test data table&lt;br /&gt; '---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt; &lt;b style="color:#1F497D"&gt;Public Function&lt;/b&gt; RowCount()&lt;br /&gt;  RowCount = &lt;b style="color:#1F497D"&gt;UBound&lt;/b&gt;(mTestTable, 1) - 1&lt;br /&gt; &lt;b style="color:#1F497D"&gt;End Function&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.4. Со стороны тестового скрипта&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Как же будет выглядеть минимально необходимый набор операций для инициализации нашего класса и вычитки данных на стороне скрипта.&lt;br /&gt;&lt;br /&gt;&lt;span style="white-space:pre"&gt;&lt;br /&gt;&lt;b style="color:#1F497D"&gt;Dim&lt;/b&gt; TestArr()   &lt;span style="color:#00B050"&gt;‘Dynamic array&lt;/span&gt;&lt;br /&gt;&lt;b style="color:#1F497D"&gt;Dim&lt;/b&gt; TestD&lt;br /&gt;&lt;br /&gt;&lt;b style="color:#1F497D"&gt;Set&lt;/b&gt; TestD = CreateTestData()&lt;br /&gt;&lt;br /&gt;&lt;b style="color:#1F497D"&gt;Сall&lt;/b&gt; TestD.LoadFromStore("NamedRange", "C:\ExcelStore.xls")&lt;br /&gt;&lt;b style="color:#1F497D"&gt;Сall&lt;/b&gt; TestD.GetArrayFromStore(TestArr, "NamedRange", "C:\ExcelStore.xls")&lt;br /&gt;&lt;span style="color:#00B050"&gt;‘Call TestD.GetArrayFromURL(TestArr, "OrgChart@"+ "C:\ExcelStore.xls")&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color:#1F497D"&gt;Call&lt;/b&gt; TestD.SetData(TestArr)&lt;br /&gt;&lt;b style="color:#1F497D"&gt;Erase&lt;/b&gt; TestArr&lt;br /&gt;&lt;b style="color:#1F497D"&gt;Call&lt;/b&gt; TestD.GetData(TestArr)&lt;br /&gt;&lt;br /&gt;Print TestArr(1,1)&lt;br /&gt;Print TestD.GetCellByIndex(2,2)&lt;br /&gt;Print TestD.GetCellByName("Name", 2)&lt;br /&gt;Print TestD.RowCount&lt;br /&gt;Print TestD.ColumnCount&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Обращаю ваше внимание, что массив (если вы решите выгружать данные из TestData объекта) должен быть динамическим, а не статическим.&lt;br /&gt;&lt;br /&gt;Для более глубокого понимания функционала предлагаю пройтись по нему в режиме отладки и внимательно проконтролировать весь процесс. &lt;br /&gt;&lt;br /&gt;Вы также наверняка заметили одну закомментированную функцию,  я имею в виду  &lt;b&gt;GetArrayFromURL&lt;/b&gt;. &lt;br /&gt;Я использую данную функцию для удобной реализации вложенных данных. В этом случае на уровне Excel каждая строка должна содержать дополнительную колонку, в которой хранится URL связанного массива данных.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N18ZDLq5XX0/SdSVBo-n6xI/AAAAAAAAAEM/Jixj6o_np_o/s1600-h/Universal+class_5.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 92px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/SdSVBo-n6xI/AAAAAAAAAEM/Jixj6o_np_o/s320/Universal+class_5.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5320040915243887378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Предлагаю вам реализовать данную функциональность самостоятельно.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Выводы&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Возможно, кого-то, во время прочтения статьи, не покидало ощущение бесполезности реализации дополнительной функциональности имея стандартные средства работы с Eхcel. Частично я уже объяснял причины необходимости этого выше (Основные задачи). Но кроме этого хотелось бы еще добавить в копилку знаний несколько замечаний. &lt;br /&gt;&lt;br /&gt;В силу особенностей моей специализации (функциональное автоматизированное тестирование) мне не удается работать с каким-то одним фреймворком. Тем не менее, всегда очень хочется использовать предыдущие наработки и обустроить свою работу максимально комфортно. Как оказалось это совсем не сложно и позволяет в итоге работать в привычных комфортных условиях, максимально используя уже проверенные схемы.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;С уважением,&lt;br /&gt;Сергей Талалаев&lt;/em&gt;&lt;br /&gt;&lt;span style="color:white;"&gt;С большой признательностью к моей коллеге Анне Валерьевне.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-8253858816206295195?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/8253858816206295195/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=8253858816206295195' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/8253858816206295195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/8253858816206295195'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/04/qtp-quick-test-professional.html' title='QTP: Сравнивая с … &lt;br&gt;Универсальный класс для работы с данными'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_N18ZDLq5XX0/SgwblFhWzFI/AAAAAAAAAHA/O0M2zkZXqIU/s72-c/hp.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-8021653108377277255</id><published>2009-02-02T15:37:00.008+02:00</published><updated>2009-02-02T16:16:20.118+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='развитие'/><category scheme='http://www.blogger.com/atom/ns#' term='сертификация'/><category scheme='http://www.blogger.com/atom/ns#' term='sqa'/><title type='text'>Сертификация: За и Против</title><content type='html'>Пора!&lt;br /&gt;&lt;br /&gt;Пора и мне, наконец, сказать, что я думаю по поводу сертификации тестировщиков и как я себе ее вижу.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Начну с хорошего&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;1. Как и любое обучение, подготовка к сертификации немного &lt;span style="font-weight: bold;"&gt;дисциплинирует&lt;/span&gt;. На это нужно, как бы вы не сопротивлялись, отводить свое драгоценное время, будь то рабочее или внерабочее, когда при других обстоятельствах вы могли бы занять это время чем-то более интересным.&lt;br /&gt;&lt;br /&gt;2. Сертификация &lt;span style="font-weight: bold;"&gt;помогает систематизировать знания&lt;/span&gt;. Особенно тем, кто не приобретал профессию тестировщика в университетах, а постигал все это на практике. Знаете, это как в школе: вам рассказывают уйму материала, например, по математике в течение 11 лет, но вы так и не можете понять, что, с чем и как связано. Вроде бы и по системе преподают, а системы в знаниях нет как таковой. И только когда вы начинаете готовиться к экзаменам, когда задачи затрагивают перекрестные темы, только тогда вы начинаете видеть и понимать, что к чему (хотя, тоже не все). Точно так же и здесь: у вас уже много практических навыков, а при подготовке к сертификации вы начинаете связывать их в логическую цепочку, понимаете, что и какими словами правильно называется в теории.&lt;br /&gt;&lt;br /&gt;3. Сертификация позволяет приобрести &lt;span style="font-weight: bold;"&gt;дополнительные теоретические знания&lt;/span&gt; (хотелось бы подчеркнуть - теоретические). Как бы там ни было, даже если вы прочитали миллион книг и статей, то при подготовке к сертификации вы, если и не сделаете для себя открытие в теории, то, по крайней мере, услышите чье-то другое мнение по некоторым аспектам изучаемой области, другой взгляд на те же вещи.&lt;br /&gt;&lt;br /&gt;4. &lt;span style="font-weight: bold;"&gt;Иногда&lt;/span&gt; сертификат &lt;span style="font-weight: bold;"&gt;может помочь при принятии на работу&lt;/span&gt;: либо обрести позицию повыше, либо попросить денег побольше.&lt;br /&gt;&lt;br /&gt;5. Международная сертификация позволяет специалисты во всем мире &lt;span style="font-weight:bold;"&gt;говорить на одном профессиональном языке&lt;/span&gt;, а также &lt;span style="font-weight:bold;"&gt;по одной шкале&lt;/span&gt; оценивать знания.&lt;br /&gt;&lt;br /&gt;Всего, что описано выше, можно добиться и другими методами. Однако, речь не об этом.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;А теперь немного горькой пилюли&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;1. Сертификации бывают разные… К сожалению, не всякой сертификации можно доверять (а можно ли вообще хоть какой-то?). Глупые вопросы, ни коим образом не проверяющие даже знание теории, не могут быть показателем уровня специалиста.&lt;br /&gt;&lt;br /&gt;2. К сожалению, с помощью сертификации, если и можно что-то оценить, то это только теоретические знания, но никак не навыки. И, если практика без теории всего лишь слепа, то теория без практики, как известно, мертва. Думаю, мало кому в команде нужен чистой воды теоретик...&lt;br /&gt;&lt;br /&gt;3. Точно так же, как сертификат иногда помогает найти лучшую работу, он может и затруднить ее поиски. Я, например, знакома с системным архитектором, имеющим целый ряд сетрификатов и по девелопменту, и по менеджменту, но не способному настроить Windows-сервис по инструкции.&lt;br /&gt;Есть мнение, что, не имея достаточно аргументов, чтобы доказать свой профессионализм, люди стараются получить как можно больше сертификатов. Поэтому к обилию сетрификатов я отношусь более, чем скептически :)&lt;br /&gt;&lt;br /&gt;В заключение хочу сказать, что сертификат можно получать только в случае необходимости или острого желания иметь таковой. А вот какой-то экстраординарной пользы я от них не вижу. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Всегда ваша,&lt;br /&gt;Наташа Густыр&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-8021653108377277255?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/8021653108377277255/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=8021653108377277255' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/8021653108377277255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/8021653108377277255'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/02/blog-post.html' title='Сертификация: За и Против'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-2268386290465872084</id><published>2009-01-28T21:04:00.004+02:00</published><updated>2009-01-28T23:33:38.932+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='развитие'/><category scheme='http://www.blogger.com/atom/ns#' term='сертификация'/><category scheme='http://www.blogger.com/atom/ns#' term='sqa'/><title type='text'>Дебаты вокруг сертификации тестировщиков</title><content type='html'>И снова здравствуйте! :)&lt;br /&gt;И сразу, как говорится, вопрос в лоб:&lt;br /&gt;&lt;br /&gt;Коллеги, а многие ли среди ваших знакомых тестировщиков имеют сертификаты?&lt;br /&gt;А многие ли хотят иметь?&lt;br /&gt;А многие ли столкнулись с необходимостью их иметь?&lt;br /&gt;А как вы относитесь к сертифицированным специалистам?&lt;br /&gt;&lt;br /&gt;Как ни странно, но тема сертифицирования тестировщиков очень актуальна в последнее время...&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Писали об этом уже и Алесей Баранцев в статье &lt;a href="http://www.software-testing.ru/editorial/368-certification"&gt;"Какие сертификаты нужны тестировщикам"&lt;/a&gt;,&lt;br /&gt;и Александр Орлов в статье &lt;a href="http://www.happy-pm.com/blog/?p=226"&gt;"Шашечки или ехать"&lt;/a&gt;. Кстати, надо сказать, что в &lt;a href="http://www.happy-pm.com/blog/?p=242&amp;amp;cpage=1#comment-5460"&gt;голосовании&lt;/a&gt;, которое устроил тот же Александр Орлов наблюдается весьма интересная картина по результатам...&lt;br /&gt;&lt;br /&gt;А ваше мнение какое?&lt;br /&gt;&lt;br /&gt;Кстати сказать, я тоже имею что сказать на этот счет, но скажу буквально очень скоро :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Всегда ваша,&lt;br /&gt;Наташа Густыр&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-2268386290465872084?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/2268386290465872084/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=2268386290465872084' title='Комментарии: 25'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/2268386290465872084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/2268386290465872084'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/01/blog-post_28.html' title='Дебаты вокруг сертификации тестировщиков'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>25</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-7576674903105329449</id><published>2009-01-26T22:38:00.005+02:00</published><updated>2009-01-26T22:58:42.502+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lessons Learned in Software Testing'/><title type='text'>Урок 53: Оценочные (evaluation-based) техники фокусируются на том, как определить, что тест выполнен или провален</title><content type='html'>&lt;div&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Lessons Learned in Software Testing&lt;br /&gt;Авторы: Cem Kaner, James Bach и Bret Pettichord&lt;br /&gt;Перевод: Сергей Талалаев&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Оценочные техники описывают методы для определения того, что программа выполнила или провалила тест. Они не определяют, как тестирование должно выполняться, или как должны собираться данные. Они говорят вам, что если вы можете собрать определенные данные, то вы сможете их оценить.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;b&gt;Самотестируемые данные.&lt;/b&gt; Файлы данных, используемые вами для тестирования, несут в себе информацию, которая позволяет вам определять, что выходные данные повреждены.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Сравнение с сохраненными результатами.&lt;/b&gt; Регрессионное тестирование (обычно, но не всегда автоматизированное), в котором тот факт, пройден тест или провален, определяется путем сравнения результатов, полученных вами сегодня, с результатами предыдущей недели. Если результаты были корректными на прошлой неделе и отличаюся сегодня, то такое различие может говорить о новом дефекте.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Сравнение со спецификацией или другим авторитетным документом.&lt;/b&gt; Различие со спецификацией - это (возможно) ошибка.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Эвристическое соответствие.&lt;/b&gt; Соответствие - это важный критерий оценки&lt;br /&gt;программы.Несоответствие может быть поводом для создания отчета об ошибке или отражать сознательное изменение дизайна. Мы используем в работе 7 основных соответствий:&lt;br /&gt;1. &lt;i&gt;Историческое соответствие.&lt;/i&gt; Текущие поведение функции соответствует её поведению в прошлом.&lt;br /&gt;2. &lt;i&gt;Соответствие в представлении.&lt;/i&gt; Поведение функции соответствует тому, что организация ожидала от проекта.&lt;br /&gt;3. &lt;i&gt;Соответствие со сравнимыми продуктами.&lt;/i&gt; Поведение функции соответствует поведению подобных функций в сравнимых продуктах.&lt;br /&gt;4. &lt;i&gt;Соответствие утверждениям.&lt;/i&gt; Поведение функции соответствует тому, как, по мнению людей, это должно быть.&lt;br /&gt;5. &lt;i&gt;Соответствие ожиданиям.&lt;/i&gt; Поведение функции соответствует тому, что, по вашему мнению, хочет пользователь.&lt;br /&gt;6. &lt;i&gt;Соответствие продукту.&lt;/i&gt; Поведение функции соответствует поведению сравнимых функций или функциональных шаблонов в продукте.&lt;br /&gt;7. &lt;i&gt;Соответствие цели.&lt;/i&gt; Поведение функции соответствует её истинной цели.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Оракул-based тестирование.&lt;/b&gt; Оракул - это оценочное приспособление, которое скажет вам о том, что программа прошла или провалила тест. В высокопроизводительном автоматизированном тестировании оракул - это обычно другая программа,которая выдает результаты или оценивает результаты проверяемой программы. Оракул обычно более авторитетен, чем проверяемая программа, поэтому беспокойство, отмеченное оракулом, стоит времени и усилий, потраченных на проверку.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-7576674903105329449?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/7576674903105329449/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=7576674903105329449' title='Комментарии: 6'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/7576674903105329449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/7576674903105329449'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/01/53-evaluation-based.html' title='Урок 53: Оценочные (evaluation-based) техники фокусируются на том, как определить, что тест выполнен или провален'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-847882988482626210</id><published>2009-01-14T15:53:00.028+02:00</published><updated>2009-02-02T15:39:50.333+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='тест-менеджмент'/><category scheme='http://www.blogger.com/atom/ns#' term='sqa'/><category scheme='http://www.blogger.com/atom/ns#' term='риски'/><title type='text'>SQA days 2008: текст доклада "Причины пожара на проектах"</title><content type='html'>Мы уже &lt;a href="http://sqadotby.blogspot.com/2008/11/sqa-days-2008.html"&gt;писали&lt;/a&gt; о выступлении на конференции SQA days и обещали опубликовать свои доклады. Наташа и Сергей сдержали обещание. Теперь моя очередь :) Я постаралась максимально приблизить печатную версию к устной, чтобы сохранить дух "живого" выступления. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;«Горящий» проект – не редкость в IT сфере.  Отставание от плана может возникать на разных стадиях: от инициализации проекта до тестирования.  Данный доклад - попытка ответить на вопрос: «Почему тестировщики не укладываются в  сроки?».&lt;br /&gt;&lt;br /&gt;Недавно мне «посчастливилось» принимать участие в проекте, на котором отставание от сроков – обычное дело. Сразу хочу пояснить, что я понимаю под отставанием от сроков. Это разница между реально потраченным и запланированным  временем (см. рисунок 1).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/SW3vAaHmdLI/AAAAAAAAADM/8K0tJCJ43TA/s1600-h/%D0%9E%D1%82%D1%81%D1%82%D0%B0%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+%D0%BE%D1%82+%D1%81%D1%80%D0%BE%D0%BA%D0%BE%D0%B2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 203px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/SW3vAaHmdLI/AAAAAAAAADM/8K0tJCJ43TA/s320/%D0%9E%D1%82%D1%81%D1%82%D0%B0%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+%D0%BE%D1%82+%D1%81%D1%80%D0%BE%D0%BA%D0%BE%D0%B2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5291147927520441522" /&gt;&lt;/a&gt;&lt;br /&gt;В докладе рассматриваются причины невыполнения в срок задач тестовой команды, хотя многое из того, о чём будет говориться ниже, актуально для любых проектных активностей.&lt;br /&gt;&lt;br /&gt;Несколько слов о проекте, который вдохновил меня на подготовку этого доклада. Проект был сложный… :) Причём, я сейчас говорю не о сложности задач, которые стояли перед нашей командой, а о сложной структуре проекта. На рисунке 2 представлена схема этого проекта, где З1...З8 – задачи, из которых состоит реализация проекта, К1…К8 – компании (подрядчики), которые принимают участие в проекте. Как видно, каждый подрядчик отвечает за свою задачу. И даже заказчик выполняет часть работ по созданию программного обеспечения.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/SW3vhOWrxFI/AAAAAAAAADU/jisbNBzHlhY/s1600-h/%D0%A1%D1%85%D0%B5%D0%BC%D0%B0+%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D0%B3%D0%BE+%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 250px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/SW3vhOWrxFI/AAAAAAAAADU/jisbNBzHlhY/s320/%D0%A1%D1%85%D0%B5%D0%BC%D0%B0+%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D0%B3%D0%BE+%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5291148491298161746" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;Многое из того, о чём пойдёт речь дальше, навеяно именно этим сложным проектом, но также я использовала опыт участия в более простых проектах (Рисунок 3). &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_N18ZDLq5XX0/SW3w6aEc7LI/AAAAAAAAADk/sFyCY2-mpUo/s1600-h/%D0%A1%D1%85%D0%B5%D0%BC%D0%B0+%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B3%D0%BE+%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 236px; height: 261px;" src="http://1.bp.blogspot.com/_N18ZDLq5XX0/SW3w6aEc7LI/AAAAAAAAADk/sFyCY2-mpUo/s320/%D0%A1%D1%85%D0%B5%D0%BC%D0%B0+%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B3%D0%BE+%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5291150023451274418" /&gt;&lt;/a&gt;&lt;br /&gt;Думаю, понятно, что вероятность «пожаров» на проектах со сложной структурой больше. Естественно, здесь много зависимостей. Если один  из подрядчиков на начальном этапе не уложился в сроки, то «поплывут» даты в планах у остальных компаний-подрядчиков. На сложном проекте часто возникает ситуация: «а это не я». Это когда на выявление ошибки уходит час, а на выявление ответственного за неё тратятся дни или даже недели. Каждая компания пытается сделать крайним кого-то другого. Такая  проблема обычно возникает из-за плохой организации взаимодействия между участниками проекта и нечёткого разграничения обязанностей.&lt;br /&gt;&lt;br /&gt;Теперь непосредственно о самих причинах. Одна из самых очевидных причин «пожаров» - &lt;span style="font-weight:bold;"&gt;нереальные сроки&lt;/span&gt;. Как эти «нереальные» сроки появляются? Например, заказчик говорит: «нужно, чтобы эта функциональность (F1...Fn) была готова к такому-то числу». И тут начинается попытка уместить всю требуемую функциональность в указанные сроки (хотя бы в плане проекта, который потом не соответствует действительности). В данном случае ошибка в том, что не исполнитель оценивает временные затраты, а заказчик устанавливает дату. Если времени для реализации требуемой функциональности явно недостаточно, то нужно выбирать: или урезанная функциональность в указанные сроки или смещение сроков для реализации полного объёма задач. &lt;br /&gt;&lt;br /&gt;Также часто я наблюдала пожары, когда &lt;span style="font-weight:bold;"&gt;требования менялись в ходе проекта&lt;/span&gt;. Если не переписать план в связи с изменением требований, то вероятность своевременного окончания проекта невелика :)&lt;br /&gt;&lt;br /&gt;Для тестировщиков, которые выполняют задачи по уже составленному менеджером плану, часто очень актуальной проблемой становится &lt;span style="font-weight:bold;"&gt;неполный учёт задач в плане&lt;/span&gt;. Например, часто забывают о том, что уходит &lt;span style="font-style:italic;"&gt;время на новичков, на помощь разработчикам в воспроизведении дефектов, на подготовку тестовых данных, на подготовку внеплановых отчётов для руководства&lt;/span&gt;. Плохой анализ требований и спецификации может привести к тому, что в тест-кейсах будут присутствовать не все проверки, а, следовательно, будет неправильно оценено время на тестирование. Даже одна пропущенная строка в спецификации может послужить искрой, из которой вырастет пожар. Например, в требованиях сказано: «Система должна работать под ОС Win 98, 2000, XP, Vista». Если в тест-кейсах об этом нет ничего, то тестирование будет проводиться на любой доступной тестировщику ОС (XP, например). Дальше заказчик начинает принимать Систему (на 98-й, например) – и начинается… Неожиданные ошибки, перепроверка Приложения на всех требуемых ОС, исправление дефектов и т.д. Пожар на лицо :)&lt;br /&gt;&lt;br /&gt;Допустим, оценка временных затрат проводилась компанией – разработчиком (а не заказчиком), в плане учтены все задачи ориентируясь на абстрактного среднестатистического тестировщика. Вроде, всё хорошо. Но и здесь могут возникнуть проблемы. Не все тестировщики одинаковые. У них может быть &lt;span style="font-weight:bold;"&gt;разная квалификация&lt;/span&gt;. Здесь можно рассмотреть несколько случаев: &lt;br /&gt;– &lt;span style="font-style:italic;"&gt;человек просто плохой работник&lt;/span&gt;: или он делает всё слишком медленно (гораздо медленнее, чем среднестатистический сотрудник отдела тестирования), или делает быстро, но так, что доверять результатам нельзя, или и то, и другое... Т.е. человек не на своём месте.&lt;br /&gt;– &lt;span style="font-style:italic;"&gt;новичок в профессии&lt;/span&gt; (в компании, на проекте) – понятно, что человеку нужно время на адаптацию, и его не сразу можно считать полноценным ресурсом.&lt;br /&gt;– &lt;span style="font-style:italic;"&gt;неправильных подбор персонала на проект или неправильное распределение задач внутри тестовой команды&lt;/span&gt; на проекте. Например, человек всё время занимался тестированием десктоповских приложений, и тут его назначают на тестирование приложений для мобильных технологий. Понятно, что нужно время на то, чтобы вникнуть в предметную область. Или другой пример: тестировщика, который всегда занимался мануальным тестированием, назначают на проект по автоматизации тестирования. Т.е. при назначении людей на проект и при распределении задач внутри команды тест-менеджер должен учитывать сильные и слабые стороны своих подчинённых. НО: нельзя всегда выдавать человеку однотипные задачи только потому, что он хорошо их выполняет. Рано или поздно тестировщику станет скучно :)&lt;br /&gt;&lt;br /&gt;Как правило, задачи в планах плавно перетекают одна в другую, т.е. между ними нет перерывов. Но ведь часто возникают &lt;span style="font-weight:bold;"&gt;вынужденные простои&lt;/span&gt;. Например, &lt;span style="font-style:italic;"&gt;увеличение сроков анализа, разработки и других предшествующих тестированию этапов&lt;/span&gt; ведёт к простою команды тестирования. Ещё одна причина простоя - &lt;span style="font-style:italic;"&gt;блокирующая критическая ошибка&lt;/span&gt;, до исправления которой тестировать невозможно или нет смысла. &lt;span style="font-style:italic;"&gt;Недоступность приложения&lt;/span&gt; также блокирует работу тестировщика. Причины недоступности приложения: &lt;br /&gt;– недоступен сам сервер (сгорел, на нём проводят профилактические работы, например, увеличивают кол-во памяти);&lt;br /&gt;– идёт установка новой версии приложения;&lt;br /&gt;– на тестовой платформе разработчики проводят исследования и эксперименты;&lt;br /&gt;– на тестовой платформе проводится нагрузочное тестирование;&lt;br /&gt;– на тестовой платформе проводится приёмочное тестирование заказчиком.&lt;br /&gt;Т.е. здесь возникает &lt;span style="font-weight:bold;"&gt;проблема взаимодействия&lt;/span&gt; команд тестирования, разработки, внедрения. Сюда же можно отнести &lt;span style="font-style:italic;"&gt;проблему коммуникации между участниками проекта&lt;/span&gt;, которые находятся далеко друг от друга: в разных странах, а ещё хуже, в разных часовых поясах. Здесь увеличивается время на обсуждения и принятие решений. Также существует &lt;span style="font-style:italic;"&gt;проблема «свободного» графика работы&lt;/span&gt;, который так популярен в IT сфере. Допустим, в  команде есть носитель «тайных знаний», без которого «работа стоит». Если этот «тайный носитель» любит поспать, то плохо дело :) Нужно или передавать знания (а ещё лучше оформить их в виде документации), или договариваться о более строгом графике работы.&lt;br /&gt;&lt;br /&gt;И в заключение причины «пожаров», которые предусмотреть сложно – это форс-мажорные обстоятельства. Например, авария на серверах, отсутствие электричества,  отсутствие тестировщика на рабочем месте (заболел, уволился и т.п.).&lt;br /&gt;&lt;br /&gt;Естественно, я не перечислила всех возможных причин отставаний от запланированных сроков. Главное, о чём я хотела рассказать: нельзя надеяться на то, что всё будет идти идеально. Хотя надеяться можно, но «соломку лучше подстелить», т.е. заложить в план риски. Нужно тщательно проанализировать тип проекта, его размеры и структуру, оценить команду и  составить адекватный план, по которому будет комфортно работать. Не будет лишних переживаний ни у Вас, ни у заказчика :)&lt;br /&gt;&lt;br /&gt;С Уважением,&lt;br /&gt;Ольга Балашенко&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-847882988482626210?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/847882988482626210/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=847882988482626210' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/847882988482626210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/847882988482626210'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/01/sqa-days-2008_14.html' title='SQA days 2008: текст доклада &quot;Причины пожара на проектах&quot;'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_N18ZDLq5XX0/SW3vAaHmdLI/AAAAAAAAADM/8K0tJCJ43TA/s72-c/%D0%9E%D1%82%D1%81%D1%82%D0%B0%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+%D0%BE%D1%82+%D1%81%D1%80%D0%BE%D0%BA%D0%BE%D0%B2.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-1777694744567379182</id><published>2009-01-12T01:44:00.007+02:00</published><updated>2009-01-12T02:01:26.802+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='развитие'/><category scheme='http://www.blogger.com/atom/ns#' term='персонал'/><category scheme='http://www.blogger.com/atom/ns#' term='обучение'/><title type='text'>Вырасти себе тестировщика</title><content type='html'>&lt;span style="font-style:italic;"&gt;По мотивам доклада на конференции SQA Days 2008 в Минске. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Мировой финансовый кризис оказывает значительное влияние на работу IT-компаний: сокращается количество потенциальных проектов и, соответственно, повышается конкуренция. В таких условиях компании вынуждены обратить особое внимание на обеспечение конкурентного преимущества, чтобы выжить и остаться на плаву. Приходится снижать ставки, и на первое место выходит продуктивность и эффективность работы каждого сотрудника. Решение проблемы заключается, с одной стороны, в оптимизации процессов работы компании и, с другой стороны, в развитии персонала.&lt;br /&gt;Для того, чтобы процессы повышения продуктивности работы, обучения и развития были эффективными, они должны быть измеримыми. Для этого необходимо иметь точку отсчета.&lt;br /&gt;За точку отсчета разумно принять оценку текущего состояния организации в целом и каждого сотрудника в частности.&lt;br /&gt;В докладе рассматривается только одна сторона вопроса – тема оценки, аттестации, обучения и развития тестировщиков силами компании или силами внешних экспертов.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1. Оценка индивидуальной деятельности тестировщиков&lt;/span&gt;&lt;br /&gt;Как и в любой другой деятельности, тестировщику важно понимать, что ему необходимо делать, чтобы его работа была эффективной.&lt;br /&gt;С другой стороны, организации необходимо понимать, чего требовать от сотрудника, согласно каким критериям производить оценку его работы. Таким образом, перед руководителем отдела тестирования стоит задача в определении стандартов работы тестировщиков.&lt;br /&gt;Достижение определенных стандартов также служит почвой для вознаграждения специалистов.&lt;br /&gt;Независимо от того, какие критерии и стандарты индивидуальной работы используются, с самого начала их необходимо обсудить с тестировщиками, и получить их согласие и понимание. В этом случае, тестировщикам будет проще самостоятельно оценивать, соответствует ли их деятельность установленным критериям. &lt;br /&gt;Таким образом, первый этап в развитии тестировщика – это постановка цели, которую нужно достичь, причем цель эта должна соответствовать небезызвестным критериям SMART (точная, измеримая, согласованная, реалистичная и ограниченная во времени).&lt;br /&gt;Вторым шагом менеджер, совместно с тестировщиком, должен спланировать процесс достижения поставленной цели и определить необходимые для этого мероприятия.&lt;br /&gt;И, конечно, нельзя оставлять спланированный процесс без наблюдения. Задачи, которые вы раздаете и не контролируете, могут не выполняться или выполняться с трудом.&lt;br /&gt;&lt;br /&gt;Менеджер может использовать следующие методы мониторинга и оценки показателей персонала:&lt;br /&gt;- Наблюдение и личное участие;&lt;br /&gt;- Опрос и обсуждение;&lt;br /&gt;- Регулярный сбор метрик;&lt;br /&gt;- Другие отчеты;&lt;br /&gt;- Аттестация – как оценка деятельности по истечении некоторого периода времени.&lt;br /&gt;&lt;br /&gt;По результатам оценки могут быть предприняты различные действия:&lt;br /&gt;- Продолжение работы без изменений&lt;br /&gt;- Корректировка выполнения работы&lt;br /&gt;- Пересмотр стандартов&lt;br /&gt;&lt;br /&gt;Весь цикл выглядит следующим образом:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/SWqG0bkJPTI/AAAAAAAAACc/AgLQO389CE4/s1600-h/%D0%A2%D0%9C%D0%9002_%D1%80%D1%8B%D0%B1%D0%B02_Page-2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 261px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/SWqG0bkJPTI/AAAAAAAAACc/AgLQO389CE4/s320/%D0%A2%D0%9C%D0%9002_%D1%80%D1%8B%D0%B1%D0%B02_Page-2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5290188947610746162" /&gt;&lt;/a&gt;&lt;br /&gt;Регулярный обмен информацией создает у исполнителей ощущение собственной значимости, поддерживает в них ясное понимание того, что от них ожидается при выполнении порученной работы. Плюс ко всему, может использоваться для контроля показателей деятельности.&lt;br /&gt;Когда работа выполняется хорошо, тестировщик должен получать позитивную обратную связь, если работа не соответствует ожиданиям, то обратная связь должна быть конструктивной (похвала сильных сторон и комментарии по слабым, с акцентом на то, как справиться с трудностями). Только в этом случае человек будет чувствовать себя ценимым, и, соответственно, будет мотивирован к достижению установленных показателей. Ибо незабота о персонале является сильным демотивирующим фактором, и ни о каком росте и развитии в этом случае не может быть и речи.&lt;br /&gt;Обратная связь должна быть: уместная, справедливая и своевременная.&lt;br /&gt;Регулярная и уместная обратная связь является основой для формальной аттестации.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. Аттестация персонала&lt;/span&gt;&lt;br /&gt;Аттестация – это формализованная обратная связь. В ходе этого мероприятия рассматриваются достижения и проблемы, подводятся итоги и строятся планы на будущее.&lt;br /&gt;Выгодна она тем что:&lt;br /&gt;- Подталкивает к осмыслению достижений и осознанию затруднений&lt;br /&gt;- Определению направлений развития и карьерных устремлений&lt;br /&gt;- Дает возможность мотивировать персонал&lt;br /&gt;- Улучшать эффективность работы команды&lt;br /&gt;- Улучшать обмен информацией&lt;br /&gt;- И др.&lt;br /&gt;Мы будем рассматривать только узкий аспект аттестации – оценка знаний и навыков тестировщиков с целью их дальнейшего развития. Все остальное – условия работы, соответствие трудовому договору, межличностные отношения и взаимодействие с другими людьми, управление временем и др. – в настоящей статье не затрагиваются.&lt;br /&gt;И, кстати говоря, не рекомендуется использовать аттестацию для вознаграждения (хотя некоторые компании именно так и поступают). Первоначальная идея аттестации – создание дружественной атмосферы развития.&lt;br /&gt;Стандартной процедуры проведения аттестации не существует, есть только некоторые общие принципы. Рассмотрим их.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Подготовка аттестации&lt;/span&gt;&lt;br /&gt;Если организация тщательно готовилась к набору тестировщиков, то подготовка аттестации будет проводиться немного проще, нежели начинать ее с нуля.&lt;br /&gt;  Что необходимо сделать:&lt;br /&gt;- Анализ работы. Должен ли тестировщик писать тестовую документацию, проводить статическое тестирование требований, писать скрипты, работать с определенными инструментами и т.д.?&lt;br /&gt;- Анализ организации. Какие именно инструменты используются в организации, каковы процессы в организации (старт проекта по тестированию, передача программного обеспечения на тестирование, коммуникации внутри команды и др.), с какими заказчиками работает организация, какие проекты разрабатывает (веб, десктоп, специальные бизнес-области) и т.д. &lt;br /&gt;- Должностная инструкция. На основании двух описанных видов анализа составляется должностная инструкция. &lt;br /&gt;- Требования к исполнителю. На основании должностной инструкции определяются требования к тестировщику (или группе тестировщиков).&lt;br /&gt;&lt;br /&gt;На основании результатов этих действий составляются анкеты, вопросники и готовятся аттестационные собеседования.&lt;br /&gt;Тестировщики должны быть осведомлены о том, что будет проводиться аттестация, и ознакомлены с предъявляемыми требованиями.&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;Проведение аттестации: тесты и собеседования&lt;/span&gt;&lt;br /&gt;Ранее уже упоминалось, что при проведении аттестации будем делать акцент на проверке знаний и навыков.&lt;br /&gt;Для проверки знаний удобно использовать тесты. Желательно формулировать открытые вопросы, потому что ответ на закрытый вопрос можно легко угадать.&lt;br /&gt;Проверку навыков с помощью тестов осуществить затруднительно. Поэтому в данном случае рекомендую проводить аттестационные собеседования (с выдачей, например, тестовых заданий или наблюдением за работой тестировщика на текущем проекте). &lt;br /&gt;При отсутствии времени и/или навыков в составлении вопросников для проверки знаний также можно использовать аттестационные собеседования. &lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;Обработка результатов, принятие решений&lt;/span&gt;&lt;br /&gt;Результаты проведенных тестов и собеседований необходимо собрать и обработать. Для наглядности удобно составлять профиль по каждому человеку, выделяя области знаний и навыков.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/SWqHScLIccI/AAAAAAAAACk/EBJqE3HH528/s1600-h/%D0%A2%D0%9C%D0%9002_%D1%80%D1%8B%D0%B1%D0%B02_%D0%BF%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D1%8C.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 179px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SWqHScLIccI/AAAAAAAAACk/EBJqE3HH528/s320/%D0%A2%D0%9C%D0%9002_%D1%80%D1%8B%D0%B1%D0%B02_%D0%BF%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D1%8C.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5290189463170347458" /&gt;&lt;/a&gt;&lt;br /&gt;При необходимости можно использовать и сводные таблицы для группы тестировщиков одной должности, или другие схемы визуализации.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/SWqHasl37OI/AAAAAAAAACs/KqNymGYlx5s/s1600-h/%D0%A2%D0%9C%D0%9002_%D1%80%D1%8B%D0%B1%D0%B02_%D1%81%D0%B2%D0%BE%D0%B4%D0%BD%D0%B0%D1%8F.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 239px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SWqHasl37OI/AAAAAAAAACs/KqNymGYlx5s/s320/%D0%A2%D0%9C%D0%9002_%D1%80%D1%8B%D0%B1%D0%B02_%D1%81%D0%B2%D0%BE%D0%B4%D0%BD%D0%B0%D1%8F.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5290189605016431842" /&gt;&lt;/a&gt;&lt;br /&gt;Имея информацию в обработанном виде, необходимо ее проанализировать и принять решение о дальнейших действиях для развития конкретного специалиста по тестированию.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3. Разработка программ обучения&lt;/span&gt;&lt;br /&gt;Что такое развитие? Это расширение способностей и навыков. Индивидуальное развитие должно увеличивать уверенность тестировщика в своих силах, его самосознание и знания. И в первую очередь, развитие – это ответственность самого человека.&lt;br /&gt;Вы же, как менеджер, можете и должны содействовать развитию своих подчиненных. Для этого, как я уже говорила в самом начале, необходимо снова согласовать цели, установить, при необходимости, новые стандарты, а затем спланировать обучение. Вы должны выступать интегратором обучения своих тестировщиков на работе и вне ее.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/SWqHnCdl82I/AAAAAAAAAC0/Hn8j2YlA228/s1600-h/%D0%A2%D0%9C%D0%9002_%D1%80%D1%8B%D0%B1%D0%B02_%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 215px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SWqHnCdl82I/AAAAAAAAAC0/Hn8j2YlA228/s320/%D0%A2%D0%9C%D0%9002_%D1%80%D1%8B%D0%B1%D0%B02_%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5290189817045709666" /&gt;&lt;/a&gt;&lt;br /&gt;Есть одна опасность – обучение ради обучения. Это означает, что вы готовите курсы, семинары, тренинги или отправляете подчиненных для обучения в незавичимых центрах, а тестировщики реально не используют полученные знания и навыки на практике. Поэтому компания тратит ресурсы, но не получает результата взамен, тестировщик – тоже. &lt;br /&gt;Чтобы подобная ситуация не произошла, цели развития должны быть согласованными с самим тестировщиком. То есть после получения результатов аттестации задача менеджера выработать цели и программу развития совместно с тестировщиком, опираясь на способности, опыт, устремления специалиста, требования и возможности его текущей работы, а также на перспективы и будущие потребности самой организации.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/SWqHywSq6oI/AAAAAAAAAC8/vIJOUOFUSZ0/s1600-h/%D0%A2%D0%9C%D0%9002_%D1%80%D1%8B%D0%B1%D0%B02_%D0%BF%D0%BE%D1%82%D1%80%D0%B5%D0%B1%D0%BD%D0%BE%D1%81%D1%82%D0%B8.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 121px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SWqHywSq6oI/AAAAAAAAAC8/vIJOUOFUSZ0/s320/%D0%A2%D0%9C%D0%9002_%D1%80%D1%8B%D0%B1%D0%B02_%D0%BF%D0%BE%D1%82%D1%80%D0%B5%D0%B1%D0%BD%D0%BE%D1%81%D1%82%D0%B8.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5290190018326489730" /&gt;&lt;/a&gt;&lt;br /&gt;Необходимо стремиться к тому, чтобы эти 3 диска максимально перекрывали друг друга. Только в этом случае мероприятия по развитию специалиста будут успешны и выгодны обеим сторонам. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;4. Тренинги, семинары, наставничество&lt;/span&gt;&lt;br /&gt;Необходимо понимать, что существуют различные виды обучения и предназначены они для разных целей.&lt;br /&gt;Так, например:&lt;br /&gt;- Курсы: очень похожи на академическое образование. Охватывают довольно большой объем материала, могут состоять из лекционных и семинарских частей, а также практических занятий. &lt;br /&gt;- Семинары: направлены на прояснение узкого круга вопросов или же конкретного вопроса.&lt;br /&gt;- Тренинги: направлены на развитие конкретных навыков.&lt;br /&gt;- Наставничество: направлено на развитие конкретных навыков.&lt;br /&gt;&lt;br /&gt;Что же выбрать для обучения своих тестировщиков?&lt;br /&gt;Для ответа на этот вопрос разумно использовать обработанные результаты аттестации. Если из аттестационного профиля видно, что у тестировщика не хватает знаний, то необходимо по конкретным темам организовать семинары.&lt;br /&gt;Если человеку нужны определенные навыки, то стоит сосредоточиться на их развитии посредством тренинга (если это несколько человек) или же назначить наставника (одному или нескольким тестировщикам).&lt;br /&gt;Если же мы видим, что пробелов у тестировщика(ов) довольно много, то, возможно, имеет смысл подготовить даже обучающий курс.&lt;br /&gt;&lt;br /&gt;P.S. Необходимо отметить, что описанная схема развития тестировщиков применима также и к другим специалистам. Важно в каждом конкретном случае использовать индивидуальный подход к вашему персоналу. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Всегда ваша,&lt;br /&gt;Наташа Густыр&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-1777694744567379182?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/1777694744567379182/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=1777694744567379182' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1777694744567379182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1777694744567379182'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/01/blog-post.html' title='Вырасти себе тестировщика'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_N18ZDLq5XX0/SWqG0bkJPTI/AAAAAAAAACc/AgLQO389CE4/s72-c/%D0%A2%D0%9C%D0%9002_%D1%80%D1%8B%D0%B1%D0%B02_Page-2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-6336423775575764514</id><published>2009-01-08T11:58:00.012+02:00</published><updated>2009-01-10T11:06:37.371+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lessons Learned in Software Testing'/><title type='text'>Урок 49: People-based техники фокусируются на том, кто проводит тестирование.</title><content type='html'>&lt;div&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Lessons Learned in Software Testing&lt;br /&gt;Авторы: Cem Kaner, James Bach и Bret Pettichord&lt;br /&gt;Перевод: Сергей Талалаев&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Вот несколько примеров таких техник, отличающихся исполнителями.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Пользовательское тестирование / User testing.&lt;/b&gt; Тестирование людьми, которые обычно используют ваш продукт. Пользовательское тестирование может выполняться в любой момент разработки на вашей стороне или их, в строгом соответствии с подготовленными сценариями или на усмотрение пользователя. Некоторым видам пользовательского тестирования, таким как анализ задач, больше подходит совместное исследование (с привлечением как минимум одного пользователя и одного члена вашей тестовой команды), чем тестирование одним человеком.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;b&gt;Альфа тестирование / Alpha testing.&lt;/b&gt; Внутреннее тестирование, выполняемое тестовой командой (и возможно другими заинтересованными, внутренними ресурсами).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Бета тестирование / Beta testing.&lt;/b&gt; Это вид пользовательского тестирования, проводимый потенциальными пользователями вашего продукта, а не тестировщиками вашей компании. Разработка тестирумого продукта обычно близка к завершению. Многие компании рассматривают любую передачу предрелизного кода клиенту как бета-тестирование; они обозначают все бета-тесты как "бета". Это ошибка. В действительности существует множество различных типов бета-тестов. &lt;i&gt;Дизайн-бета тестирование&lt;/i&gt;, требующее от пользователей (в первую очередь экспертов) оценки дизайна, должно быть проведено как можно раньше, чтобы оставить время для внесения изменений по результатам тестирования. &lt;i&gt;Маркетинг-бета тестирование&lt;/i&gt;, проводимое с целью убедить крупных клиентов в необходимости приобретения данного продукта и установки его на своих крупных сетях, должно проводиться существенно позже, когда продукт уже достаточно стабилен. При проведении &lt;i&gt;бета-теста совместимости&lt;/i&gt; ваш клиент запускает ваш продукт на аппаратных и програмных платформах, полноценное тестирование на которых было сложным для вас. Данный вид тестирования должен проводиться до того момента, когда уже слишком поздно выявлять и исправлять проблемы совмеcтимости. Для любых типов бета-тестирования, которые вы проводите, вы должны сначала определить цели тестирования и лишь затем принимать решения о том, как и когда вы будете его проводить.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Баг-штурм / Bug bashes.&lt;/b&gt; Внутреннее тестирование с привлечением секретарей, программистов, менеджеров по продажам и всех, кто доступен. Обычный баг-штурм занимает пол-дня и проводится, когда продукт близок к релизу. (Замечание: мы рассматриваем данную технику в качестве примера, не настаивая на ней. Некоторые компании находят её полезной по различным причинам, другие - нет.)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Тематическое экспертное тестирование / Subject-matter expert testing.&lt;/b&gt; Передача продукта эксперту для проверки некоторых проблем, возникших с продуктом и требующих детального анализа (дефектов, замечаний и дополнений). Эксперт может и не являться возможным пользователем вашего продукта, ценность эксперта - это его знания, а не его значимость как потенциального покупателя.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Парное тестирование / Paired testing.&lt;/b&gt; Два тестировщика работают вместе над поиском ошибок. Обычно они делят один компьютер во время тестирования.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;"Ешьте сами свою заливную рыбу" / Eat your own dogfood.&lt;/b&gt; Ваша компания использует предрелизную версию своего продукта, обычно дожидаясь, когда продукт станет достаточно устойчив для реальной работы до начала его продаж.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-6336423775575764514?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/6336423775575764514/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=6336423775575764514' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/6336423775575764514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/6336423775575764514'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/01/49-people-based.html' title='Урок 49: People-based техники фокусируются на том, кто проводит тестирование.'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-1376064540122892776</id><published>2009-01-06T12:33:00.002+02:00</published><updated>2009-01-06T12:42:32.628+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='видео'/><category scheme='http://www.blogger.com/atom/ns#' term='конференции'/><title type='text'>Видео конференции SQA Days 2008 в Минске</title><content type='html'>Друзья!&lt;br /&gt;Уже совсем скоро на ресурсе it-conf появится &lt;a href="http://it-conf.ru/ru/content/34.htm"&gt;видео всех докладов&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;В настоящий момент готовы видеоролики всех докладов 2-й секции, а также некоторых флип-чартов и частично вступлений 1-й секции.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Всем, кто не был на конференции, очень советую посмотреть видео - ощутите себя полноценным участником, за тем небольшим исключением, что всего лишь не будет возможности задать вопросы докладчикам.&lt;br /&gt;&lt;br /&gt;Всем, кто присутствовал на конференции, советую посмотреть доклады еще раз. Таким образом можно освежить материалы в памяти и сделать акценты на тех вещах, которые остались за гранью вашего внимания при первом прослушивании.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Всегда ваша,&lt;br /&gt;Наташа Густыр&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-1376064540122892776?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/1376064540122892776/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=1376064540122892776' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1376064540122892776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1376064540122892776'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/01/sqa-days-2008.html' title='Видео конференции SQA Days 2008 в Минске'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-281719627314290866</id><published>2009-01-05T14:50:00.008+02:00</published><updated>2009-06-10T12:23:56.613+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='полезное'/><category scheme='http://www.blogger.com/atom/ns#' term='вехи'/><category scheme='http://www.blogger.com/atom/ns#' term='ISTQB'/><category scheme='http://www.blogger.com/atom/ns#' term='sqa'/><title type='text'>Перевод глоссария ISTQB на русский язык</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://spreadsheets.google.com/pub?key=puwS-5ZU5suIX3_hNKF3yLA&amp;amp;gid=21"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 62px;" src="http://1.bp.blogspot.com/_N18ZDLq5XX0/SWIDAHkYKsI/AAAAAAAAACU/UsD-dCTZWwo/s320/58.gif" alt="" id="BLOGGER_PHOTO_ID_5287792213052893890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Проект реализован силами участников портала &lt;a href="http://www.blogger.com/www.software-testing.ru"&gt;Software-Testing.RU&lt;/a&gt;, в числе которых нахожусь и я, Наташа Густыр, под руководством &lt;a href="http://www.drquality.ru/"&gt;Сергея Гринкевича&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Также готовый перевод Глоссария можно найти &lt;a href="http://www.gasq.org/boards/rstqb/cms/files/Dokumente/ISTQB%20Glossary%20Russian.pdf"&gt;здесь&lt;/a&gt;. Авторами этого перевода является рабочая группа &lt;a href="http://www.rstqb.org/index.php?id=1,0&amp;amp;sitelang=ru&amp;amp;newsid=29"&gt;RSTQB&lt;/a&gt; в составе трех человек:&lt;br /&gt;Андрей Конушин (Россия)&lt;br /&gt;Алексей Александров (Россия)&lt;br /&gt;Александр Александров (Россия)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-281719627314290866?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/281719627314290866/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=281719627314290866' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/281719627314290866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/281719627314290866'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2009/01/istqb.html' title='Перевод глоссария ISTQB на русский язык'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_N18ZDLq5XX0/SWIDAHkYKsI/AAAAAAAAACU/UsD-dCTZWwo/s72-c/58.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-5676190567324111717</id><published>2008-12-28T14:38:00.007+02:00</published><updated>2008-12-28T15:20:43.947+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='обучение'/><category scheme='http://www.blogger.com/atom/ns#' term='отзывы'/><title type='text'>Курс "Введение в автоматизированное функциональное тестирование"</title><content type='html'>Следуя традиции, сложившейся в нашей команде SQAdotBy, пишу о своих ощущениях от проведения очередного курса по автоматизации функционального тестирования. Курс проходил 22-23 декабря на базе учебного центра "Интерфейс" в Москве.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Группа была небольшая (4 человека), но активная! Даже предновогоднее настроение не помешало нам сосредоточиться на автоматизации тестирования :) По количеству и качеству вопросов чувствовалось, что слушатели были заинтересованы в получении знаний. Причём, нашей общей целью было не просто изучение теории и освоения основных возможностей средств автоматизации тестирования ПО, а попытка применить знания к СВОЕМУ проекту. &lt;br /&gt;&lt;br /&gt;Надеюсь, энтузиазм, который читался в глазах слушателей, не иссякнет, и через месяц- другой начинающие автоматизаторы будут наслаждаться работой своих скриптов!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;С Уважением,&lt;br /&gt;Ольга Балашенко&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;P.S.: Ещё я заметила, что со слушателями, которые уже посетили семинар Наташи Густыр "Введение в тестирование ПО", мы разговариваем на одном языке. Это значительно упрощает как чтение, так и прослушивание курса по автоматизации.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-5676190567324111717?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/5676190567324111717/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=5676190567324111717' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/5676190567324111717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/5676190567324111717'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/12/sqadotby.html' title='Курс &quot;Введение в автоматизированное функциональное тестирование&quot;'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-3042558099686980703</id><published>2008-12-24T17:51:00.002+02:00</published><updated>2008-12-24T17:55:24.639+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='фотографии'/><category scheme='http://www.blogger.com/atom/ns#' term='обучение'/><category scheme='http://www.blogger.com/atom/ns#' term='отзывы'/><title type='text'>Курс по тестированию в Интерфейсе – уууууух!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N18ZDLq5XX0/SVJa0SwuOzI/AAAAAAAAACM/VD8TJkBDb0k/s1600-h/titulnyi.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 241px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/SVJa0SwuOzI/AAAAAAAAACM/VD8TJkBDb0k/s320/titulnyi.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5283385167294905138" /&gt;&lt;/a&gt;&lt;br /&gt;Да-да-да – еще один курс по тестированию прочитан мною в Москве, в учебном центре Интерфейс.&lt;br /&gt;&lt;br /&gt;С 17 по 19 декабря провела время в чудесной компании из 10-ти человек (сама 11-ая).&lt;br /&gt;Почему «уууууух!»? Потому что группа была – ого-го!&lt;br /&gt;Коллеги, вы выжали из меня все соки (в хорошем смысле этого слова)!&lt;br /&gt;Три дня были настолько насыщенными в плане общения, потоков информации, позитива, что бодрый заряд энергии не иссякает до сих пор!&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Мои уважаемые слушатели, вы такие разные: каждый со своим опытом и багажом знаний, со своими идеями, с массой замечательных вопросов! Особенно помню наши (и ваши между собой) споры – чего так иногда не хватает!&lt;br /&gt;&lt;br /&gt;Было приятно видеть ваши разные (успешные и не очень) итоговые работы. Надеюсь, теперь вы знаете (или чувствуете, или хоть немного представляете), как работать в экстремальных условиях: короткие сроки, не совсем ясные или противоречивые требования, всегда недовольный заказчик.&lt;br /&gt;&lt;br /&gt;Всем и каждому в отдельности (Саша Сидоров, Саша Бурдейный, Инна Пантелеева, Галина Репникова, Ерсаин Шалаев, Максим Иванов, Оля Уваркина, Алексей Трофимов, Николай и Николай (ломаю голову, вспоминая фамилии , если напомните - добавлю) ) – большое спасибо!&lt;br /&gt;&lt;br /&gt;Хочется верить, что вы потратили время с пользой!&lt;br /&gt;&lt;br /&gt;З.Ы. По итогам курса будет слегка сокращен теоретический материал и добавлено еще немного практики.&lt;br /&gt;З.З.Ы. Фото нашей работы можно посмотреть &lt;a href="http://picasaweb.google.com/natallia.hustyr/Kurs_po_testirovaniju_Moskva_20081219#5282973207197751314"&gt;здесь&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Всегда ваша,&lt;br /&gt;Наташа Густыр&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-3042558099686980703?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/3042558099686980703/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=3042558099686980703' title='Комментарии: 8'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3042558099686980703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3042558099686980703'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/12/blog-post_24.html' title='Курс по тестированию в Интерфейсе – уууууух!'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_N18ZDLq5XX0/SVJa0SwuOzI/AAAAAAAAACM/VD8TJkBDb0k/s72-c/titulnyi.JPG' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-1756679124692019015</id><published>2008-12-23T12:32:00.005+02:00</published><updated>2008-12-23T13:56:21.136+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='фотографии'/><category scheme='http://www.blogger.com/atom/ns#' term='обучение'/><category scheme='http://www.blogger.com/atom/ns#' term='отзывы'/><title type='text'>На Урале тоже тестируют софт</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;span style="font-style: italic;"&gt;«Наташа, Вы у нас первая связь с внешним миром»&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Александр Москвин, слушатель&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N18ZDLq5XX0/SVDRKKrlf1I/AAAAAAAAACE/_nzwpwdb-d0/s1600-h/titulnyi.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 241px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/SVDRKKrlf1I/AAAAAAAAACE/_nzwpwdb-d0/s320/titulnyi.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5282952335501655890" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Зима выдалась насыщенной на курсы по тестированию.&lt;br /&gt;Декабрь начался с Екатеринбурга.&lt;br /&gt;8-10 декабря я провела в этом славном городе за работой – читала свой родной курс «Введение в тестирование ПО».&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Группа на этот раз состояла из 6-ти человек, все из которых работают в одной компании.&lt;br /&gt;&lt;br /&gt;Чем хороши корпоративные курсы:&lt;br /&gt;• Ориентируешься на одинаковые нужды слушателей;&lt;br /&gt;• Можно поближе познакомиться изнутри с разными видами бизнеса, и посмотреть, чем и как живут в них тестировщики;&lt;br /&gt;• Есть больше возможностей помочь решить реальные проблемы.&lt;br /&gt;&lt;br /&gt;Какие есть недостатки у корпоративных курсов:&lt;br /&gt;• Слушатели могут не задавать вопросов или задавать их очень мало. О причинах могу только догадываться:&lt;br /&gt;   o Стесняются друг друга&lt;br /&gt;   o Если не поняли чего-то, то думают: «Ай, потом спрошу у кого-нибудь из наших. Кто-то наверняка понял.» &lt;br /&gt;   o что-то еще?..&lt;br /&gt;• Слушатели продолжают время от времени отвлекаться по рабочим вопросам&lt;br /&gt;&lt;br /&gt;Как к плюсам, так и к минусам можно отнести подготовленность класса для обучения, потому что случаи бывали диаметрально противоположные. &lt;br /&gt;&lt;br /&gt;Каждый раз перед началом курса я интересуюсь у слушателей на предмет их ожиданий от курса, чтобы более гибко подходить к подаче материала, и делать акценты на тех разделах, которые в большей степени интересуют группу.&lt;br /&gt;В этот раз пожелания были сформулированы довольно широко и расплывчато. Например, «Узнать что-то новое…», «Практика есть, хотелось бы знать, как это называется в теории…», «Узнать о тестировании больше…», «Посмотреть, как это делают другие…».&lt;br /&gt;Если посмотреть в целом, то все перечисленные ожидания были удовлетворены. Хочется надеяться, что и не высказанные ожидания тоже хотя бы частично, но покрылись.&lt;br /&gt;&lt;br /&gt;Теперь несколько слов о каждом участнике группе…&lt;br /&gt;• Виктория была в группе звеном, следящим за дисциплиной и, наверное, чаще других выступала связистом между подаваемым материалом и реальной работой.&lt;br /&gt;• Ксения помогала структурировать материал предыдущего дня и будила группу от утреннего сна.&lt;br /&gt;• Светлана самый молодой и еще не определившийся со своим отношением к тестированию специалист, но очень бодрая и активная участница процесса. &lt;br /&gt;• Александр Гнатюк оказался самым «живым» и самым шустрым тестировщиком.&lt;br /&gt;• Александр Москвин вносил свои корректные дополнения и предложения, навеянные многолетним опытом работы.&lt;br /&gt;• Наталья была в нашей группе критиком, без ее резких замечаний некоторые вопросы просто не могли бы быть рассмотрены с разных сторон.&lt;br /&gt;&lt;br /&gt;Хочу пожелать всей группе успехов в работе! Разумного применения полученных знаний и навыков! И профессионального роста и развития!&lt;br /&gt;&lt;br /&gt;P.S. Надеюсь на ваше прощение по поводу задержки с публикацией отчета – рвалась на части между другими командировками и работой…&lt;br /&gt;P.P.S. Александр и Александр, я не перепутала ваши фамилии? :)&lt;br /&gt;P.P.P.S. Остальные фотографии можно посмотреть &lt;a href="http://picasaweb.google.com/natallia.hustyr/Kurs_po_testirovaniju_Ekaterinburg#5282676101959402274"&gt;здесь&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Всегда ваша,&lt;br /&gt;Наташа Густыр&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-1756679124692019015?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/1756679124692019015/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=1756679124692019015' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1756679124692019015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1756679124692019015'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/12/blog-post_23.html' title='На Урале тоже тестируют софт'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_N18ZDLq5XX0/SVDRKKrlf1I/AAAAAAAAACE/_nzwpwdb-d0/s72-c/titulnyi.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-3831618640687864241</id><published>2008-12-11T18:05:00.005+02:00</published><updated>2008-12-11T18:49:01.139+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='конференции'/><title type='text'>Интервью на www.software-testing.ru</title><content type='html'>Это еще отголоски конференции SQA Days 2008 в Минске.&lt;br /&gt;После окончания конференци мне выпал шанс пообщаться в совершенно свободной атмосфере с нашими коллегами из других городов. Одним из них был Алексей Баранцев - ныне главный редактор ресурса &lt;a href="www.software-testing.ru"&gt;www.software-testing.ru&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Уже в завершении вечера Алексей спросил: "Наташа, а, может, скажешь несколько слов о конференции для ресурса?"&lt;br /&gt;Я с удовольствием согласилась. &lt;br /&gt;Алексей достал диктофон - и началось :)&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Поскольку мне только дай поговорить, а времени было не очень много, и Алексея уже тянули за рукав его товарищи, торопившиеся на поезд, то о самой конференции я успела сказать только несколько слов, больше обо мне самой получилось...&lt;br /&gt;&lt;br /&gt;Собственно, вот и само &lt;br&gt;&lt;br&gt; &lt;a href="http://www.software-testing.ru/editorial/367-interview-hustyr"&gt;"Интервью с Натальей Густыр на SQA Days 2008 Minsk"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Сегодня мы публикуем интервью с Натальей Густыр, менеджером проектов компании Qulix Systems. Наталья входила в состав оргкомитета и была ведущей секции тестирования на конференции SQA Days 2008 Minsk. Но поскольку интервью состоялось сразу же после окончания конференции, впечатления были ещё слишком свежи, так что мы решили задать вопросы, не связанные с конференцией.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Расскажи о себе, как ты попала в тестирование? Что тебе понравилось или не понравилось в тестировании?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;История довольно простая и незатейливая. Когда я устраивалась на работу тестировщиком, то еще мало кто знал вообще, что это такое.&lt;br /&gt;&lt;br /&gt;В России, например, тестирование появилось гораздо раньше, чем в Беларуси. Оно и сейчас идет на несколько шагов впереди.. Компании брали на работу тестировщиками людей без опыта. Обычно человек приходил на собеседование, не имея четкого понятия о тестировании, а все его представления об этой профессии были на чисто интуитивном уровне. И в тестировщики брали всех, кто имел к этому хоть какие-то задатки: структурировано излагал свои мысли, видел нестандартное поведение простых вещей.&lt;br /&gt;&lt;br /&gt;На тот момент я работала на радиостанции, занималась продажами – продавала рекламное время, но с каждым днем я все больше и больше ненавидела свою работу. И меня постоянно посещали мысли о том, что я отучилась в университете, имею высшее математическое образование, а занимаюсь какой-то низкоквалифицированной ерундой. И почему бы мне не пойти работать в какую-нибудь IT-компанию, чтобы использовать, наконец, свои знания по назначению. Но чем там заниматься? Кроме программирования, я вообще не представляла себе, чем можно заниматься в IT-компании. Но я не видела себя программистом,  поэтому ясно осознавала, что этот путь для меня закрыт.&lt;br /&gt;Но у меня была подруга, которая уже попробовала работать тестировщиком. Она-то мне и посоветовала:  «Наташа, не переживай! Рассылай резюме на тестировщика – сейчас всех берут». Я подала резюме, и буквально на следующий день меня пригласили на собеседование. Собеседование проводили два молодых человека с горящими глазами: мой нынешний генеральный директор и директор отдела качества. Один из них нарисовал формочку и предложили мне составить максимальное количество тестов. Я с легкостью выполнила это задание, даже пыталась спорить в какой-то момент! На вопрос, знаю ли я что такое тестирование, я ответила, что не знаю, но предполагаю, что я должна искать дефекты, т.е. смотреть, как работает программа, и если она где-то сломалась,  значит, это дефект, вот собственно этим я и должна буду заниматься. Меня взяли, помучив ожиданиями дней пару.&lt;br /&gt;&lt;br /&gt;Когда я начала работать, я поняла, что попала в свою среду. Я просто влюбилась в то, что делаю.  Нет. Даже больше – я ловила огромный кайф. Я очень быстро набралась знаний и навыков, потому что постоянно интересовалась, и продолжаю интересоваться, чем занимаются другие люди в этой среде. Более того, у меня были очень интересные и разнообразные проекты и хорошие наставники. Я стараюсь следить за новинками литературы, стараюсь общаться с интересными людьми из этой сферы.&lt;br /&gt;&lt;br /&gt;Кажется, Роберт Кийосаки говорил, что если ты хочешь зарабатывать много денег, надо общаться с богатыми людьми. Это правило работает, наверное, во всех сферах, и в нашей тоже. Поэтому  если ты хочешь быть профессиональным тестировщиком, то надо обязательно общаться с тестировщиками-профессионалами. Именно это я и стараюсь делать.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Мы знаем, что ты читаешь курсы по тестированию в Москве. Почему именно в Москве, почему не в Минске?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Корни преподавательской деятельности в Москве  идут от нашей компании. Ещё до моего прихода в Qulix Systems, компания уже  сотрудничала с московским обучающим центром компании Интерфейс. Некоторые сотрудники, включая нашего генерального директора, читали свои курсы в Москве. Изначально курсы были связаны с инструментами Rational.&lt;br /&gt;&lt;br /&gt;А я в какой-то момент поняла, что хочу делиться с коллегами теми знаниями и навыками, которые успела приобрести. Так родились несколько внутренних семинаров, которые как-то очень удачно сложились в курс. Так что когда меня пригласили прочитать курс «Введение в тестирование ПО», у меня не было никаких сомнений, что всё получится.&lt;br /&gt;&lt;br /&gt;Есть и еще одна причина, почему минские специалисты читают курсы в Москве. Уровень зарплат в Москве и в Минске заметно различается, и учебным центрам выгоднее пригласить преподавателей из Минска, от чего уровень обучения, надо сказать, не снижается.&lt;br /&gt;&lt;br /&gt;Кроме того, в Минске еще не сложился рынок внешних курсов, особенно в области тестирования. Если компания большая, такая как EPAM или IBA, она обычно имеет внутренний учебный центр, а в маленьких компаниях учат методом наставничества. По инструментам разработки или по базам данных можно найти внешние курсы, а вот по тестированию практически ничего нет.&lt;br /&gt;&lt;br /&gt;Мы долгое время вели переговоры с ВУЗами, и не так давно наконец-то пришли к соглашению.  Я буду читать курсы в БГУИР уже с нового года, а также на мех-мате БГУ проведу несколько занятий, чтобы заинтересовать студентов в дальнейшем обучении.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Несколько слов о конференции?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Сейчас, по горячим следам, я пока ещё чувствую такой сильный драйв, так что сложно оценить впечатления. Очень понравилась атмосфера. Это мой первый опыт организации конференции. Все отзывы, которые я слышала, – положительные. Я получила огромное удовольствие и от подготовки  конференции и от проведения. Но, конечно, нам ещё предстоит пересмотреть анкеты участников, разобрать их отзывы, чтобы  сделать следующие конференции еще лучше.&lt;br /&gt;&lt;br /&gt;Спасибо! &lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-3831618640687864241?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/3831618640687864241/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=3831618640687864241' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3831618640687864241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3831618640687864241'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/12/wwwsoftware-testingru.html' title='Интервью на www.software-testing.ru'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-9093800004479635131</id><published>2008-12-11T16:56:00.019+02:00</published><updated>2008-12-11T18:51:32.828+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='фотографии'/><title type='text'>Молоток существует!</title><content type='html'>Друзья, в одном из своих &lt;a href="http://sqadotby.blogspot.com/2008/11/blog-post_21.html"&gt;постов&lt;/a&gt;, я писала о том, какой замечательный мотивационный инструмент есть у меня в команде - это МОЛОТОК!&lt;br /&gt;&lt;br /&gt;Вы просили фото? Пожалуйста! :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_N18ZDLq5XX0/SUErJkZ_o2I/AAAAAAAAABU/bwhSCcAR8aI/s1600-h/molotok1.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://1.bp.blogspot.com/_N18ZDLq5XX0/SUErJkZ_o2I/AAAAAAAAABU/bwhSCcAR8aI/s400/molotok1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5278547681646453602" /&gt;&lt;/a&gt;&lt;br /&gt;(&lt;span style="font-style:italic;"&gt;молоток. вид сверху&lt;/span&gt;)&lt;br /&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N18ZDLq5XX0/SUErmmLygwI/AAAAAAAAABc/Sas8TjHY96Y/s1600-h/molotok2.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 301px; height: 400px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/SUErmmLygwI/AAAAAAAAABc/Sas8TjHY96Y/s400/molotok2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5278548180339950338" /&gt;&lt;/a&gt;&lt;br /&gt;(&lt;span style="font-style:italic;"&gt;молоток в руке разработчика. боевое состояние&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Всегда ваша,&lt;br /&gt;Наташа Густыр&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-9093800004479635131?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/9093800004479635131/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=9093800004479635131' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/9093800004479635131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/9093800004479635131'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/12/blog-post.html' title='Молоток существует!'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_N18ZDLq5XX0/SUErJkZ_o2I/AAAAAAAAABU/bwhSCcAR8aI/s72-c/molotok1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-804256372995507646</id><published>2008-12-10T23:06:00.014+02:00</published><updated>2008-12-11T16:56:21.104+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='автоматизация'/><category scheme='http://www.blogger.com/atom/ns#' term='конференции'/><category scheme='http://www.blogger.com/atom/ns#' term='отзывы'/><title type='text'>SQA Days 2008 - полная версия флипа "Использование MS Excel в качестве унифицированного хранилища данных для автоматизированных тестов"</title><content type='html'>Для меня было несколько неожиданно, что мой нишевой флип вызовет такой интерес у коллег-тестировщиков. Поэтому (а еще и потому что временные рамки не позволяли изложить весь имеющийся материал) было решено после конференции собраться с силами и подготовить развернутую версию.&lt;br /&gt;Итак силы были собраны и я приглашаю вас ознакомится с полной "режиссерской" версией доклада.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;strong&gt;Аннотация&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Доклад затрагивает проблему выбора унифицированного хранилища тестовых данных для проведения автоматизированных функциональных и нагрузочных тестов. &lt;br /&gt;Приводимый в докладе подход никоим образом не претендует на истину в последней инстанции и отражает лишь удачный опыт автора в практическом применения данных механизмов в ходе реализации проектов функциональной автоматизации.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.1 Предыстория&lt;/strong&gt;&lt;br /&gt;1.1.1 Автоматизация: от эйфории до созерцания&lt;br /&gt;&lt;br /&gt;Есть несколько типичных ошибок, которые допускются при  первых попытках внедрения автоматизации функционального тестирования. Эти ошибки допускаются естественно из-за отсутствия опыта в такого вида разработках и кроме того в некоторой степени ”поощряются” кажущейся легкостью работы в современных тестовых фреймворках при использовании механизмов макрозаписи (трансляции действий пользователя напрямую в тестовый скрипт). К сожалению подход при котором вся тестовая команда &lt;b&gt;записывает&lt;/b&gt; килотонны кода, что вызывает невиданный прилив энтузиазма как у самих членов команды так и у руководства, приводит в конце концов к плачевным результатам. &lt;br /&gt;Рано или поздно наступает тяжелый момент, когда нужно остановиться, отдышаться и трезвым взглядом посмотреть на дело рук своих, чтобы трезво &lt;b&gt;оценить во что же выльется переделка&lt;/b&gt;.&lt;br /&gt;В нашем случае ситуация оказалась настолько запущенной, что было принято решении отказаться от существующих скриптов такого вида и написании их с нуля в строгом соотвествии с оговоренными правилами которые впоследствии оформились в документ под названием “Test scriprting guideline”.&lt;br /&gt;&lt;br /&gt;Я сознательно ушел от подробного разбора причин, которые привели к необходимости столь радикальных  действий, чтобы детально рассмотреть их в следующей части доклада.&lt;br /&gt;&lt;br /&gt;1.1.2 Проблема больших чисел&lt;br /&gt;&lt;br /&gt;Сформулировать её можно следующим образом: при увеличении масштаба процесса на первый план выходят совершенно неучтенные и казалось бы незначительные факторы. &lt;br /&gt;Правило очень актуальное для экспериментальных областей физики и химии оказывается как нельзя кстати и в процессе разработки автоматизированных тестов. Существует много возможностей для применения этого правила с точки зрения оптимизации процесса, но мы остановимся на следующей зависимости:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Количество скриптов : Время затрачиваемое на их поддержку&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Если отобразить эту зависимость в виде графика где по оси Х будет отображаться количество скриптов а по оси Y – время необходимое для поддрежки этого количства скриптов, то мы получим три варианта развития событий.&lt;br /&gt;Первый вариант – график выше линейного, говорит о том, что при разработке скриптов не использовались методики оптимизации, наверняка есть повторимость кода и структура скриптов не унифицирована.&lt;br /&gt;Второй вариант – линейный, очевидно гораздо лучше первого рассмотренного варианта, но тем не менее он предлагает обычный экстенсивный путь развития при котором чем большее количество скриптов мы хотим реализовать тем большая команда автоматизации нам  потребуется.&lt;br /&gt;Третий вариант – очевидно,что именно к нему и нужно стремится, предполагает, что при увеличении скриптов время требуемое на их поддрежку растет незначительно.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_N18ZDLq5XX0/SUA0qiu6TRI/AAAAAAAAAAs/uzUn2xvn9-M/s1600-h/Img01.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/SUA0qiu6TRI/AAAAAAAAAAs/uzUn2xvn9-M/s400/Img01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5278276668760935698" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Для того чтобы поддержка скриптов не легла непосильным бременем на тестовую команду при разработке тестов нужно обязательно уделять внимание таким моментам как:&lt;br /&gt;• Унификация структуры сриптов (с последующим документированием этой структуры)&lt;br /&gt;• Вынос общих бизнес-функций в библиотеки/классы&lt;br /&gt;• Использование внешних источников данных&lt;br /&gt;&lt;br /&gt;Несомненно все три озвученных практики являются важными, но согласно выбранной тематики доклада детальному разбору подвергем лишь последнюю из этого списка.&lt;br /&gt;&lt;br /&gt;1.1.3 Идентификация проблемы. &lt;br /&gt;&lt;br /&gt;Попытаемся сформулировать требования, которым должно удовлетворять внешнее хранилище данных и на основании этих требований оценить возможные варианты реализации.&lt;br /&gt;Существуют 3 независимых пользователя нашего хранилища тестовых данных со своими, совершенно казалось бы непересекающимися требованиями:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_N18ZDLq5XX0/SUA1nuELxNI/AAAAAAAAAA0/e5tuNVChwGI/s1600-h/img02.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 186px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/SUA1nuELxNI/AAAAAAAAAA0/e5tuNVChwGI/s400/img02.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5278277719774971090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Основным требованием предъявляемым со стороны тестовой команды (а здесь мы имеем ввиду именно функциональных тестировщиков) является простота создания и поддержки тестовых данных и отсутствие необходимости изучения каких-либо узкоспециализированных инструментов и сложных техник.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Со стороны команды автоматизации основное требование – это простота интеграции в существующие скрипты. По крайней мере процесс интеграци долджне быть не сложнее чем при применении стандартных встроенных хранилищ.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Не всегда но тем не менее со стороны заказчика тоже просыпается интерес к тестовым данным, которые используются при проведении автоматических тестов. И основное требование с этой стороны – это доступное визуальное оформление этих тестовых данных.&lt;br /&gt;&lt;br /&gt;В следующей части доклада я постараюсь показать вам, что есть стандартные инструменты готовые удовлетворить все три потока  требований. Но сначала рассмотрим, что предоставляется для реализации хранилищ самим инструментарием с которым мне приходилось сталкиваться в ходе работы.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.2 Стандартные решения – достоинства и недостатки&lt;/strong&gt;&lt;br /&gt;1.2.1 Реализация внутренних хранилищ в семействах продуктов IBM Rational&lt;br /&gt;В качестве встроенного хранилища данных в семействе продуктов Rational используются так называемые Датапулы (Datapools). Они представляют собой некий урезанный вариант таблиц базы данных.&lt;br /&gt;&lt;br /&gt;Из положительных сторон можно отметить:&lt;br /&gt;- встроенный механизм генераци данных &lt;br /&gt;- родная поддержка на уровне скрипта&lt;br /&gt;- возможность использования как для функционального так и для нагрузочного  тестирования&lt;br /&gt;&lt;br /&gt;Из минусов:&lt;br /&gt;- неудобство редактирования данных&lt;br /&gt;- отсутствие возможности группировки данных&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.2.2 Реализация внутренних хранилищ в семействах продуктов HP Mercury&lt;br /&gt;В качестве встроенного хранилища данных в семействе продуктов HP Mercury используются стандартные Excel файлы. &lt;br /&gt;&lt;br /&gt;Из положительных сторон можно отметить:&lt;br /&gt;- удобство редактирования &lt;br /&gt;- родная поддержка на уровне скрипта&lt;br /&gt;&lt;br /&gt;Из минусов:&lt;br /&gt;- при редактировании через встороенный редактор из файла удалятся всё форматирование&lt;br /&gt;- отсутствие возможности группировки данных&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.2.3 Другие варианты хранения данных&lt;br /&gt;• CVS файлы&lt;br /&gt;Неудобство работы напрямую в файле. При использовании того же Excel в качестве редактора получаем 2-х проходную работу. Проблемы с группировкой и отсутсвием валидации на входе.&lt;br /&gt;• XML файлы&lt;br /&gt;Персонал должен как минимум понимать структуру XML, владеть одним из редакторов для манипуляции с файлами такого вида. Сложно задается валидация входных значений.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.3 Поиск компромисса&lt;/strong&gt;&lt;br /&gt;1.3.1 Почему Excel?&lt;br /&gt;&lt;br /&gt;При выборе варианта хранилища данных мы в качестве основного критерия выбрали удобство подготовки и редактирования данных. Акцент при выборе был сознательно смещен в эту сторону так как продукт был действительно большим и сложным и без помощи функциональной тестовой команды автоматизаторам было бы нереально подготовить такой объем данных. &lt;br /&gt;Со стороны команды автоматизации было сделано допущение (впоследствии оно оказалось верным), что на уровне скрипта мы сможем создать механизмы по крайней мере не уступающие стандартным в удобстве использования. С этой позиции Excel был лучшим кандидатом, но в ходе реализации выяснялись некоторые особенности изучив которые мы смогли получить эффективную отдачу от выбранного инструмента. О них поговорим в следующей части доклада.&lt;br /&gt;&lt;br /&gt;1.3.2 Хитрости и трюки&lt;br /&gt;&lt;br /&gt;Для того чтобы получить видимые для ODBC таблицы в Excel- файле вы должны определенным образом разметить интересующие вас подмножества ячеек. Для этой цели служит функциональность называемая Names (именованные диапазоны). Создать именованный диапазон можно через “Define name” диалог (Insert &gt; Name &gt; Define) или через Formulas &gt; Define Name  в 2007-ом офисе. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_N18ZDLq5XX0/SUA283WAkfI/AAAAAAAAAA8/HuGk2h0VNjQ/s1600-h/img03.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 243px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SUA283WAkfI/AAAAAAAAAA8/HuGk2h0VNjQ/s400/img03.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5278279182554534386" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;После такого выделения ваши имена становятся доступны как таблицы для ODBC драйвера. Для проверки того что диапазон задан верно необходимо выделить помеченые ячейки и в Navigation bar должно отбразиться заданное имя.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_N18ZDLq5XX0/SUA3Uaw0MhI/AAAAAAAAABE/kR0YWPkdG_I/s1600-h/img04.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 302px; height: 257px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/SUA3Uaw0MhI/AAAAAAAAABE/kR0YWPkdG_I/s400/img04.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5278279587199201810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.3.3  «Ложка дегтя»: ограничения использования&lt;br /&gt;&lt;br /&gt;Конечно все это было бы слишком хорошо если бы не было каких-либо ограничивающих факторов и они к сожалению есть:&lt;br /&gt;- мы не сможем использовать наши тестовые данные для нагрузочных тестов как например в случае использования “родных” хранилищ Rational;&lt;br /&gt;- у нас не будет возможности запускать наши тесты в многоплатформенной среде даже если сама тестовая платформа это позволяет.&lt;br /&gt;&lt;br /&gt;Но из своей практики могу отметить, что эти ограничения не являются критичными для большинства тестовых проектов.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.4 Из личного опыта: «Датадривен – это просто»&lt;/strong&gt;&lt;br /&gt;1.4.1 Задача: разработать автоматические тесты с возможностью кастомизации без изменения кода.&lt;br /&gt;&lt;br /&gt;Кастомизация предполагалась следующая:&lt;br /&gt;- скрипты должны были выполнятся как в рамках Smoke тестов так и в рамках основного цикла тестирования&lt;br /&gt;- существовала необходимость использовать скрипты в том числе для загрузки некоторых специфичных начальных тестовых данных  с UI (общесистемные данные грузились напрямую в БД на этапе сборки билда)&lt;br /&gt;&lt;br /&gt;То есть было необходимо предусмотреть возможность запуска скриптов с разными наборами тестовых данных и также возможность отключения точек проверки для случая заполнения данных.&lt;br /&gt;&lt;br /&gt;1.4.2 Вариант решения&lt;br /&gt;&lt;br /&gt;- Использование property файлов для группы скриптов,  в которых для каждого скрипта задаются его тестовые данные (в нашем случае имя Excel файла)&lt;br /&gt;- На уровне самого скрипта задался набор данных по умолчанию, который позволял запускать скрипты без параметров&lt;br /&gt;- На уровне property файлов  также была возможность отключить отработку точек проверки&lt;br /&gt;&lt;br /&gt;Реализация озвученных механизмов естественно потребовала четкой унификации структуры разрабатываемых скриптов, что было зафиксировано в руководстве по разработке скриптов.&lt;br /&gt;&lt;br /&gt;1.4.3 Анализ полученного результата&lt;br /&gt;&lt;br /&gt;В результате мы получили достаточно гибкую структуру решающую все поставленные задачи. Кроме того строгая унификация подходов к разработке избавляла нас от серьезных временных затрат при вхождении нового человека в команду автоматизации и при отладке скриптов после изменения UI.&lt;br /&gt;&lt;br /&gt;Из минусов можно отметить следующий момент. Так как фреймворк реализовывался на обычном процедуральном языке (расширение VB) то все сервисные механизмы по работе с property файлами должны были присутствовать на уровне скриптов. И хотя реального кода там было не более 10 строк тем не менее это захламляло скрипт.&lt;br /&gt;Дальнейшая реализация такого же подхода в рамках OO-языка (Functional Tester + Java) показала насколько эффективно сервисный код может быть скрыт на верхнем уровне иерархии.&lt;br /&gt; &lt;br /&gt;&lt;strong&gt;1.5 Непознанный мир Excel&lt;/strong&gt;&lt;br /&gt;1.5.1 Возможность использования Excel в качестве источника XML-данных&lt;br /&gt;&lt;br /&gt;Начиная с 2003-ей версии офиса в Excel появилась возможность интеграции с XML, причем как в сторону загрузки данных в Excel таблицы так и в сторону экспорта табличных данных в XML файл. Эта функциональность (называемая в офисе 2003 Lists  а в 2007 – Tables) добавила еще больше гибкости в процедуру подготовки тестовых данных. Теперь появилась возможность оперировать с текстовыми данными практически любого вида. Единственно, что требуется дополнительно реализовать - это XSLT преобразование из полученного в процесе экспорта XML файла к требуемому для приложения виду.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_N18ZDLq5XX0/SUA4LteS2mI/AAAAAAAAABM/GgwXHsrUOXA/s1600-h/Img05.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 218px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/SUA4LteS2mI/AAAAAAAAABM/GgwXHsrUOXA/s400/Img05.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5278280537114597986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1.5.2 Варианты применения&lt;br /&gt;&lt;br /&gt;Лежащий на поверхности путь преобразования – это подготовка прямых SQL операторов для прямой заливки данных в базу. Кроме того могут понадобиться какие-либо специфичные форматы данных в основе которых лежат табличные данные (например, данные для Web- сервисов). &lt;br /&gt;Очевидное преимущество получаемое от такой схемы работы – это простота поддержки и модификации наряду с гибкостью по отношению к выходным форматам.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.6 Из личного опыта: «Пойди туда, не знаю куда – найди то, не знаю что»&lt;/strong&gt;&lt;br /&gt;1.6.1 Задача: протестировать процедуру миграции БД&lt;br /&gt;&lt;br /&gt;Особенность задачи состояла в том, что заказчик (очень крупная страховая компания) неохотно шел на предоставление информации о структуре данных в старой БД. Не могу сказать что это было вызвано прямым нежеланием сотрудничать с нами. Вероятнее всего желание сотрудничества терялось где-то в хитросплетениях бюрократических процедур  и просто не доходило до конкретного исполнителя. Тем не менее сроки для нас были поставлены достаточно жесткие и аппелировать потом к совести заказчика потрясая кипой грозных писем с нашей стороны особого желания не было.&lt;br /&gt;На тот момент функционал по миграции уже более менее был готов к тестированию и для набивки тестовых данных не хватало детализации старой структуры в которую требовалось эти данные загружать.&lt;br /&gt;Таким образом мы понимали, что подготовленные нами данные (а они естественно должны были быть в виде скриптов БД) обязательно потребуют модификации после уточнения оставшихся вопросов.&lt;br /&gt;&lt;br /&gt;1.6.2 Вариант решения&lt;br /&gt;&lt;br /&gt;Вот тут как нельзя кстати пригодилась новая функциональность Excel позволяющая выгружать данные в XML. &lt;br /&gt;Мы сначала подготовили данные для понятных нам тестовых случаев и согласно предполагаемой структуре сделали прослойку для генерации скриптов (то есть приготовили набор XSL файлов необходимый для конвертации выгружаемых XML в требуемый нам формат).&lt;br /&gt;Имея на руках уже готовые тестовые данные разговаривать с заказчиком стало гораздо проще. Стало очевидным что с нашей стороны были сделаны все шаги и без их активного участия дальше двигаться невозможно. Поэтому началось активное общение с разбором возникающих проблем и постепенное доведение наших скриптов до рабочего состояния.&lt;br /&gt;&lt;br /&gt;1.6.3 Анализ полученного результата&lt;br /&gt;&lt;br /&gt;Из несомненных плюсов примененного подхода хочется отметить, что мы смогли начать работу даже не имея на руках полностью разжеванной спецификации по БД, что при любых других вариантах решения привело к большим затратам по модификации готовых сриптов. Нам этого удалось избежать, сохранив по максиму уже подготовленные данные.&lt;br /&gt;Из минусов или скажем так из особенностей нужно отметить что на стороне тестовой команды должен был присутствовать человек имеющий опыт работы с XML+XSLT. Но это, я считаю, является очень хорошим стимулом к изучению на практике новых областей не совсем типичных для просто функционального тестирования.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.7 Из личного опыта: «Хотели бы помочь, но по-своему»&lt;/strong&gt;&lt;br /&gt;1.7.1 Задача: получить тестовые данные для проведения UAT от заказчика&lt;br /&gt;&lt;br /&gt;В ходе работ по ”оживлению” старого демо-приложения выяснилось, что мы не можем убедиться в корректности работы функциональности отчетов в восстановленном функционале из-за полного отсутствия документации на эту часть приложения. Заказчик воспринял ситуацию адекватно и предложил свою помощь в разрешении проблемы, а именно предложил нам взять на себя подготовкку тестовых данных для этой части функционала. Наша радость к сожалению была очень недолгой, когда мы увидели в каком виде к нам начали приходить эти данные. Ни о какой организованной струтуре речи ни шло. Данные для полей с ограниченным набором списковых значений например могли отличаться от набора к набору ( как пример в одном наборе период назывался “semi-annual”, а в другом – “Semi annual”). Мы пришли к выводу, что на вычистку таких данных уйдет больше времени, если они не будут жестко следовать предопределенному формату. &lt;br /&gt;&lt;br /&gt;1.7.2 Вариант решения&lt;br /&gt;&lt;br /&gt;Решено было на основании уже полученных первых данных  от заказчика и дальнейших консультаций подготовить шаблон для ввода данных с жесткими ограничениями на вводимые данные. В качестве оболочки для создания такого шаблона был выбран Excel с его функциональностью по валидации вводимых данных. Использовались такие типы валидаии как &lt;br /&gt;- ограничение вводимых значений только значениями из списка&lt;br /&gt;- задание диапазонов допустимых значений&lt;br /&gt;В дальнейшем предполагалось использовать механизм выгрузки подготовленных данных в XML формат и конвертацию полученных XML файлов в последовательность SQL-операторов для загрузки данных напрямую в БД.&lt;br /&gt;&lt;br /&gt;1.7.3 Анализ полученного результата&lt;br /&gt;&lt;br /&gt;Шаблоны были успешно подготовлены, опробованы и отосланы заказчику для продолжения работы по набивке данных. Но видимо первый порыв альтруизма уже прошел и дальнейшего продолжения эта история увы не получила. Тем не менее мы со своей  стороны  получили опыт в реализации шаблонов для входных данных, который несомненно пригодится в будущем.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;С уважением,&lt;br /&gt;Сергей Талалаев&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-804256372995507646?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/804256372995507646/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=804256372995507646' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/804256372995507646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/804256372995507646'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/12/sqa-days-2008-ms-excel.html' title='SQA Days 2008 - полная версия флипа &quot;Использование MS Excel в качестве унифицированного хранилища данных для автоматизированных тестов&quot;'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_N18ZDLq5XX0/SUA0qiu6TRI/AAAAAAAAAAs/uzUn2xvn9-M/s72-c/Img01.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-487247407029956114</id><published>2008-12-06T17:23:00.006+02:00</published><updated>2008-12-06T17:55:14.490+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='обучение'/><category scheme='http://www.blogger.com/atom/ns#' term='отзывы'/><title type='text'>Курс "Основы функционального тестирования с использованием инструментов IBM Rational"</title><content type='html'>В первые (хотелось бы сказать морозные :) но не могу) деньки зимы, а точнее с 1-го по 3-е декабря прочитал курс (см. заголовок) в компании Интерфейс.&lt;br /&gt;&lt;br /&gt;Группа была небольшой и очень подготовленной с профессиональной точки зрения. Практически все слушатели уже имели некоторый опыт работы с данным фреймворком и задаваемые вопросы носили вполне конкретную прикладную направленность. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Курс получился очень полным с точки зрения реализации не только основного обязательного материала, но и дополнительных практик и методов накопленных за время работы с данными продуктами (и не только с ними). Хотел бы отметить, что я сам получил огромное удовольствие от работы с ТАКОЙ группой.&lt;br /&gt;&lt;br /&gt;Дмитрий, Александр, Олег, Станислав, огромное вам спасибо, коллеги. Меня очень подстегивали и мотивировали ваши практические вопросы "из жизни".  В свою очередь надеюсь, что вы получили на них полноценные ответы и теперь четко представляете себе дальнейший вектор движения в рамках внедрения автоматизированного тестирования.&lt;br /&gt;&lt;br /&gt;В напутствие хотелось бы пожелать, чтобы полученные знания получили возможность быть примененными на практике.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;С уважением,&lt;br /&gt;Сергей Талалаев&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-487247407029956114?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/487247407029956114/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=487247407029956114' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/487247407029956114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/487247407029956114'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/12/ibm-rational.html' title='Курс &quot;Основы функционального тестирования с использованием инструментов IBM Rational&quot;'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-1401548759803967852</id><published>2008-12-05T11:52:00.000+02:00</published><updated>2008-12-05T11:55:08.832+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lessons Learned in Software Testing'/><title type='text'>Урок 6: Работайте с программистами сообща</title><content type='html'>&lt;span style="font-style:italic;"&gt;Lessons Learned in Software Testing&lt;br /&gt;Авторы: Cem Kaner, James Bach и Bret Pettichord&lt;br /&gt;Перевод: Наталья Густыр&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Поддержка программистов – это, наверное, ключевая часть вашей миссии. Когда вы тестируете вещи, которые программисты разрабатывают прямо сейчас, или недавно разработали, ваши отзывы помогут им работать более эффективно. Когда они что-то доставляют, вы тестируйте это. Когда они вносят какое-либо изменение, вы тестируйте это изменение. Ставьте перед собой цель предоставлять обратную связь наиболее коротким и быстрым путем. Пока программисты «пережевывают» баги, которые вы только что нашли, вы свободны для того, чтобы искать еще больше новых багов. Идеальная ситуация (для тестировщиков) – это та, в которой разработчики заняты исправлением проблем настолько, что вы можете явно дать понять, кто в проекте – узкое место (они, а не вы!).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-1401548759803967852?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/1401548759803967852/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=1401548759803967852' title='Комментарии: 13'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1401548759803967852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1401548759803967852'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/12/6.html' title='Урок 6: Работайте с программистами сообща'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-7450814435669209164</id><published>2008-11-25T22:01:00.001+02:00</published><updated>2008-11-25T22:04:06.524+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lessons Learned in Software Testing'/><title type='text'>Урок 238: Нанимайте людей, которые любят свою работу</title><content type='html'>&lt;span style="font-style:italic;"&gt;Lessons Learned in Software Testing&lt;br /&gt;Авторы: Cem Kaner, James Bach и Bret Pettichord&lt;br /&gt;Перевод: Сергей Талалаев&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Обращайте внимание на энтузиазм кандидата и будьте осторожны с кандидатами имевшими разногласия с руководством на предыдущих местах работы. Особенно будьте недоверчивы к людям которые были чем-либо обижены на предыдущем месте работы.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt; &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-7450814435669209164?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/7450814435669209164/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=7450814435669209164' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/7450814435669209164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/7450814435669209164'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/11/238.html' title='Урок 238: Нанимайте людей, которые любят свою работу'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-2088772175518207803</id><published>2008-11-24T23:54:00.003+02:00</published><updated>2008-11-25T00:00:39.558+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lessons Learned in Software Testing'/><title type='text'>Урок 244: После принятия решения - оперативно завершайте процедуру найма</title><content type='html'>&lt;span style="font-style:italic;"&gt;Lessons Learned in Software Testing&lt;br /&gt;Авторы: Cem Kaner, James Bach и Bret Pettichord&lt;br /&gt;Перевод: Сергей Талалаев&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Быстрое проведение документов кандидата по каналам компании должно иметь максимальный приоритет, иначе из-за вашей задержки хороший кандидат может принять предложение другой компании.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt; &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-2088772175518207803?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/2088772175518207803/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=2088772175518207803' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/2088772175518207803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/2088772175518207803'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/11/244.html' title='Урок 244: После принятия решения - оперативно завершайте процедуру найма'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-5104890779299513117</id><published>2008-11-21T11:55:00.003+02:00</published><updated>2008-11-22T00:20:31.698+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sqa'/><title type='text'>Молоток для тестировщика, или Один из способов формирования дружеской атмосферы в команде</title><content type='html'>Ни для кого не секрет, что зачастую отношения между разработчиками и тестироващиками оставляют желать лучшего. Одни считаются создателями (разработчики), а другие разрушителями (соответственно, тестировщики).&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Разработчики порой очень остро реагируют на найденные в их коде ошибки, на невоспроизводимое описание ошибки и особенно на те ошибки, которые таковыми не являются (например, зарегистрировано, что какая-то функция не работает, а на деле оказывается, что тестировщик не произвел каких-либо настроек или неправильно собрал билд, или что-то еще...)&lt;br /&gt;&lt;br /&gt;Подобного рода казусы вызывают гнев у разработчиков и они начинают отчаянно поливать грязью своих коллег-тестировщиков. Как этого избежать? &lt;br /&gt;Один из способов - относиться к этому с юмором, если только подобного рода ситуации не являются признаком непрофессионализма вашего тестировщика. Помните - всем свойственно ошибаться.&lt;br /&gt;&lt;br /&gt;Например, в моей нынешней команде ситуация решается вот таким забавным образом.&lt;br /&gt;Однажды моему техлиду на День Рождения подарили молоток (!). И не простой молоток, а резиновый! - очень по-дружески...&lt;br /&gt;Молотком этим пользуется вся команда разработки. Инструкция по использованию такая:&lt;br /&gt;1) Если вы не довольны работой тестировщика, не злитесь, возьмите молоток в руки.&lt;br /&gt;2) Подойдите к тестировщику с улыбкой на лице и молотком за спиной.&lt;br /&gt;3) С этой же неизменной добродушной улыбкой достаньте молоток из-за спины и аккуратно положите его рядом с тестировщиком.&lt;br /&gt;4) Придвиньте стул, сядьте и, продолжая мило улыбаться, спросите "Так что у нас не работает?"&lt;br /&gt;Не поверите - либо все сразу заработает, либо очень быстро и безболезненно удастся разобраться.&lt;br /&gt;&lt;br /&gt;P.S. А тот смех, который возникает у всех членов команды и окружающих при виде молотка очень положительно сказывается на общем бодром и дружеском настроении и взаимоотношениях в коллективе!&lt;br /&gt;&lt;br /&gt;Найдите и вы свой "молоток"!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Всегда ваша,&lt;br /&gt;Наташа Густыр&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-5104890779299513117?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/5104890779299513117/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=5104890779299513117' title='Комментарии: 10'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/5104890779299513117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/5104890779299513117'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/11/blog-post_21.html' title='Молоток для тестировщика, или Один из способов формирования дружеской атмосферы в команде'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-1246963832163357186</id><published>2008-11-20T19:40:00.003+02:00</published><updated>2008-11-20T19:45:58.235+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='фотографии'/><category scheme='http://www.blogger.com/atom/ns#' term='конференции'/><title type='text'>SQA Days 2008 - второй фотоотчет!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N18ZDLq5XX0/SSWiDn_YtII/AAAAAAAAAAU/62zNoPsSS8g/s1600-h/%D0%BA%D0%BE%D0%BD%D1%84%D0%B0-2.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 133px; height: 200px;" src="http://2.bp.blogspot.com/_N18ZDLq5XX0/SSWiDn_YtII/AAAAAAAAAAU/62zNoPsSS8g/s200/%D0%BA%D0%BE%D0%BD%D1%84%D0%B0-2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5270797122065183874" /&gt;&lt;/a&gt;&lt;br /&gt;Вторая партия фотографий конференции - вашему вниманию!&lt;br /&gt;Смотреть &lt;a href = "http://picasaweb.google.ru/barancev/SQADays2008Minsk#"&gt;здесь&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Всегда ваша,&lt;br /&gt;Наташа Густыр&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-1246963832163357186?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/1246963832163357186/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=1246963832163357186' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1246963832163357186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1246963832163357186'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/11/sqa-days-2008_20.html' title='SQA Days 2008 - второй фотоотчет!'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_N18ZDLq5XX0/SSWiDn_YtII/AAAAAAAAAAU/62zNoPsSS8g/s72-c/%D0%BA%D0%BE%D0%BD%D1%84%D0%B0-2.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-3434390008919061404</id><published>2008-11-20T19:18:00.003+02:00</published><updated>2008-11-20T19:36:23.400+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='обзоры'/><title type='text'>it4business.ru - не только для бизнеса</title><content type='html'>Коллеги, в рубрике "обзоры" мы планируем проводить ревью книг, ресурсов и других источников полезной для нашей с вами профессиональной деятельности информации.&lt;br /&gt;&lt;br /&gt;И первым в этом списке стал ресурс &lt;a href="www.it4business.ru"&gt;www.it4business.ru&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Что вы можете найти на ресурсе:&lt;br /&gt;- Новинки ИТ-отрасли&lt;br /&gt;- Статьи различных специалистов&lt;br /&gt;- Пресс-релизы&lt;br /&gt;- Информация об обучении в отрасли ИТ&lt;br /&gt;- Блоги и форум&lt;br /&gt;- Вакансии&lt;br /&gt;- Интересные исследования&lt;br /&gt;- и многое-многое другое&lt;br /&gt;&lt;br /&gt;Чем хорош ресурс:&lt;br /&gt;Всегда актуальная информация.&lt;br /&gt;Всегда живой, реально работающий форум!!!&lt;br /&gt;&lt;br /&gt;Последние события на ресурсе:&lt;br /&gt;Авторы собирают блоги специалистов, которые пишут на темы тестирования, качества, управления, разработки и т.д. Поэтому в скором будущем мы сможем познакомиться с массой новых интересных людей!&lt;br /&gt;Наш &lt;a href="http://sqadotby.blogspot.com"&gt;блог&lt;/a&gt; там тоже уже есть!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-3434390008919061404?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/3434390008919061404/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=3434390008919061404' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3434390008919061404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3434390008919061404'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/11/it4businessru.html' title='it4business.ru - не только для бизнеса'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-6846945592521757566</id><published>2008-11-20T17:57:00.002+02:00</published><updated>2008-11-20T18:14:09.909+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='вехи'/><category scheme='http://www.blogger.com/atom/ns#' term='обучение'/><title type='text'>Тестирование - студентам!</title><content type='html'>Сегодня произошли два, на мой взгляд, очень важных события.&lt;br /&gt;&lt;br /&gt;Первое - это лекция по тестированию на механико-математическом факультете Белгосуниверситета!&lt;br /&gt;&lt;br /&gt;Это были студенты 1-го курса. В рамках предмета "Введение в информационные технологии" я рассказывала им, что же такое тестирование, стоит ли этим заниматься, кто такие тестировщики и далее в этом ключе. Мы даже попробовали немножко тестировать и регистрировать баги. И все это в дружеской атмосфере и незатейливой форме.&lt;br /&gt;&lt;br /&gt;Я уже отвыкла от такого рода аудитории. Первокурсники сродни ученикам старших классов школы, с которыми мне приходилось работать в свое время - шумные, неугомонные, выставляющие себя напоказ, но очень дружелюбные. Дискуссии проходили живо и весело!&lt;br /&gt;&lt;br /&gt;Правда, связкам тяжело :)&lt;br /&gt;50 человек - это вам не шутки!&lt;br /&gt;&lt;br /&gt;Но и это еще не все!&lt;br /&gt;Сегодня я говорила с деканом одного из факультетов другого не менее рейтингового ВУЗа нашей страны - Белгосуниверситет Информатики и Радиоэлектроники.&lt;br /&gt;Приняли решенеие о сотрудничестве!&lt;br /&gt;Со следующего семестра начинаю читать курс по тестированию - студентам!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Всегда ваша,&lt;br /&gt;Наташа Густыр&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-6846945592521757566?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/6846945592521757566/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=6846945592521757566' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/6846945592521757566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/6846945592521757566'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/11/blog-post.html' title='Тестирование - студентам!'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-6759666982065783168</id><published>2008-11-19T13:39:00.006+02:00</published><updated>2008-11-19T14:16:45.826+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='фотографии'/><category scheme='http://www.blogger.com/atom/ns#' term='конференции'/><title type='text'>SQA Days 2008 - первый фотоотчет!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N18ZDLq5XX0/SSP8A0uKwsI/AAAAAAAAAAM/mLrDztW1mJE/s1600-h/%D0%BA%D0%BE%D0%BD%D1%84%D0%B0.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_N18ZDLq5XX0/SSP8A0uKwsI/AAAAAAAAAAM/mLrDztW1mJE/s200/%D0%BA%D0%BE%D0%BD%D1%84%D0%B0.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5270333080036098754" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Наконец появились первые фотографии конференции!&lt;br /&gt;Смотреть &lt;a href="http://picasaweb.google.ru/artem123123/SQADays4#"&gt; здесь &lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Всегда ваша,&lt;br /&gt;Наташа Густыр&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-6759666982065783168?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/6759666982065783168/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=6759666982065783168' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/6759666982065783168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/6759666982065783168'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/11/sqa-days-2008_19.html' title='SQA Days 2008 - первый фотоотчет!'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_N18ZDLq5XX0/SSP8A0uKwsI/AAAAAAAAAAM/mLrDztW1mJE/s72-c/%D0%BA%D0%BE%D0%BD%D1%84%D0%B0.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-5436924397037072731</id><published>2008-11-18T13:34:00.006+02:00</published><updated>2008-11-26T11:40:38.528+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='конференции'/><category scheme='http://www.blogger.com/atom/ns#' term='отзывы'/><title type='text'>По следам SQA Days 2008</title><content type='html'>Вчера, 17 ноября, в Минске состоялось грандиозное для наших мест событие - &lt;span style="font-weight:bold;"&gt;4-я Международная Конференция по тестированию и обеспечению качетсва ПО&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Наконец-то свершилось!&lt;/span&gt; - скажу я вам.&lt;br /&gt;&lt;br /&gt;Несколько месяцев активной подготовки не прошли зря.&lt;br /&gt;Признаться, было немного страшно, как воспримется подобного рода мероприятие нашей минской аудиторией. И каково было наше удивление, когда 350+ пытливых, горящих глаз просто "проглатывали" докладчиков целиком.&lt;br /&gt;&lt;br /&gt;Из отзывов наших московских друзей:&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"Для меня было непривычно, что все сидят и слушают докладчиков! Я во время доклада вышел в коридор, а там - пусто! Мы привыкли активно общаться у флип-чартов, по интересам"&lt;/span&gt; - удивленно говорит Алексей Баранцев, главный редактор  www.software-testing.ru&lt;br /&gt;&lt;br /&gt;И причин тому может быть несколько:&lt;br /&gt;- Мы долго зрели к такого рода, масштаба и качества конференции. Теперь мы готовы, и восприняли это со всей серьезностью. Мы просто еще не совсем понимаем, что можно делать на конференции помимо докладов, боимся, наверное, обидеть докладчиков, не уделив их выступлениям должного внимания, и поэтому общаемся только в перерывах.&lt;br /&gt;- С другой стороны, такое внимание к докладам может быть вызвано их актуальностью и интересностью. Что, скажу я вам, крайне приятно.&lt;br /&gt;&lt;br /&gt;А доклады, заслуживающие внимания, были. Я думаю, вы сами сможете оценить их, когда мы выложим видеоматериалы конференции в открытый доступ - обязательно буду держать вас в курсе событий.&lt;br /&gt;&lt;br /&gt;Неожиданно приятным было и то, как участники конференции отнеслись к флип-чарт сессиям во время перерывов. Из отзывов стало понятно, что этот достаточной живой вид общения очень нравится людям, и также приносит пользу. &lt;br /&gt;Слушатели требуют еще больше живого общения: круглых столов, мастер-классов, флипов. Над этим будем работать!&lt;br /&gt;&lt;br /&gt;Хочется сказать огромное спасибо всем коллегам из ближнего и дальнего зарубежья, которые нашли возможность приехать, и не просто приехать, а еще и выступить с докладами. Среди них:&lt;br /&gt;- Юля Нечаева, NIX Solutions, Харьков, Украина&lt;br /&gt;- Андрей Кощеев, HP, Прага, Чехия&lt;br /&gt;- Александр Орлов, Happy-PM.com, Санкт-Петербург, Россия&lt;br /&gt;- Алексей Баранцев, ИСП РАН, Москва, Россия&lt;br /&gt;- Александр Ихелис, Епам, Будапешт, Венгрия&lt;br /&gt;- Сергей Гринкевич, Росгосстрах, Москва, Россия&lt;br /&gt;- Павел Коноплицкий, UsabilityLab, Москва, Россия&lt;br /&gt;- Дмитрий Ручко, ИнфоТеКС, Москва, Россия&lt;br /&gt;- Дмитро Подзываловский, BOSSdev, Симферополь, Украина&lt;br /&gt;&lt;br /&gt;По итогам конференции планируется напечатать сборник докладов и сделать также их online публикацию.&lt;br /&gt;А со своими докладами мы можем вас познакомить уже сейчас.&lt;br /&gt;&lt;br /&gt;Продолжение следует...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Всегда ваша,&lt;br /&gt;Наташа Густыр&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-5436924397037072731?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/5436924397037072731/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=5436924397037072731' title='Комментарии: 13'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/5436924397037072731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/5436924397037072731'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/11/sqa-days-2008.html' title='По следам SQA Days 2008'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-4076974774077091942</id><published>2008-11-10T18:46:00.004+02:00</published><updated>2008-11-12T15:51:41.889+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='обучение'/><category scheme='http://www.blogger.com/atom/ns#' term='отзывы'/><title type='text'>Курс "Введение в тестирование ПО" - еще раз +1</title><content type='html'>В очередной раз (5-7 ноября) я прочитала свой курс "Введение в тестирование ПО" в обучающем центре Интерфейс (г. Москва).&lt;br /&gt;Очень хорошая, внимательная, трудолюбивая и ответственная группа. &lt;br /&gt;Сочетали приятное с полезным: обсуждали серьезные вопросы и шутили.&lt;br /&gt;Работать было одно удовольствие.&lt;br /&gt;&lt;br /&gt;Вперед! К новым знаниям! &lt;br /&gt;Еще и еще!&lt;br /&gt;&lt;br /&gt;P.S. Следующий курс планируется на 17-19 декабря.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Всегда ваша,&lt;br /&gt;Наташа Густыр&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-4076974774077091942?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/4076974774077091942/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=4076974774077091942' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/4076974774077091942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/4076974774077091942'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/11/1.html' title='Курс &quot;Введение в тестирование ПО&quot; - еще раз +1'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-32401452856726735</id><published>2008-11-10T18:30:00.005+02:00</published><updated>2008-11-10T18:56:21.081+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lessons Learned in Software Testing'/><title type='text'>Урок 68: Не игнорируйте очевидные дефекты</title><content type='html'>&lt;span style="font-style:italic;"&gt;Lessons Learned in Software Testing&lt;br /&gt;Авторы: Cem Kaner, James Bach и Bret Pettichord&lt;br /&gt;Перевод: Ольга Балашенко&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Некоторые лежащие на поверхности дефекты регистрируются только после их обнаружения бета-тестировщиками, т.к. все думают, что такой очевидный дефект уже явно зарегистрирован. Если Вам кажется, что ошибка уже зарегистрирована, проверьте в системе управления дефектами, как описан дефект, и каков его статус. Может, имеет смысл добавить ваши комментарии, чтобы ускорить исправление дефекта. Или нужно создать новый дефект, если старый был плохо описан и поэтому отклонён. &lt;br /&gt;&lt;br /&gt;Такое случается даже с серьёзными дефектами. Все знают о существовании ошибки, и все думают, что кто-то другой её уже зарегистрировал. Однажды явный баг так и не был исправлен, пока Систему не отдали в эксплуатацию!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-32401452856726735?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/32401452856726735/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=32401452856726735' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/32401452856726735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/32401452856726735'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/11/68.html' title='Урок 68: Не игнорируйте очевидные дефекты'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-7893180598339073157</id><published>2008-10-30T14:25:00.007+02:00</published><updated>2008-10-30T16:10:31.882+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='конференции'/><title type='text'>Участие в конференции SQA Days 2008 в качестве докладчиков</title><content type='html'>&lt;span style="font-style:italic;"&gt;Наталья Густыр&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;В &lt;A HREF="http://henry.vtsnet.ru/testing/21.pdf"&gt;статье&lt;/A&gt; Ханса Шафера "Что должен знать тестировщик в любое время, даже ночью" в переводе Андрея Конушина есть раздел 4 "Постоянное изучение", который заканчивается словами "... и посещайте конференции по тестированию".&lt;br /&gt;Мы тоже придерживаемся этого правила, поэтому с удовольствием посетим конференцию по тестированию и обеспечению качества ПО SQA Days 2008 в Минске.&lt;br /&gt;&lt;br /&gt;Более того, мы будем выполнять на конференции не только роли слушателей, но и активных участников:&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight:bold;"&gt;Наташа Густыр&lt;/span&gt; является одним из организаторов конференции и будет выступать с докладом "Вырасти себе тестировщика".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Мировой финансовый кризис оказывает значительное влияние на работу IT-компаний: сокращается количество потенциальных проектов и, соответственно, повышается конкуренция. В таких условиях компании вынуждены обратить особое внимание на обеспечение конкурентного преимущества, чтобы выжить и остаться на плаву. Приходится снижать ставки, и на первое место выходит продуктивность и эффективность работы каждого сотрудника. Решение проблемы заключается, с одной стороны, в оптимизации процессов работы компании и, с другой стороны, в развитии персонала.&lt;br /&gt;Для того, чтобы процессы повышения продуктивности работы, обучения и развития были эффективными, они должны быть измеримыми. Для этого необходимо иметь точку отсчета.&lt;br /&gt;За точку отсчета разумно принять оценку текущего состояния организации в целом и каждого сотрудника в частности.&lt;br /&gt;В докладе рассматривается только одна сторона вопроса – тема оценки, аттестации, обучения и развития тестировщиков силами компании или силами внешних экспертов.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight:bold;"&gt;Сергей Талалаев&lt;/span&gt; выступит с докладом "Использование MS Excel в качестве унифицированного хранилища данных для автоматизированных тестов".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Доклад затрагивает проблему выбора унифицированного хранилища тестовых данных для проведения автоматизированных функциональных и нагрузочных тестов.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight:bold;"&gt;Оля Балашенко&lt;/span&gt; выступит с докладом "Причины "пожара" на проектах".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;«Горящий» проект – не редкость в IT сфере.  Отставание от плана может возникать на разных стадиях: от инициализации проекта до тестирования. &lt;br /&gt;Данный доклад – попытка ответить на вопрос «Почему тестировщики не укладываются в  сроки?». Причем, оценка причин осуществляется как с позиции руководителя группы тестировщиков, который принимает участие в планировании тестирования, так и с позиции тестировщика, выполняющего задачи.&lt;br /&gt;Акцент в докладе делается на разбор причин увеличения сроков, но также затрагивается тема предотвращения «пожаров».&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Мы подумали и решили, что будем делиться своими практическими наработками, и хотим вызвать оживленную беседу в аудитории, поэтому в качестве формата выступления выбрали флип-чарты.&lt;br /&gt;Приходите к нам!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-7893180598339073157?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/7893180598339073157/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=7893180598339073157' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/7893180598339073157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/7893180598339073157'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/10/sqa-days-2008_30.html' title='Участие в конференции SQA Days 2008 в качестве докладчиков'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-8808107670598795923</id><published>2008-10-27T22:41:00.003+02:00</published><updated>2008-10-27T22:49:41.931+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lessons Learned in Software Testing'/><title type='text'>Урок 237: Найм по согласованию</title><content type='html'>&lt;span style="font-style:italic;"&gt;Lessons Learned in Software Testing&lt;br /&gt;Авторы: Cem Kaner, James Bach и Bret Pettichord&lt;br /&gt;Перевод: Сергей Талалаев&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Позвольте любому члену вашей команды и любому кто тесно работает с вашей командой участвовать в интервью с кандидатом. Дайте любому кто принимал участие в интервью возможность накладывать вето на кандидата, если это не связано с такими основаниями как пол, раса, возраст и любыми другими, не относящимися напрямую к способности кандидата выполнять его работу.&lt;br /&gt;&lt;br /&gt;Несложно избежать принятия инстинктивных решений и отговорить кого-либо от применения права вето. Однако мы сделали несколько грубых ошибок при найме сотрудников, включая найм человека склонного к сексуальному домогательству, проигнорировав плохо аргументированную но очень эмоциональную реакцию одного из членов нашей команды. С вниманием выслушивайте опасения, выраженные любым из членов вашей команды и уважайте право вето, если только оно не базируется на дискриминационых принципах.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-8808107670598795923?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/8808107670598795923/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=8808107670598795923' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/8808107670598795923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/8808107670598795923'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/10/237.html' title='Урок 237: Найм по согласованию'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-6157660656253784152</id><published>2008-10-27T19:06:00.001+02:00</published><updated>2008-10-27T19:08:23.988+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lessons Learned in Software Testing'/><title type='text'>Урок 9: Вы не найдете все баги</title><content type='html'>&lt;span style="font-style:italic;"&gt;Lessons Learned in Software Testing&lt;br /&gt;Авторы: Cem Kaner, James Bach и Bret Pettichord&lt;br /&gt;Перевод: Наталья Густыр&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ваша задача – находить и описывать значимые баги. Но вы не найдете их все. Чтобы найти все баги, вы должны будете посмотреть везде, где только они могут появиться; вы должны проверить в тех местах всевозможные ситуации, которые могут возникнуть; вам понадобится описать надежный и понятный путь воспроизведения каждого вида бага, когда он возникнет. Если вы думаете, что можете это сделать, то у вас либо очень простой продукт либо очень ограниченное воображение.&lt;br /&gt;&lt;br /&gt;Вы должны делать выбор в отношении того, как тратить свое время, зная и принимая то обстоятельство, что Вы не можете сделать абсолютно все.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-6157660656253784152?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/6157660656253784152/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=6157660656253784152' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/6157660656253784152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/6157660656253784152'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/10/9.html' title='Урок 9: Вы не найдете все баги'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-5620611501541100091</id><published>2008-10-24T18:52:00.001+03:00</published><updated>2008-10-24T18:54:24.005+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lessons Learned in Software Testing'/><title type='text'>Урок 19: Тестирование находится в вашей голове</title><content type='html'>&lt;span style="font-style:italic;"&gt;Lessons Learned in Software Testing&lt;br /&gt;Авторы: Cem Kaner, James Bach и Bret Pettichord&lt;br /&gt;Перевод: Наталья Густыр&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Разница между превосходным и посредственным тестированием заключается в том, как вы думаете: ваши варианты дизайна тестов, ваша способность интерпретировать то, что вы наблюдаете, и ваша способность поведать об этом. Все остальное тестирование – это просто офисная работа в большей части. Если вы видите двух тестировщиков, работающих рядом, вы не можете определить, работает ли один лучше, чем другой. Видимая часть их работы выглядит совершенно одинаково, что наталкивает на две мысли:&lt;br /&gt;- Многие люди думают, что тестирование – это просто, потому что они без труда могут копировать видимую часть поведения хорошего тестировщика, и у них нет других стандартов для хорошего тестирования.&lt;br /&gt;- Если вы хотите быть хорошим тестировщиком, научитесь думать, как он, а не выглядеть, как он.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-5620611501541100091?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/5620611501541100091/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=5620611501541100091' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/5620611501541100091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/5620611501541100091'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/10/19.html' title='Урок 19: Тестирование находится в вашей голове'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-7199112179898287375</id><published>2008-10-24T17:33:00.001+03:00</published><updated>2008-10-24T17:36:01.320+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lessons Learned in Software Testing'/><title type='text'>Урок 67: Регистрируйте дефекты сразу же после обнаружения</title><content type='html'>&lt;span style="font-style:italic;"&gt;Lessons Learned in Software Testing&lt;br /&gt;Авторы: Cem Kaner, James Bach и Bret Pettichord&lt;br /&gt;Перевод: Ольга Балашенко&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Не откладывайте регистрацию дефекта на завтра. Во-первых, Вы можете забыть ключевые детали дефекта, что усложнит процесс воспроизведения дефекта разработчиками. Чем дольше вы ждёте, тем менее вероятно исправление дефекта.&lt;br /&gt;Во-вторых, если менеджер знает, какую часть функциональности Вы тестируете, то отсутствие дефектов может навести его на мысль, что данная функциональность работает стабильно.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-7199112179898287375?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/7199112179898287375/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=7199112179898287375' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/7199112179898287375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/7199112179898287375'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/10/67.html' title='Урок 67: Регистрируйте дефекты сразу же после обнаружения'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-1956054954757990643</id><published>2008-10-24T13:11:00.014+03:00</published><updated>2008-10-24T17:36:41.684+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lessons Learned in Software Testing'/><title type='text'>Урок 66: Никогда не используйте систему регистрации дефектов для оценки эффективности работы тестировщиков</title><content type='html'>&lt;span style="font-style:italic;"&gt;Lessons Learned in Software Testing&lt;br /&gt;Авторы: Cem Kaner, James Bach и Bret Pettichord&lt;br /&gt;Перевод: Ольга Балашенко&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Если Вы (тест-менеджер) поощряете тестировщиков за количество найденных дефектов, то Вы можете добиться нежелательного эффекта:&lt;br /&gt;- чтобы увеличить количество найденных дефектов, тестировщики, будут искать поверхностные, легко находимые дефекты и избегать сложно воспроизводимых дефектов;&lt;br /&gt;- тестировщики будут чаще регистрировать несколько вариации одного и того же дефекта;&lt;br /&gt;- увеличится количество «не дефектов», т.е. дефектов, которые на самом деле не являются ошибками;&lt;br /&gt;- тестировщики будут тратить большую часть своего времени на поиск дефектов, что повлечёт за собой игнорирование других задач и обязанностей.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-1956054954757990643?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/1956054954757990643/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=1956054954757990643' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1956054954757990643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/1956054954757990643'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/10/lessons-learned-in-software-testing-66.html' title='Урок 66: Никогда не используйте систему регистрации дефектов для оценки эффективности работы тестировщиков'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-3427307494486293256</id><published>2008-10-21T23:18:00.005+03:00</published><updated>2008-11-23T22:14:34.392+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lessons Learned in Software Testing'/><title type='text'>Lessons Learned in Software Testing</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_N18ZDLq5XX0/SSm41w7pbHI/AAAAAAAAAAc/ZUW-dq12K8k/s1600-h/Lessons.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 150px; height: 186px;" src="http://4.bp.blogspot.com/_N18ZDLq5XX0/SSm41w7pbHI/AAAAAAAAAAc/ZUW-dq12K8k/s200/Lessons.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5271948072621534322" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;В недавнем прошлом нам повезло держать в руках книгу – мечту каждого тестировщика!&lt;br /&gt;Авторы Cem Kaner, James Bach и Bret Pettichord собрали воедино удивительный материал и нарекли его «уроками» - Lessons Learned in Software Testing.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;“&lt;span style="font-style: italic;"&gt;We follow the context-driven approach in software testing. We expect that a method that works wonderfully under some circumstances will not work under others&lt;/span&gt;” – в этих  словах выражена основная идея книги.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;« Lessons…» – не догма и даже не лучшие практики. Это – реальный опыт реальных людей.  Многие из уроков до сих пор вызывают споры между самими авторами, и они были бы счастливы, если бы книга побуждала также и читателей к обсуждениям и дебатам.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;Книга предназначена для тестировщиков с опытом, и крайне не рекомендуется новичкам. Последним она может показаться тяжелой и утомительной.&lt;br /&gt;&lt;br /&gt;Книга состоит из 293 уроков, объединенных в 11 частей.&lt;br /&gt;Некоторые уроки на русском (в собственном переводе) мы представим и вашему драгоценному вниманию!&lt;br /&gt;&lt;br /&gt;Как пишут сами авторы, книгу запрещается (!) читать от начала и до конца. Ее нужно читать с любого места, по 1-2 урока за раз. И только после того, как вы осмыслите прочитанное, можно приступать к дальнейшему чтению. Мы, беспрекословно следуя советам авторов, не будем торопиться и соблюдать порядок уроков…&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Наталья Густыр&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-3427307494486293256?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/3427307494486293256/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=3427307494486293256' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3427307494486293256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/3427307494486293256'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/10/lessons-learned-in-software-testing.html' title='Lessons Learned in Software Testing'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_N18ZDLq5XX0/SSm41w7pbHI/AAAAAAAAAAc/ZUW-dq12K8k/s72-c/Lessons.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-7798025903884370449</id><published>2008-10-20T19:59:00.003+03:00</published><updated>2008-10-30T14:18:23.180+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sqa'/><category scheme='http://www.blogger.com/atom/ns#' term='конференции'/><title type='text'>Впервые в Минске пройдет Международная конференция специалистов в области обеспечения качества ПО SQA Days-2008</title><content type='html'>&lt;div&gt;&lt;img alt="" src="http://img.tut.by/n/sqalogo.gif" align="left" border="0" /&gt;4-я  Международная конференция специалистов в области обеспечения качества ПО SQA  Days-2008 впервые пройдёт в столице Республики Беларусь, Минске, 17 ноября  2008 г. в Международном образовательном центре - IBB (пр-т Газеты Правда, 11)  при поддержке Парка высоких технологий и Инфопарка. &lt;/div&gt; &lt;div&gt; &lt;/div&gt;  &lt;div&gt;Организатором мероприятия выступает компания SQALab (г. Москва), в качестве  генерального партнера - компания EPAM Systems, в качестве золотого партнера -  Exigen Services, в качестве со-организатора - Белорусский Государственный  Университет Информатики и Радиоэлектроники (БГУИР). Информационную поддержку  оказывают компании Qulix Systems, HeadHunter, edu)ITOnline, Текама, крупнейшие  интернет-порталы рунета и байнета, а также тематические ИТ-СМИ Беларуси.&lt;/div&gt; &lt;div&gt; &lt;/div&gt;  &lt;div&gt;Конференция посвящена вопросам функционального тестирования, тестирования  производительности, автоматизации тестирования, выбора и использования  инструментальных средств, конфигурационного тестирования, тестирования удобства  использования (usability) и защищенности, статических методов обеспечения  качества, а также особенностям внедрения тестирования на предприятии, управления  процессами обеспечения качества ПО, вопросам менеджмента команд тестировщиков  и инженеров качества ПО и другим сферам интересов QA-специалистов.&lt;/div&gt; &lt;div&gt; &lt;/div&gt;  &lt;div&gt;Идея собрать вместе заинтересованных специалистов и обменяться опытом  в сфере тестирования ПО созрела в 2007 году на площадке московской компании  "Кворум". После обсуждений был выбран наилучший формат такого общения - открытая  встреча, в которой могли принять участие все желающие. Так возник круг  конференций под общим названием "Software Quality Assurance Days" (SQA  Days).&lt;/div&gt; &lt;div&gt; &lt;/div&gt;  &lt;div&gt;На данный момент SQA Days - это одно из крупнейших событий в сфере  современных информационных технологий в области обеспечения качества  ПО на постсоветском пространстве, которое объединяет ведущих специалистов  международного уровня. В 2008 году SQA Days впервые будет проводиться  на территории Республики Беларусь (три предыдущие конференции проводились  в Москве).&lt;/div&gt; &lt;div&gt; &lt;/div&gt;  &lt;div&gt;На SQA Days-2008 в Минске планируется обобщить накопленный международный  опыт в области обеспечения качества и создать платформу сотрудничества для  реализации совместных проектов в сферах тестирования, предполагающей возможность  для каждого специалиста обмена информацией и повышения уровня образования  по актуальным вопросам.&lt;/div&gt; &lt;div&gt; &lt;/div&gt;  &lt;div&gt;Конференция пройдет под эгидой &lt;b&gt;IT-CONF.RU&lt;/b&gt; - ресурса, объединяющего  высококачественные конференции для ИТ-специалистов на территории СНГ, а также  стран ближнего и дальнего зарубежья. Формат мероприятия - один день. По итогам  конференции будет издан сборник докладов. На официальном сайте конференции будут  размещены тезисы докладов и видеоролики с записями выступлений.&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;4-я Международная конференция специалистов в области обеспечения качества  SQA Days-2008 будет интересна специалистам по тестированию и обеспечению  качества программных систем, разработчикам, аналитикам, техническим писателям,  архитекторам систем, руководителям среднего и высшего звена, а также всем  заинтересованным лицам.&lt;/div&gt; &lt;div&gt; &lt;/div&gt;  &lt;div&gt;&lt;i&gt;"Современный рынок белорусских информационных технологий привлекает  внимание всего европейского сообщества не только благодаря наличию сильных  традиций белорусской ИТ-школы. В последнее время точкой притяжения становятся  широкие возможности белорусских айтишников для реализации крупных  высокотехнологичных проектов мирового масштаба. Этот потенциал нужно активно  использовать, поэтому для 4-ой Международной конференции SQA Days-2008 Минск был  выбран не случайно. Идея организовать конференцию такого уровня в Беларуси  созрела у меня давно. Кроме того, мне всегда импонировала теплая и одновременно  деловая атмосфера белорусского ИТ-сообщества, высокий уровень профессионализма  белорусских специалистов и их свежий взгляд на актуальные вопросы тестирования  и обеспечения качества ПО", - &lt;/i&gt;прокомментировал выбор места проведения  конференции Владислав Орликов, председатель оргкомитета SQA Days-2008,  генеральный директор компании SQALab, Москва, Россия&lt;i&gt;.&lt;/i&gt;&lt;/div&gt;    &lt;div&gt; &lt;/div&gt; &lt;div&gt;Получить полную информацию о программе SQA Days-2008 и подать заявку  на участие для слушателей, докладчиков и потенциальных партнеров можно  на официальном сайте конференции &lt;b&gt;&lt;a href="http://www.it-conf.ru/" target="_blank"&gt;&lt;b&gt;http://www.it-conf.ru/&lt;/b&gt;&lt;/a&gt;&lt;/b&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;Последний срок подачи заявки на участие в форме доклада - 24  октября 2008 г.&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;b&gt;Последний срок подачи тезисов докладов - 26 октября 2008 г.&lt;/b&gt;&lt;/div&gt; &lt;div&gt;&lt;b&gt;Последний срок подачи слайдов презентаций и текстов докладов - 02 ноября  2008 г.&lt;/b&gt;&lt;/div&gt; &lt;div&gt;&lt;b&gt;Последний срок оплаты участия (не докладчики) - 10 ноября  2008 г.&lt;/b&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/div&gt; &lt;div&gt;* По решению оргкомитета сроки могут быть сдвинуты ближе к дате проведения  конференции&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-7798025903884370449?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/7798025903884370449/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=7798025903884370449' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/7798025903884370449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/7798025903884370449'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/10/sqa-days-2008.html' title='Впервые в Минске пройдет Международная конференция специалистов в области обеспечения качества ПО SQA Days-2008'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8226300894599246881.post-4796156158391584585</id><published>2008-10-20T18:50:00.013+03:00</published><updated>2009-01-13T16:50:50.954+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sqa'/><title type='text'>Вас приветствует команда SQAdotBy</title><content type='html'>&lt;span style=";font-family:verdana;font-size:100%;"  &gt;Добрый день, дорогие друзья, уважаемые коллеги!&lt;br /&gt;&lt;br /&gt;Команда SQAdotBy в составе 4-х человек рада приветствовать вас на нашей профессиональной площадке!&lt;br /&gt;&lt;br /&gt;Мы, &lt;span style="font-weight: bold;"&gt;Наталья Густыр&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;Сергей Талалев&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;Ольга Балашенко&lt;/span&gt; и &lt;span style="font-weight: bold;"&gt;Виктория Головнева&lt;/span&gt;, будем рады поделиться с вами своими мыслями и идеями, касающимися нашей сферы деятельности - тестирования и обеспечения качества программных продуктов!&lt;br /&gt;&lt;br /&gt;Несколько слов о нас:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Наталья Густыр&lt;/span&gt;&lt;br /&gt;Ведущий QA специалист, менеджер проектов, руководитель направления обучения, преподаватель-консультант компании Qulix Systems, Минск.&lt;br /&gt;Преподаватель учебного центра «Интерфейс», Москва.&lt;br /&gt;Опыт в области тестирования и QA – 5 лет, в области преподавания – 3 года.&lt;br /&gt;Автор курса "Введение в тестирование ПО" и семинаров "Взаимодействие команд разработки и тестирования", "Карьера тестировщика" и "Откровения тестировщика".&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;Читает курсы в Беларуси (Минск), России (Москва, Санкт-Петербург, Екатеринбург), Казахстане (Астана, Алматы).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Сергей Талалаев&lt;/span&gt;&lt;br /&gt;Куратор направления автоматизации тестирования, преподаватель-консультант.&lt;br /&gt;Преподаватель учебного центра «Интерфейс», Москва.&lt;br /&gt;Области специализации: IBM/Rational: Robot, FT, Test Manager; HP/Mercury: WinRunner, LoadRunner, QTP; FreeWare: Grinder, Watir.&lt;br /&gt;Опыт работы в сфере автоматизации – 7 лет. Опыт преподавания – 5 лет.&lt;br /&gt;Автор курса «Введение в автоматизированное нагрузочное тестирование программного обеспечения». Соавтор курса «Основы функционального тестирования с использованием инструментов IBM Rationa. &lt;br /&gt;Читает курсы в Беларуси (Минск), России (Москва, Санкт-Петербург), Казахстане (Астана).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ольга Балашенко&lt;/span&gt;&lt;br /&gt;Ведущий специалист по мануальному и автоматизированному тестированию компании QulixSystems, Минск.&lt;br /&gt;Преподаватель учебного центра «Интерфейс», Москва.&lt;br /&gt;Опыт в области тестирования – 4 года.&lt;br /&gt;Опыт автоматизации тестирования для проектов различного уровня сложности с использованием следующих средств автоматизации: HP/Mercury WinRunner, HP/Mercury QTP, Segue Silk Test, IBM/Rational Robot.&lt;br /&gt;Соавтор курса «Введение в автоматизированное функциональное тестирование программного обеспечения».&lt;br /&gt;Читает курс в Беларуси (Минск) и России (Москва).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Виктория Головнева&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8226300894599246881-4796156158391584585?l=sqadotby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqadotby.blogspot.com/feeds/4796156158391584585/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8226300894599246881&amp;postID=4796156158391584585' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/4796156158391584585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8226300894599246881/posts/default/4796156158391584585'/><link rel='alternate' type='text/html' href='http://sqadotby.blogspot.com/2008/10/sqadotby.html' title='Вас приветствует команда SQAdotBy'/><author><name>Команда sqadotby</name><uri>http://www.blogger.com/profile/10348375883727790534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
