Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд — Лайза Криспин, Джанет Грегори

Ни одна задача по программированию не может считаться законченной, пока она не прошла все необходимые ступени проверки на логические ошибки, тем более — задача, решаемая в ключе «гибкой разработки». Практическое пособие ведущего менеджера проекта поможет вам овладеть теорией и практикой тестирования, научит верно выбирать тестировщиков ПО и составлять жизнеспособный коллектив разработчиков.

Введенное не так давно в обиход «гибкое проектирование» было создано как альтернатива классическому «водопадному» методу разработки программных продуктов, когда коллективу разработчиков ставилась глобальная задача, решение которой занимало очень долгий срок, а согласование результатов с заказчиком происходило лишь по завершению работы. Чтобы избежать возникающего непонимания между коллективом разработчиков и заказчиком, было создано целое множество так называемых «гибких методик проектирования». При гибком проектировании глобальная задача разбивается на малые части, исполнение каждой из которых не требует больших затрат времени и сил, согласование результатов с заказчиком производится на каждой «ключевой точке», что позволяет, при условии порядочного и грамотного заказчика, выполнить работу намного быстрее и с намного меньшим числом «откатов назад».

 

«Гибкое проектирование» невозможно без «гибкого тестирования» на каждом шаге разработки, и не каждый программист или «системный администратор» может выполнять роль тестировщика. Также, далеко не каждый коллектив, пусть даже каждый его член по отдельности является профессионалом экстра-класса, может справиться с каждой поставленной задачей. И именно затем, чтобы помочь менеджеру проекта правильно подобрать коллектив разработчиков, грамотно составить план тестирования проекта, без потери времени и сил на пустую бюрократию определить критерии качества работы программного продукта, книга «Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд» Лайзы Криспин и Джанет Грегори рассказывает о всех возможных «подводных камнях», что встречаются на пути «гибкой разработки» программных продуктов.

 

Читатель узнает, какова роль тестировщика в коллективе разработчиков, как менеджеры контроля качества оценивают работу коллектива, как определить тот момент, в который проекту действительно понадобился «гибкий тестировщик», как изменить стратегию разработки ПО с традиционной на «гибкую», и многое, многое другое, без чего современное гибкое проектирование просто невозможно. Книга будет полезна не только менеджерам и тестировщикам, но и разработчикам «гибких команд» и заказчикам, которым также будет очень полезно узнать, как же на самом деле разрабатываются программные продукты.

Освой самостоятельно PHP. 10 минут на урок — Крис Ньюман

Работа над интернет-проектом может быть изнуряюще долгой и сложной, требующей изучения тонкостей работы СУБД и потоков ввода-вывода сервера, а может быть выполнена в куда более короткий срок и с меньшими затратами сил, если воспользоваться таким инструментом, как PHP. В этом пособии для начинающих рассматриваются все основные принципы разработки PHP-проектов, что позволит начинающему разработчику в короткие сроки приступить к работе над web-задачами.

Созданный изначально как небольшая надстройка над HTML, скриптовый язык PHP очень быстро приобрёл немалую популярность среди web-разработчиков благодаря принципу «быстрой разработки». Всё то, что «классическое» программирование для Web делает серьёзно, обдуманно, с анализом всех деталей, но вместе с тем тяжеловесно в вопросе «человеко-часов», PHP-подход оставляет скрытым от программиста.

 

Вы не знаете, когда именно ваша программа соединится с сервером СУБД, не следите за выделением памяти и файловыми дескрипторами, не заботитесь о том, как прочитать заголовок HTTP запроса, как извлечь из него параметры GET или POST, а всё внимание отдаёте именно логике работы динамической web-страницы. Не стоит считать PHP «несерьёзным» языком — в нём есть все функции, необходимые для web-программирования. Самоучитель Криса Ньюмана «Освой самостоятельно PHP. 10 минут на урок» покажет вам азы языка — работу с числами и сроками, «регулярные выражения», без которых нельзя обойтись при анализе текста, функции работы с датой и временем, разработку «своих» пользовательских функций в соответствии с принципом процедурного программирования.

 

Если вы не новичок в разработке ПО, но ещё не знакомы с web-программированием, первые главы книги вы можете бегло пролистать, и перейти к более серьёзным вопросам — «обработке форм» (получению сервером данных, введённых пользователем на вашем сайте), работе с cookies (той скрытой информацией, которая хранится на компьютере пользователя, и помогает вашему сайту «запоминать» ранее введенные данные), организации авторизации и прочим вопросам. Для тех, кто владеет навыками программирования, но не знаком с «внутренностями» PHP, самоучитель предлагает уроки по настройке интерпретатора PHP, его отладке и обработке ошибок, возникающих при выполнении «сценария» страницы.

Objective-C. Программирование для iOS и MacOS — Аарон Хиллегасс

Для тех, кто желает работать с продуктами компании Apple, названия Xcode, iOS и Mac OS X — не пустой звук, а инструмент разработки и операционные системы. Новичок в программировании и профессионал, желающий изучить принципы разработки ПО на Objective-C, равно сочтут полезной книгу Аарона Хиллегасса «Objective-C. Программирование для iOS и MacOS».

Ещё совсем недавно политика Apple в вопросах программирования была мягко говоря закрытой, и найти инструменты для создания программ под MacOS было просто нереально. Сегодня, когда компьютерный рынок становится всё более мобильным, а доля в нём iPhone, iPad и прочих iOS-устройств растёт не в последнюю очередь благодаря огромному количеству бесплатных программ, совершенно логичным стало появление инструментов разработки на Objective-C — языке, специально разработанном для этих целей. Сегодня любой желающий приобщиться к миру Apple, может бесплатно скачать из Mac App Store программу Xcode, и начать программировать как для iOS, так и для Mac OS X, в чём ему поможет книга Аарона Хиллегасса «Objective-C. Программирование для iOS и MacOS».

 

В оригинале пособие носит название «Objective-C Programming: The Big Nerd Ranch Guide», и основано на учебном курсе, разработанном образовательным центром Big Nerd Ranch как вводный курс в программирование на Objective C. Структура этого пособия такова, что оно будет равно полезно как полным новичкам в вопросах программирования, так и профессионалам, желающим ознакомиться с ещё одной областью приложения своих навыков — программированием для мобильных устройств и компьютеров Apple. В качестве базы для обучения книга предлагает iOS 5 и Max OS X 10.7 Lion, известные своей устойчивостью, а для разработчки ПО выбрана версия Xcode 4.2.

Java. Полное руководство — Герберт Шилдт

Единственный по-настоящему профессиональный инструмент сетевого программиста, который удачно сочетает в себе мощь и надежность языка высокого уровня с чёткой и прозрачной логикой, понятной даже новичку, Java страдает одной бедой. Качественной Java-литературы в России практически нет, и едва ли не единственное приятное исключение из этого печального правила — «Полное руководство» Герберта Шилдта. Начиная с таких основ языка, как понятие классов, операторов, типов данных, Герберт Шилдт грамотно подводит читателя к основам объектно-ориентированного программирования, рассказывая о механизме наследования, о классах интерфейсов, объединении классов программы в «пакеты», ненавязчиво объясняет такой непростой с первого взгляда, но весьма полезный инструмент, как механизм исключений и их обработка.

 

Тем, кто освоил базовые знания, предлагаются уроки по базовым классам графического интерфейса AWT и SWING, классам ввода-вывода данных, рассказывается о многопоточном программировании. Программистам, уже работавшим с Java, более интересно будет узнать о сетевых возможностях этого языка, о разработке апплетов — Java-программ, выполняющихся в окне web-браузера. Тем, кто знаком и с этими понятиями, автор рассказывает о «сервлетах» — «обратной стороне апплета», то есть о программах, выполняющихся не на компьютере пользователя, а на стороне сервера. Для программистов, интересующихся разработкой корпоративного ПО, не лишней будет информация о стандарте JavaBeans, который позволяет объединение нескольких классов в один объект.

 

И, поскольку нынешняя редакция пособия относится уже к седьмой редакции Java, автор рассказывает о таких нововведениях, как «switch со строковыми значениями», «обработка try catch с ресурсами», о классах NIO, что расшифровывается как New Input-Output, и новом подходе к многопоточности, реализованном в классах Fork/Join. Помимо учебной и справочной информации, книга «Java. Полное руководство» содержит ещё и немалое количество проверенных ссылок на Internet-ресурсы, которые будут полезны любому Java-разработчику.

Программирование игр — Маниш Сети

Написать свою игру мечтает каждый начинающий программист, но не каждый знает, с чего начинать. Возможно, всем тем, кто так и не стал игроделом, не хватило в начале пути именно этой книги, рассказывающей как о самых азах разработки работы с графикой и звуком, так и о таких серьёзных вещах, как искусственный интеллект.

 

Специально для будущих великих игроделов, не знающих пока, с чего начать, и тех, кто считает разработку видеоигр чем-то несерьёзным и не заслуживающим внимания, Маниш Сети, автор многих компьютерных самоучителей , написал этот учебник. Подробно объясняя читателю каждый шаг создания игры, самоучитель показывает азы работы с графикой от статической картинки до анимированного образа, вписывающегося в общую картину, рассказывает о работе со звуком и музыкой, и идёт даже дальше, приводя к понятию искусственного интеллекта.

 

Все уроки, приведенные в пособии, поданы на примере языка программирования BlitzBasic, созданного специально для целей разработки игр. И конечно же, следуя доброй традиции качественных учебников по программированию, книга «Программирование игр» включает в придачу ко всему ещё и диск с текстами программ, использованных в книге, и различными мультимедийными ресурсами, которые будут полезны при создании игр.

Zend Framework. Разработка веб-приложений на PHP — Викрам Васвани

Принципы «быстрой разработки», ставшие актуальными в web-программировании с приходом XXI века, требуют от разработчика использования языков всё более высокого уровня, не позволяя отвлекаться на «изобретение велосипедов». Платформа Zend Framework, построенная на основе PHP, призвана решить именно эут задачу — используя простоту программирования на PHP, максимально автоматизировать процесс разработки.

Предназначенное для начинающих Web-разработчиков, переводное пособие Викрама Васвани знакомит читателя с использованием технологии «быстрой web-разработки» Zend Framework, свободной платформой, разрабатываемой компанией Zend. Основанная на системе шаблонов MVC и общедоступных API, эта платформа позволяет существенно сократить сроки разработки типовых web-проектов, а её дружелюбность в вопросах лицензирования делает Zend framework ещё более привлекательной для программиста.

 

Автор этого пособия Викрам Васвани одинаково хорошо владеет как технической стороной вопроса, так и навыками преподавания, и читатель без труда уяснит для себя базовые способы применения Zend Framework для разработки Web 2.0-задач, чему очень способствует наличие в книге «Zend Framework. Разработка веб-приложений на PHP» живых практических примеров.

Язык программирования C++. Лекции и упражнения — Стивен Прата

Основной бедой значительной части программистов, называющих себя специалистами по Си++, является то, что на самом деле они пишут на классическом Си с небольшими элементами объектного программирования. При таком подходе вся потенциальная мощь этого языка остаётся совершенно невостребованной. Стивен Прата, один из трёх авторов учебника «Язык Си», признанного лучшим учебным пособием по этому языку, программист и преподаватель программирования, составил этот учебник так, чтобы помочь читателю избежать подобных ошибок.

 

В процессе чтения книги вы ознакомитесь с такими необходимыми базовыми понятиями, как «нисходящее проектирование», когда глобальная задача разбивается на более мелкие части, которые легче уяснить для себя, «структурирование кода», когда листинг программы составляется таким образом, что циклы, условия, обработка исключений и иные логические элементы программы ясно видны даже при беглом взгляде на код, узнаете такие понятия объектно-ориентированного программирования, как наследование классов и структур, обработка исключительных ситуаций, научитесь пользоваться такими непростыми, но мощными средствами, как шаблонизатор классов и введёнными в 2011 году в стандарт языка понятиями «лямбда-функции», «семантики переноса», и «интеллектуальный указатель».

 

Так же, как и «Язык Си», новая книга Стивена Праты написана дружелюбным и понятным языком, не пугающим читателя и точно так же построена по схеме «небольшое лирическое отступление»-«теория вопроса»-«живой пример реализации»-«упражнение для самопроверки». Помимо объяснения собственно синтаксиса языка и его отличий от Си книга содержит сотни примеров программ, имеющих практическое применение, а также обучает использованию библиотеки шаблонов STL, наиболее полно использующей возможности Си++. Самоучитель по программированию «Язык программирования C++. Лекции и упражнения» Стивена Праты предназначен как студентам технических специальностей, обучающимся объектно-ориентированному программированию «с нуля», так и профессиональным программистам, желающим ознакомиться с новым ISO стандартом «Си++ 2011».

Ruby на платформе Java — Дж. Эдельсон, Г. Лю

Так получилось, что ни Ruby, ни Java не могут похвастаться наличием сколько бы то ни было качественной литературы на русском языке, и в книжных магазинах стоят либо сухие справочники «для тех, кто уже всё выучил наизусть» без малейшего намёка на объяснение, либо изобилующие пустыми словами издания «для чайников», которые даже и новичку не способны дать ничего полезного.

 

Для тех, у кого нет в запасе нескольких десятков лет, которые можно было бы потратить на «путь самоучки», эта книга рассказывает о таком изобретении в IT-мире, как JRuby — реализации языка Ruby на основе Java. Это не справочник — для решения конкретных задач не нужно выучивать наизусть тысячи классов Java, а скорее практическое руководство того, как использовать конкретные возможности Ruby для решения конкретных задач.

 

Помимо теории программирования, книга научит читателя и основам администрирования компьютера, поможет установить JRuby и обновить его до актуальной версии, скомпоновать написанную программу в пакет для платформы Rails (основного фреймворка, на котором работают Ruby-программы), связывать JRuby-программу с современными информационными технологиями и использовать прочие инструменты, предназначенные для отладки и тестирования программ. Если ваша цель — начать разработку Ruby-программ минуя стадию «изобретения велосипедов», учебное пособие Дж. Эдельсона и Г.Лю «Ruby на платформе Java» — то, что вам нужно.

Изучаем PHP и MySQL — Линн Бейли, Майкл Моррисон

Неочевидная для постороннего взгляда, но весьма серьёзная разница между статической «страничкой», сверстанной на HTML, и полноценным сайтом, реализующим общение пользователя с той информационной системой, к которой он привязан, состоит в том, что между «сервером, где данные лежат» и пользователем сайта есть ещё один «посредник». Этот посредник — программа которая динамически реагирует на запросы пользователя, отсылая их к базе данных, и отображает результат в окне Internet-браузера уже в виде HTML.

 

Сам «язык разметки гипертекста», которым HTML и является, не в состоянии выполнять подобные операции, и HTML-документ является статическим, неизменным — что вполне удовлетворяет запросы авторов статических страниц. Для профессиональных же web-программистов, работающих над профессиональными сайтами, есть иные инструменты. Одним из наиболее популярных (хоть, возможно, и не идеальным с точки зрения безопасности) языков динамической вёрстки является PHP, с помощью которого в тело Internet-страницы внедряется вся необходимая логика, управляющая поведением сайта.

 

Наиболее же распространенным среди web-программистов сервером баз данных стал MySQL (в последние несколько лет сменивший имя на MariaDB), который сочетает простоту настройки с производительностью, сравнимой с показателями коммерческих СУБД (чья стоимость зашкаливает за сотни тысяч долларов). Если вас не пугает необходимость изучения сразу двух языков — PHP и MySQL, то книга Линн Бейли и Майкла Моррисона «Изучаем PHP и MySQL» — именно то, что вам нужно. На практических примерах вы освоите все необходимые навыки от простейших запросов к СУБД до безопасной авторизации пользователя, и на их основе сможете создать типовые информационные системы, такие, например, как сайт знакомств или рейтинговая система.

Macromedia ColdFusion — Рубен Ахаян

Web-проектирование сегодня имеет массовый характер и поэтому все больше обостряется проблема его качества. Предлагаемый самоучитель этот недостаток легко устраняет, раскрывая весь потенциал платформы Macromedia ColdFusion. Теоретические выкладки и практические задания помогут освоить все этапы проектирования Web-приложений, использования различных тегов и функций.

 

Высокопроизводительная плат форма Macromedia ColdFusion предназначена для создания и автоматизации электронной коммерции в различных корпорациях. Большая часть материала самоучителя посвящена описанию основных вопросов по установке и настройке программы, рассмотрению этапов проектирования Web-приложений. Также рассмотрен курс практического использования сценариев CFScrip, функций CFML (ColdFusion Markup Language)и всевозможных тегов.

Кроме того, вы получите начальные навыки для работы с приложением ColdFusion Studio. Научитесь эффективно разрабатывать базы данных, оформлять дизайн проекта, ставить задачи, определять бизнес-правила. Самоучитель «Macromedia ColdFusion. В подлиннике» (автор Рубен Ахаян) рассматривает конфигурационные файлы, как возможность управления приложениями, синтаксис языка SQL для обработки данных, организацию поисковых систем. Учит управлять каталогами и файлами, строить диаграммы, взаимодействовать с почтовыми серверами, генерировать и планировать статистические страницы. Таким технологиям, как WDDX, CORBA, EJB, COM и WAP отведены отдельные главы.