3 Мб

Октябрь 2010

 


Покрытие кода и углубленное тестирование. Часть 3

Лайза Слэйтер Николлз (Lisa Slater Nicholls)

Читайте первую и вторую части статьи в журналах FoxTalk за август-сентябрь 2010 года

Автоматизированное тестирование
Поскольку тестирование отнимает время и ресурсы, было бы только разумно избежать при этом их излишнего расходования. Таким преимуществом обладают методики автоматизированного тестирования.

Несколько «за» и «против»
Кроме того, по моим наблюдениям, у автоматизированного тестирования есть то преимущество, что оно уменьшает эмоциональную составляющую этого перенасыщенного эмоциями процесса. Автоматизированный тест не так легко «вывести из себя», к тому же он предоставляет более последовательный, сопровождаемый беспристрастным отчетом отклик, нежели другие типы «доносителей» об ошибках. В атмосфере общего стресса, который сопровождает разработку приложений, и «страха перед возможной неудачей», который у многих разработчиков вызывают программные ошибки, все, что способно сократить эмоционально опасные моменты тестирования и процесса предоставления информации об ошибках, должно рассматриваться как полезная вещь. Я бы даже сказала, что автоматизированное тестирование — это важная составляющая для совершенствования процесса разработки, точка.
Впрочем, я также наблюдала, что люди иногда слегка переусердствуют в своей вере в автоматизированное тестирование.
Автоматизированное тестирование не означает, что вам вообще не надо задумываться о тестировании. И оно не обеспечит вам громадную экономию времени — по крайней мере, это произойдет не сразу.
Начать с того, что проектирование автоматизированных тестов отнимает массу времени, несмотря даже на то, что в дальнейшем они могут сберечь ваше время. Это аналогично тому факту, что прежде надо затратить массу времени на проектирование по-настоящему хорошего абстрактного класса, удовлетворяющего многим требованиям, а уж потом создание подклассов этого класса, возможно, окажется очень легким делом. Еще одно сходство заключается в том, что подготовка автоматизированных тестов, подобно хорошим абстрактным суперклассам, требует очень большого опыта. В первых трех случаях вас подстерегает неудача; опять-таки, совсем как в ООП.
Даже если вы подготовили тщательно продуманную и надежную процедуру автоматизированного тестирования и знаете свои инструменты автоматизированного тестирования вдоль и поперек, чтобы эти средства работали, придется еще потратить какое- то время на создание сценариев, «подогнанных» под требования каждого приложения или сценария тестирования. По-видимому, этот факт является непреложным, независимо от того, каким инструментом вы пользуетесь.
Вы по-прежнему должны думать. И на это по-прежнему потребуется время. Но автоматизированное тестирование может оказаться более последовательным, более объективным и более продуктивным, чем отказ от его выполнения. Памятуя об этом, мы должны подумать о том, как реализовать такую практику в среде VFP.


Вопрос формы

Энди Крамек (Andy Kramek) и Марсиа Акинз (Marcia Akins)


В этом месяце Энди и Марсиа создают класс, который обеспечивает создание документов текстового процессора Word из шаблонов, используя именованные  закладки и таблицы, чтобы указать места для вставки данных. Этот класс изначально разрабатывался для использования с версией Office 2003, но без модификаций будет работать с версиями Office XP и Office 2000. Он также будет работать с версией Office 2007, но в этой версии по умолчанию создаются файлы нового типа «.docx».


Классы членов предоставляют свободу действий

Гарретт Фитцджеральд (Garrett Fitzgerald)


Появившаяся в версии VFP 8 новая возможность, ее часто именуют «member classes» (классы членов), — это набор новых свойств и новых способов определения классов, который может предоставить намного большую свободу действий при работе с некоторыми элементами управления. Надо определить в элементе управления pageframe несколько вкладок page с различными свойствами и настройками? Не проблема. Как насчет более тонкой настройки заголовков столбцов в элементе управления grid? Пожалуйста. В Visual FoxPro есть определенные классы, предназначенные для использования только в контейнерах: например, вкладки Page и заголовки Header могут существовать только в объектах PageFrame и Column. В версиях, предшествовавших VFP 8, если мы хотели образовать подклассы таких классов, их приходилось добавлять вручную, с помощью метода AddObject. Но у такого подхода имелись проблемы. Например, мы не могли размещать элементы управления на вкладке, созданной как подкласс, в конструкторе форм. Однако, в версии VFP8 появились новые свойства MemberClass и MemberClassLibrary, а также свойства HeaderClass и HeaderClassLibrary объекта Column. Эти свойства позволяют предоставить контейнерам информацию о том, какого рода элементы управления они должны использовать в том случае, если мы меняем значения свойств, указывающих, сколько элементов управления содержат контейнеры.


DataLookup — каркас класса

Джиджио Паппакан (Jijo Pappachan)

Такая функциональная возможность, как поиск данных, требуется в каждом профессиональном приложении. И нам надо обеспечить конечному пользователю возможность легко и быстро выбрать соответствующую запись из большой таблицы вроде списка товаров, списка счетов и так далее. Вот каркас класса, предназначенного для создания в приложениях форм поиска. Это очень простой класс. Я создал его для своих приложений и обнаружил, что он очень удобен. Мне хотелось бы поделиться этим классом с вами. Уверен, что его создание сэкономит вам время. Пожалуйста, убедитесь сами.


Возврат на основную страницу

К архивам

© Edel Ltd. Все права защищены. 2010 г.

Hosted by uCoz