Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Some recommendation for how large test project should be?
GreenMoose
#1 Posted : Tuesday, March 06, 2018 9:16:41 AM(UTC)
Rank: Advanced Member

Groups: Registered
Joined: 6/17/2012(UTC)
Posts: 375

Thanks: 79 times
Was thanked: 40 time(s) in 39 post(s)
I'm wondering if there are any guidelines to how large a test project should be to run smoothly, before one should split it up into smaller test projects.

Currently the build/analyze step of one of our test project is almost 1 minute:
Build/Process duration

And it has 185 000 code lines (of which 74 000 are compiled lines).

CPU (2 physical cpus 4 cores each) is pretty much choked during the build process (and I run NCrunch workspace on Raid-5 SSD) so I don't think I can optimize the hardware much more.

Currently TDD is practically impossible with this test project, so I was wondering if there are some general guidelines etc. specifically for test projects since they tend to grow much more than production code during TDD ?

Thanks.
Remco
#2 Posted : Tuesday, March 06, 2018 10:37:26 PM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 5,230

Thanks: 691 times
Was thanked: 840 time(s) in 800 post(s)
Hi, thanks for posting.

The problem with these kind of guidelines is that there are so many variables involved.

For example, a large project with 100,000 lines may work reasonably well if it's using the NCrunch MSTest adapter set to static analysis (which is pretty fast) and there is a minimal number of attributes defined on the methods.

Conversely, you might find a smaller project with 50,000 lines is a struggle if it's using many advanced test framework features under dynamic analysis, with lots of small methods.

Then of course, there is the big variable that is hardware performance.

We're working on building some tools in-house to help us identify and address scalability problems that are associated with some of the more extreme scenarios (such as a huge volume of tests vs a huge volume of code, etc). The key issue here is that there a multiple dimensions in which scaling needs to be addressed.

For the time being though, I think the best way to know when your project is too big is to just look at the times in the performance view and decide when you're waiting too long.
1 user thanked Remco for this useful post.
GreenMoose on 3/7/2018(UTC)
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

YAF | YAF © 2003-2011, Yet Another Forum.NET
This page was generated in 0.032 seconds.