The Entrepreneur Forum | Financial Freedom | Starting a Business | Motivation | Money | Success
  • SPONSORED: GiganticWebsites.com: We Build Sites with THOUSANDS of Unique and Genuinely Useful Articles

    30% to 50% Fastlane-exclusive discounts on WordPress-powered websites with everything included: WordPress setup, design, keyword research, article creation and article publishing. Click HERE to claim.

Welcome to the only entrepreneur forum dedicated to building life-changing wealth.

Build a Fastlane business. Earn real financial freedom. Join free.

Join over 90,000 entrepreneurs who have rejected the paradigm of mediocrity and said "NO!" to underpaid jobs, ascetic frugality, and suffocating savings rituals— learn how to build a Fastlane business that pays both freedom and lifestyle affluence.

Free registration at the forum removes this block.

Test Frameworks for Proprietary Software

dknise

Gold Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
133%
Aug 29, 2012
1,087
1,449
North Bend, WA
I'm never sure if I should post these in the Software or Development forum...

On my project I am currently going through and building out a full unit and integration test framework for my code. I opted not to go a single compiled C route for security reasons, so I am working with several variations and implementations of the same code base in different languages. Ever heard that saying that for each line of code you should have 5 lines of test code? Ya... my solution files are getting huge now.

The reason for developing such a large and thorough test framework is simple, I wish to sell my company and it's software and the buyer will almost certainly want tested code. The tricky part is that I'm one of the few developers who is still hardcore against unit testing because of the severe design implications. While I have solid integration tests for each SDK and service, my unit tests often borderline as integration. Regardless, it tests the functionality of the code and will be well received by serious potential buyers.

There are two groups I wish to address here:
Entrepreneurial Software Developers:
Entrepreneurs Who Outsource Development:

Are you planning on selling your proprietary software company?
If yes, what are your plans for test frameworks?
Do you already create test frameworks for everything or what are your plans?

Thought it would be interesting to get another business perspective on it for small businesses. :)

As for what inspired this post, I started blogging for self-branding (I hate self branding hahaha) and here's the high level reason why I despise unit testing. If you're not a dev, don't worry about it haha.
David Knise | How Unit Tests Often Break Encapsulation
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

Bruce

Contributor
Read Fastlane!
User Power
Value/Post Ratio
43%
Feb 1, 2012
111
48
Canada
I think as long as your software gets sales and has a steady income, it's probably good and stable enough to any buyer's eyes. No need to develop a hardcore test framework yet.

I wouldn't worry too much about how sellable the code is for now, just develop the software to suit the needs of it's users.

At the end of the day it's about kick a$$ software that sells like hotcakes, that's what business buyers would be looking for.

For me I personally haven't worried to much about testing yet.

My original plan was to market out the idea and offer beta signups etc, and when that was done start development. But however I managed to find a group of potential customers who are willing to help me grow my software before I start publicly selling it.

This lead to me developing a barebone version of my idea and they've been using it for a few months now. Just waiting til the end of the year to hear the results. Can't wait to hear what features I should add and what I should remove etc.

Best of luck!
 

MJ DeMarco

I followed the science; all I found was money.
Staff member
FASTLANE INSIDER
EPIC CONTRIBUTOR
Read Rat-Race Escape!
Read Fastlane!
Read Unscripted!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
446%
Jul 23, 2007
38,219
170,553
Utah
David,

I don't meant to hijack your thread but what is your core programming competency? Are you a PHP guy? RoR? Python? Or a master at all?
 

dknise

Gold Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
133%
Aug 29, 2012
1,087
1,449
North Bend, WA
David,

I don't meant to hijack your thread but what is your core programming competency? Are you a PHP guy? RoR? Python? Or a master at all?

Great question, I'm primarily a .NET C# developer, although I'm just as well versed in Java. I use NUnit for .NET and JUnit for Java test frameworks. I work well with any c-based language.

As for web, I went with PHP but wouldn't call myself a master at it just yet. Although I won't be setting up tests for the front end, the majority of the work is in backend services that would benefit from test validation.

As I know you have already built a big site with a robust backend and successfuly sold, how did you approach this?

Thanks MJ :)
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

MJ DeMarco

I followed the science; all I found was money.
Staff member
FASTLANE INSIDER
EPIC CONTRIBUTOR
Read Rat-Race Escape!
Read Fastlane!
Read Unscripted!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
446%
Jul 23, 2007
38,219
170,553
Utah
As I know you have already built a big site with a robust backend and successfuly sold, how did you approach this?

I would hardly call it "robust", in fact, it was a jumbled mess of spaghetti code. The bottomline was: It worked for the end users. The new company revamped the entire thing, which was something I recommended when I sold it.
 

dknise

Gold Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
133%
Aug 29, 2012
1,087
1,449
North Bend, WA
I would hardly call it "robust", in fact, it was a jumbled mess of spaghetti code. The bottomline was: It worked for the end users. The new company revamped the entire thing, which was something I recommended when I sold it.

Oh wow haha, what was your language of choice back then? I'm sure you've talked about the project in more detail somewhere online before, do you have any links?

Someday I would love to buy you a beer or seven to pick your brain and chat!
 

Icy

Contributor
User Power
Value/Post Ratio
11%
Feb 16, 2009
807
86
The tricky part is that I'm one of the few developers who is still hardcore against unit testing because of the severe design implications. While I have solid integration tests for each SDK and service, my unit tests often borderline as integration. Regardless, it tests the functionality of the code and will be well received by serious potential buyers.


How do unit tests have design implications? That article just has a sensationalist title with no substance.

Private methods don't need to be exclusively tested if they are hit through the public interface.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

dknise

Gold Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
133%
Aug 29, 2012
1,087
1,449
North Bend, WA
How do unit tests have design implications? That article just has a sensationalist title with no substance.

Unit testing doesn't have design implications, designing code to get 90%+ code coverage in unit testing can.

And ya I didn't really write much. I'll be writing a much longer, more technical version with code examples soon. I'm not a fan of abusing DI for mocks and fakes and exposing code that should be hidden which is often what ends up happening. Rather than writing a "unit" test with mocks of every file IO object that gets used, just write an integration test. I've looked through test frameworks that faked everything in a method with a fake return value so the assertion at the end of the test was actually asserting if the fake test objects were written right, not the code hahaha.

Also... like I said at the bottom... for every person that's on my side of testing, there's ten on the other. If you're one of them, I'll understand.
 

Icy

Contributor
User Power
Value/Post Ratio
11%
Feb 16, 2009
807
86
Unit testing doesn't have design implications, designing code with getting 90%+ code coverage in unit testing can.

I agree with you here. There will always be situations that were misjudged (or simply hard to cleanly allow), and result in code that just isn't possible to unit test cleanly. Faking the tests to simply have coverage is a fools game.

I've looked through test frameworks that faked everything in a method with a fake return value so the assertion at the end of the test was actually asserting if the fake test objects were written write, and nothing about the code hahaha.

hahaha, geez.. I'm happy to have never have come across such code.


Also... like I said at the bottom... for every person that's on my side of testing, there's ten on the other. If you're one of them, I'll understand.

It's completely a game of cost\benefit for me. If something was 'interesting' to write, I'll write a few tests to have a bit of a sanity check, and in the case of a future bug, throw in a check for that (having a brain fart on the actual term..). I'm certainly no purist with it, but there are definitely benefits.
 

MJ DeMarco

I followed the science; all I found was money.
Staff member
FASTLANE INSIDER
EPIC CONTRIBUTOR
Read Rat-Race Escape!
Read Fastlane!
Read Unscripted!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
446%
Jul 23, 2007
38,219
170,553
Utah

bernieshawn

Bronze Contributor
Read Fastlane!
User Power
Value/Post Ratio
40%
Jul 14, 2011
310
123
36
I would hardly call it "robust", in fact, it was a jumbled mess of spaghetti code. The bottomline was: It worked for the end users. The new company revamped the entire thing, which was something I recommended when I sold it.

Hey MJ,

Did the fact that the code was a mess and they had to rewrite it affect the sale price at all? Would they have been willing to pay more if the code had been cleaner and more organized
 

dknise

Gold Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
133%
Aug 29, 2012
1,087
1,449
North Bend, WA
Hey MJ,

Did the fact that the code was a mess and they had to rewrite it affect the sale price at all? Would they have been willing to pay more if the code had been cleaner and more organized

I'm interested in this as well. I've been designing my framework around the concept of selling it as a pre boxed network for the buyer, hoping that it will add to the value.
 

dknise

Gold Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
133%
Aug 29, 2012
1,087
1,449
North Bend, WA
Little update guys, I had a meeting over the weekend with a company that may be interested in acquiring us. The question came up about the quality of the code base. I explained that I had purposely coded and documented it for the purpose of passing off the code base, whether that be to new employees or an entirely separate team. I also noted that the test frameworks were currently in development and that the code would come completely architected right out of the box. That was their expectation with the price evaluation and said a rework would have significantly reduced the offer.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

Post New Topic

Please SEARCH before posting.
Please select the BEST category.

Post new topic

Guest post submissions offered HERE.

Latest Posts

New Topics

Fastlane Insiders

View the forum AD FREE.
Private, unindexed content
Detailed process/execution threads
Ideas needing execution, more!

Join Fastlane Insiders.

Top