简体   繁体   中英

Change in compiler, not the framework - Is a full cycle test needed?

We've a long running project which is under development in VS 2008 and .NET Framework 3.5 . The software has gone through many test cycles. We're still adding features, fixing bugs etc. A full cycle test (testing every feature - 6 weeks of testing for one person) was also done many days ago. Now, when a new feature is added or some bugs are fixed, only relevant portion gets tested before new release.

We're planning to gradually start using VS 2010 . The software will still run in .NET Framework 3.5 . As far as I understand, as we'll be using a new compiler which may compile same code differently *, the next release of the software in new compiler must pass through a full cycle test despite it will run under the same Framework.

Is a full cycle testing really necessary in this case?

* I don't have enough experience to be certain, I just feel it may happen.

Yes, you must retest. There are some breaking changes in the C# 4.0 compiler, and while some of them only apply to framework 4.0, others apply to any framework. For example, you might find differences in overload resolution.

EDIT

The /langversion compiler option does not get around this. Its documentation says "Because each version of the C# compiler contains extensions to the language specification, /langversion does not give you the equivalent functionality of an earlier version of the compiler."

If you are using C# version 3.0 as earlier then Not. You can enforce this by going to "Project Properties" > Build > Advanced and setting "Language Version"

As you have mentioned its only the development environment you are upgrading not the Framework, hence the MSIL will be the same. With the same code being executed you do not need the full life cycle of testing.

The code(IL or assembly) given to client in assemblies is no different as the underlying compiler will be same.

Update: By default C# version which will be used is 4.0, which have breaking changes as phoog has mentioned. In this case you will have to retest the application.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM