Как проверить переключение компиляторов с MSVS 6 на MSVS 2008? - PullRequest
2 голосов
/ 21 мая 2010

При переходе с MSVS 6 на MSVS 2008, какие основные различия следует искать при тестировании программного обеспечения? Я иду с большей точки зрения QA. У нас есть две программы, которые работают в тесном взаимодействии, которые были изначально скомпилированы в Visual C ++ 6. Теперь одна из программ была скомпилирована в Visual C ++ 2008 для использования определенной процедуры записи CD. Другая программа все еще скомпилирована под MSVS 6. Мой менеджер очень обеспокоен этим изменением и хочет, чтобы я запускал тесты, специфичные для этого изменения. Поскольку я больше занимаюсь вопросами обеспечения качества и меньше занимаюсь разработкой, я действительно понятия не имею, с чего начать. Я искал различия между ними, но ничто не дало мне четкого указания относительно тестирования. Любые предложения будут полезны.

Ответы [ 2 ]

1 голос
/ 21 мая 2010

Одна вещь, которая приходит на ум, - это возможная разница в распределении небольших блоков памяти. У меня есть смутное воспоминание о том, что VC6 по умолчанию использовал кучу небольших блоков для значений до 1016 байт. Эта статья MSDN , похоже, указывает на то, что она зависит от ОС. Но я думаю , что это не зависело от ОС с VC6. В любом случае, если ваше приложение является malloc / free / new / delete тяжелым, вы можете проверить, чтобы убедиться, что оно не приводит к фрагментации со временем.

Кроме того, я не знаю о конкретных проблемах. В преобразовании MSVC6 в VS2008, которое я делал в прошлом году, основная часть работы была посвящена созданию (много изменений ATL). После сборки тестовые наборы работали без ошибок. Поэтому вы можете убедиться, что при конвертации они используют хороший уровень предупреждения (по крайней мере / W3). Игнорирование предупреждений было бы хорошим способом вызвать проблемы.

0 голосов
/ 24 мая 2010

Делая VS намного более совместимым со стандартом new больше не может возвращать NULL, когда память заканчивается, скорее это вызывает исключение. Вы можете попробовать выполнить тестирование в ситуациях с нехваткой памяти, если исходный код, проверенный на NULL, возвращаемый с new, не будет аварийно завершать работу с исключением.

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