27 апреля 2012

Суровая правда автоматизации тестирования

Вот тут коллега w_bf переводит книжку Lessons Learned in Software Testing и попутно делится умными мыслями.

Процитирую:

Неформальные исследования показали, что процент багов, найденных автоматизированными тестами удивительно низок. Проекты с серьезной, хорошо спроектированной автоматизацией говорят, что регрессионные тесты находят около 15% багов от общего количества (Marick, online). 
Автоматизированные регрессионные тесты, как правило, находят больше ошибок во время разработки тестов, чем во время их дальнейшего выполнения.

Со своей стороны не могу не прокомментировать - это именно так в большинстве случаев.
Причин на то несколько:

  1. автотесты требуют большей точности к деталям и часто определение нормального поведения системы сильно меняется в процессе тест-дизайна под автоматизацию
  2. то что человек будет считать нормальным робот зарубит - это для вас нет разницы за сколько миллисекунд отзывается сервер.
  3. если ваши разработчики не являются бригадой упырей и вурдалаков, то первый же сигнал от автотестов получит нормальную реакцию с их стороны и скорее всего эта лампочка никогда больше не станет красной (либо станет окончательно зеленой спустя некоторое время) - отчасти отсюда и вытекает то, что автотесты находят мало.
  4. автотесты становятся outdated - они отстают от того что из себя представляет система, и в том числе поэтому не могут отловить баги на этом промежутке времени - между тем моментом когда они были актуальны и тем моментом когда они станут актуальны. Угадайте когда этот интервал времени? Правильно, на релизе.
Не стоит понимать эти вещи превратно - 15% дефектов это тоже очень хорошо.



23 апреля 2012

Link: Java 8 Milestones via InfoQ

Опубликован график выпуска milestone-ов Java 8.
Лично мне интересно как раз тем, что 7 релиз добавлял только синтаксический сахар, а вот в 8-ом обещали сделать много чего вкусного.
Что ж буду ждать, надеюсь не устроят такой же факап как с первым релизом семерки.

16 апреля 2012

09 апреля 2012

Link: ThoughtWorks Technology Radar March 2012

Давно и безрезультатно хотелось найти единой место где можно было бы читать о последних трендах в технологиях и инструментах разработки, платформах и методологиях.

Набрел на ThoughtWorks Technology Radar - ThoughtWorks контора известная , Мартин Фаулер и Нил Форд - если эти фамилии вам о чем-то говорят.
Панацеей их дайджест хоть и не стал, однако все равно приятно видеть хотя бы какой-то шаг в нужную сторону.

Читайте 

Link:Java Concurrency Animated

http://sourceforge.net/projects/javaconcurrenta/

Очень сильно может помочь при усвоении concurrency
Ну и для тех кому лень качать и смотреть у себя есть видео
https://vimeo.com/28794527

04 апреля 2012

Книга - Как делать Web API которое понравится

Бесплатная книжка под промоушеном InfoQ
http://www.infoq.com/news/2012/03/web-api-design-book

Eclipse Community Award 2012

Я до определенного момента в своей жизни относился к Eclipse Community с большим опасением - все-таки изначальный импульс заданный IBM мог пропасть, однако движение продолжает жить, создавать разумное и доброе - поэтому кратенько освещу номинантов этого года.

Собственно все герои этого года - по ссылке.


  • Orion - нечто не до конца понятое мною для HTML верстки 
  • XTend - решение для построения собственных DSL, уже не первый раз попадется мне на глаза, очень много положительных отзывов.
  • Chronon Time Traveler Debugger - отличная штука, по степени полезности аналогична JRebel 
  • BndTools - расширение для работы с OSGi, в свете муторности OSGi - огромное спасибо тем кто вообще под него что-то делает.
  • DS-5  - разработка приложений под Android, кучка инструментов.
  • MaintainJ - средство для reverse engineering на Java.Наверное появление таких инструментов говорит о зрелости Java как платформы разработки приложений.
  • UMLet - tool для рисования UML-ей. ИМХО VisualParadigm  вряд ли кому-то переплюнуть, но тут бесплатно.
  • Justinmind - прототипирование приложений для web и mobile. Видимо выстрелит ввиду роста отрасли разработки mobile apps.
  • Bonitasoft Open Solutions - BPM для "кровавого ЫнтЫрпрайза". Я видел много всяких решений на эту тему, но я пока не видел ни одного эффективного применения данной концепции на практике. Если кто-то видел - отзовитесь, буду рад пообщаться.
  • CCTVnet - нечто для построения единой инфраструктуры систем безопасности и видеонаблюдения. Лютая вещь.

Я не упомянул про главного  - ECF, но это тема отдельной баллады, которую петь не мне.

03 апреля 2012

Link: Jez Humble про принципы Continuous Delivery

Принциы:

  1. Релизы с низкими рисками - инкрементальные
  2. Разделять понятие развертывания и релиза
  3. Сфокусироваться на сокращении размера вносимых изменений
  4. Оптимизировать ради устойчивости системы 
За детелями по каждому пункту - к первоисточнику.