IBM Rational - Functional Testing -> Вхождение в if...else
2009-09-18 10:52 demans
Добрый день! Вопрос следующего характера: имеется функция на Си примерно такого вида: [codebox]void foo(int a) { int b; if(a==0) { int b=1; } else { int b =2; } return; }[/codebox]
Необходимо с помощью тестов на Rational Test RealTime проверить, в какую ветвь блока if...else совершается вхождение.
Sub GetSupResolutions(iCamera, iCodec, strCodec, tb, lblResolution) prevSep = aqString.ListSeparator aqString.ListSeparator = ";" ' tb - task bar for j=tb.wMin to tb.wMax tb.wPosition = j SupResolutions(iCamera, iCodec) = aqString.AddListItem(SupResolutions(iCamera, iCodec), lbl.WndCaption) next aqString.ListSeparator = prevSep End Sub
Эта процедура формирует строку список в формате: a1;a2;a3;...aN; Точнее, до недавнего времени формировала именно в таком виде. При добавлении нового элемента добавлялось сначала его значение, а после значения шел разделитель.
Но почему-то сейчас работа функции AddListItem изменилась: теперь разделитель добавляется ПЕРЕД значением элемента, т.е. формируется строка вида ;a1;a2;a3...;aN
Решила эту проблему путем явного задания позиции, в которую нужно добавить элемент: ... SupResolutions(iCamera, iCodec) = aqString.AddListItem(SupResolutions(iCamera, iCodec), lblResolution.WndCaption, j-tb.wMin) ...
Но все равно интересно, в чем могла быть причина такого изменения в формировании строки? Не сталкивался ли кто-нибудь с подобным?
Software-Testing.Ru -> Новая статья: 5 способов ответить на нечестные вопросы начальства
2009-09-18 13:44 barancev
В библиотеку добавлена новая статья "5 способов ответить на нечестные вопросы начальства " (перевод с английского языка статьи Matt Heusser " 5 ways to answer executives' unfair software test, QA questions", выполненный Максимом Гриневичем).
Если вы проработаете в тестировании достаточно времени, то не раз встретите ситуации, когда вам зададут вопросы. Часть из них будет вполне разумными и честными, другая часть – наоборот. В этой статье, автор поможет вам обнаружить и обезоружить такие вопросы, начиная с самого известного «Почему тестировщики пропустили эту ошибку?»
VMware закрыла объявленную в начале августа сделку по приобретению за $362 млн компании SpringSource, разработчика открытого фреймворка Spring, предназначенного для создания Java-приложений корпоративного уровня.
Поглощение SpringSource поможет вендору виртуализационных решений стать игроком на рынке облачных вычислений. (more…)
Компания SAP AG объявила о том, что вот уже третий год подряд она становится лидером в секторе производителей программного обеспечения в соответствии с индексом устойчивости Доу Джонса.
При отборе в соответствии с этим индексом рассматривались социальные, экономические и экологические аспекты деятельности 34 компаний - производителей программного обеспечения. По сравнению с 2008 годом компании SAP удалось улучшить показатели по всем трем аспектам, и ее результаты стали лучшими по 12 из 20 ключевых направлений, включая экологическую эффективность (результат 100%), управление брендом, развитие человеческого капитала, социальная активность и кодекс корпоративной этики. Компания SAP также получила высшую оценку за подготовку отчетов о мероприятиях по охране окружающей среды. (more…)
IBM DB2 -> Простой DB2 SQL для нахождения простых чисел
2009-09-19 23:14 LKhiger
In mathematics, a prime number (or a prime) is a natural number which has exactly two distinct natural number divisors: 1 and itself. The first twenty-five prime numbers are:
You have to know: Doesn't exist any formula for prime numbers.
But DB2 is so powerful that allow us to find the prime numbers in one statement. Just change LIM in the following SQL and you'll get all prime numbers between 2 and LIM.
To find prime numbers we'll use the theorem: If for number N not exists divisor 1 < k <= Sqrt(N) then N is the prime.
Base on this theorem we'll create the DB2 query:
##### Код { ##### with limit (lim) as (select int(100000) from sysibm.sysdummy1 ) , numbers (num) as (select 2 from sysibm.sysdummy1 union all select num + 1 from numbers, limit where num + 1 <= int(sqrt(lim)) + 1 ) , prime_check (prime_num, prime_ind) as (select int(2), varchar('P', 1) from sysibm.sysdummy1 union all select 3, 'P' from sysibm.sysdummy1 union all select prime_num + 2, case when int(substr(digits(prime_num + 2), 10, 1)) = 5 and prime_num + 2 > 5 then 'R' when mod( int(substr(digits(prime_num + 2 ), 1, 1)) + int(substr(digits(prime_num + 2 ), 2, 1)) + int(substr(digits(prime_num + 2 ), 3, 1)) + int(substr(digits(prime_num + 2 ), 4, 1)) + int(substr(digits(prime_num + 2 ), 5, 1)) + int(substr(digits(prime_num + 2 ), 6, 1)) + int(substr(digits(prime_num + 2 ), 7, 1)) + int(substr(digits(prime_num + 2 ), 8, 1)) + int(substr(digits(prime_num + 2 ), 9, 1)) + int(substr(digits(prime_num + 2 ), 10, 1)), 3) = 0 and prime_num + 2 > 3 then 'R' when mod( int(substr(digits(prime_num + 2 ), 1, 1)) - int(substr(digits(prime_num + 2 ), 2, 1)) + int(substr(digits(prime_num + 2 ), 3, 1)) - int(substr(digits(prime_num + 2 ), 4, 1)) + int(substr(digits(prime_num + 2 ), 5, 1)) - int(substr(digits(prime_num + 2 ), 6, 1)) + int(substr(digits(prime_num + 2 ), 7, 1)) - int(substr(digits(prime_num + 2 ), 8, 1)) + int(substr(digits(prime_num + 2 ), 9, 1)) - int(substr(digits(prime_num + 2 ), 10, 1)), 11) = 0 and prime_num + 2 > 11 then 'R'
when 1 = (select 1 from sysibm.sysdummy1 where exists (select 1 from numbers where num not in (3, 5, 11) and num <= int(sqrt(prime_num + 2)) + 1 and mod(prime_num + 2, num) = 0 ) ) then 'R' else 'P' end from prime_check, limit where prime_num + 2 <= int(sqrt(lim)) + 1 ) , prime_num_1 (prime_num) as (select prime_num from prime_check where prime_ind = 'P' ) , prime_num_2(prime_num, prime_ind) as (select max(prime_num), varchar('X', 1) from prime_num_1 union all select p2.prime_num + 2, case when int(substr(digits(p2.prime_num + 2), 10, 1)) = 5 then 'R' when mod( int(substr(digits(p2.prime_num + 2 ), 1, 1)) + int(substr(digits(p2.prime_num + 2 ), 2, 1)) + int(substr(digits(p2.prime_num + 2 ), 3, 1)) + int(substr(digits(p2.prime_num + 2 ), 4, 1)) + int(substr(digits(p2.prime_num + 2 ), 5, 1)) + int(substr(digits(p2.prime_num + 2 ), 6, 1)) + int(substr(digits(p2.prime_num + 2 ), 7, 1)) + int(substr(digits(p2.prime_num + 2 ), 8, 1)) + int(substr(digits(p2.prime_num + 2 ), 9, 1)) + int(substr(digits(p2.prime_num + 2 ), 10, 1)), 3) = 0 then 'R' when mod( 6 * int(substr(digits(p2.prime_num + 2 ), 1, 1)) + 2 * int(substr(digits(p2.prime_num + 2 ), 2, 1)) + 3 * int(substr(digits(p2.prime_num + 2 ), 3, 1)) + 1 * int(substr(digits(p2.prime_num + 2 ), 4, 1)) + 5 * int(substr(digits(p2.prime_num + 2 ), 5, 1)) + 4 * int(substr(digits(p2.prime_num + 2 ), 6, 1)) + 6 * int(substr(digits(p2.prime_num + 2 ), 7, 1)) + 2 * int(substr(digits(p2.prime_num + 2 ), 8, 1)) + 3 * int(substr(digits(p2.prime_num + 2 ), 9, 1)) + 1 * int(substr(digits(p2.prime_num + 2 ), 10, 1)), 7) = 0 then 'R' when mod( int(substr(digits(p2.prime_num + 2 ), 1, 1)) - int(substr(digits(p2.prime_num + 2 ), 2, 1)) + int(substr(digits(p2.prime_num + 2 ), 3, 1)) - int(substr(digits(p2.prime_num + 2 ), 4, 1)) + int(substr(digits(p2.prime_num + 2 ), 5, 1)) - int(substr(digits(p2.prime_num + 2 ), 6, 1)) + int(substr(digits(p2.prime_num + 2 ), 7, 1)) - int(substr(digits(p2.prime_num + 2 ), 8, 1)) + int(substr(digits(p2.prime_num + 2 ), 9, 1)) - int(substr(digits(p2.prime_num + 2 ), 10, 1)), 11) = 0 then 'R' when 1 = (select 1 from sysibm.sysdummy1 where exists (select 1 from prime_num_1 p1 where p1.prime_num not in (3, 5, 7, 11) and p1.prime_num <= int(sqrt(p2.prime_num)) + 1 and mod(p2.prime_num + 2, p1.prime_num) = 0 ) ) then 'R' else 'P' end from prime_num_2 p2, limit lm where p2.prime_num + 2 <= lim ) , prime_number (prime_num) as (select * from prime_num_1 union all select prime_num from prime_num_2 where prime_ind = 'P' ) select prime_num "Prime Number" from prime_number ##### Код } #####
You can COPY/PASTE SQL and run.
All prime numbers found in range between 2 and lim.
##### Код { ##### limit (lim) as (select int(1000000) from sysibm.sysdummy1 ) ##### Код } #####
Lenny
Новости информационной безопасности -> "Киберсант - Оборона" - Ваш личный телохранитель
2009-09-20 02:34 кибер В рамках проекта«Киберсант – Оборона»издательстваInfo DVDhttp://oborona.info-dvd.ru/ вышел в свет одноименный диск, разработанный Сергеем Зуевым – IT специалистом и персональным консультантом многих пользователей Интернет в течение уже более 15 лет. Диск«Киберсант – Оборона»- это не только сборник софта, необходимого для полной защиты и безопасности Вашего компьютера, но и, самое главное, более 17 часов обучающего видео по его установке и настройке под Вашу операционную систему, пошаговые инструкции без заумной технической философии и жонглирования спецтерминами, получение углубленного уровня знаний по данному вопросу. Цель автора – превратить Ваш компьютер в неприступную крепость. И это не просто слова.
В первой части диска «Защита от вредоносного ПО и хакеров»Вы узнаете, какую на самом деле угрозу для безопасности Вашего ПК несут вредоносные программы и хакерские атаки. Будут доступны антивирусные программы ведущих брендовых производителей, рекомендации по выбору программы.
Во второй части«Защита конфиденциальной информации»автор расскажет, почему свою личность в Интернете необходимо защищать не только словами; как обезопасить Вашу связь через Интернет, покупки и платежи, а так же личную информацию; как сделать безопасной Вашу операционную систему и любимый браузер, кто такие мошенники и как не попасться на их уловки; почему важно относиться с бережностью к хранению Ваших паролей и где их хранить, чтобы спать спокойно. Конечно же, прилагаются программы для успешного решения перечисленных вопросов.
В третьей части «Защита Ваших данных»автор донесет до Вас мысль, что потерять цифровую информацию можно и без помощи Интернета, а своим действием вывести из строя «железо» навсегда. Правила ухода за жесткими дисками, портативными накопителями, CD, DVD, инструкции по хранению, шифрованию, резервированию и восстановлению данных. Программы, как всегда, прилагаются.
Уважаемые коммерсанты, бизнесмены, администраторы, серферы и простые пользователи. Помните, что любой успешный бизнес начинается с его безопасности и думать, что Ваша личность никого не заинтересует – значит глубоко заблуждаться. Будьте осторожны и всегда держите палец на курке! Обороняйтесьhttp://oborona.info-dvd.ru/