LinkedIn Is Open Sourcing Their Testing Frameworks (github.io) 77
destinyland writes: LinkedIn is open sourcing their testing frameworks, and sharing details of their revamped development process after their latest app required a year and over 250 engineers. Their new paradigm? "Release three times per day, with no more than three hours between when code is committed and when that code is available to members," according to a senior engineer on LinkedIn's blog. This requires a three-hour pipeline where everything is automated, from committing code to releasing it into production, along with automated analyses and testing. "Holding ourselves to this constraint ensures we won't revert to using manual validation to certify our releases."
Just remember (Score:5, Insightful)
What is amazing is how many people do just that.
Linked in Open sources (Score:3, Insightful)
Re: (Score:2)
Their Spam framework.
Trying to make a "six degrees of LinkedIn."
Re: (Score:2)
hmmm... did ethics testing get automated here?
{ assert true : "Danger Will Robinson, Danger! Unethical program."; }
Re: (Score:2)
hmmm... did ethics testing get automated here?
{ assert true : "Danger Will Robinson, Danger! Unethical program."; }
When I was originally invited to join Linkedin, it was through an invite from a colleague. I went through the steps, then figuratively shit myself. They just outright asked for the password. The putative reason was to let them data mine my address file.
But I kinda wanted to keep my job at the time. Ethical? Hell no.
Re:Senior Engineer? (Score:4, Insightful)
Re: (Score:1)
Re: (Score:3)
Hm ... I guess those guys think different: https://www.sei.cmu.edu/cmmi/ [cmu.edu]
Also, what is so hard to grasp that there is no "engineer"?
There are "mechanical engineers", "electrical engineers" and others and in the end also "software engineers", I for my part actually studied "software engineering" and "computer science" ... funnily I should have worded it different, I studied "computer science" and "software engineering" is a important but depending on what else you study: a small sub section of CS.
I don't care
Re: Senior Engineer? (Score:2)
I think you're mostly agreeing with the OP. The SEI will certainly tell you that most software development is not done with enough rigor to be called engineering. In large part, that's because most software people do not know how (or do not bother) to elicit and manage requirements well -- so cheers to you for doing that. (Good verification skills and planning for traceability are the other places that typical software projects fall short, IMO.)
Re: (Score:2)
Re: (Score:2)
Hm, is your country regarding "marketing" or "advertising" really so bad?
Stuff like this which is why XYZ failed so spectacularly in not being the magic bullet that everyone said it would be. I likely have read on /. a 1000 times.
However I never experienced that something was marketing-ed to me in RL in such a way nor did I "market" e.g. UML when I was still an UML coach in that way.
BTW: what is wrong with UML in your opinion? I use it since roughly 20 years, even when it was not called UML but OMT and Use
Re: (Score:2)
Arbitrary rules (Score:1, Informative)
Why 3 hours? Why not 2? or 4? Why not manual? Bugs are by their nature UNanticipated and automated testing tools only test anticipated bugs.
"Holding ourselves to this constraint ensures we won't revert to using manual validation to certify our releases."
Why? It seems to defy logic. The first time you do user testing is when real world users are using it. That's moronic.
Re: (Score:2, Troll)
Because they are a fucked company, they know it, and they need to do something to get more publicity.
Re: (Score:2)
# Because THREE is a magic number ... /#
something something trinity (or is it trilogy)
Re: (Score:1)
Dunno? But, it seems to me, more and more of these things that I read about various companies open-sourcing their material makes me think that they're just looking for someone to fix it for them for free. Maybe someone should suggest they be a bit more flexible with QA than to apply arbitrary time limits? Some things just can't be fixed in the code.
Re: Arbitrary rules (Score:1)
Re: How do they handle database changes? (Score:1)
It doesn't matter. All your base are belong to us.
Re: (Score:3)
They use MongoDB. You don't need to worry about database changes, because it's webscale.
Re: How do they handle database changes? (Score:1)
The better to spam you with! (Score:2)
All this efficient check in and automated testing, just so they can send spam to every email they get their hands on.
My employer specifically marks linked in spam as "NOT SPAM". So custom filters it is.
"Open Sourcing Testing Frameworks"? (Score:2, Insightful)
Re: (Score:2, Troll)
My buzzspeak is a little rusty, but this sounds suspiciously like "Beat monkeys to code faster, send code out the door without testing, and just let the users figure it out". Did something get lost in translation?
From the bugs in groups, and the vast drop in traffic to the same, I think you hit the nail on the head! They hit the nail with their head...
Re: (Score:2)
My buzzspeak is a little rusty, but this sounds suspiciously like "Beat monkeys to code faster, send code out the door without testing, and just let the users figure it out". Did something get lost in translation?
Yeah.
They deploy to internal users -- LinkedIn employees -- via Enterprise Enrollment for iOS devices, and via Google Play’s alpha testing functionality and the developer console API. So it's not like they are sending the code without testing, and it appears that at any time, an internal user can torpedo a particular release candidate, so that what they end up with at the end of the week might be the same thing they had at the end of last week.
This still has a bunch of holes, just as any continuous i
Re: "Open Sourcing Testing Frameworks"? (Score:2)
So how do you "test for correct behaviour of the products, overall"? It's not that hard to spell out -- and even automate -- the cases that a person expects to occur. The problem is accurately modeling the state space of the program and then figuring out which walks through it are incorrectly permitted. Even the most sophisticated known approaches fall down for the first part of that problem due to the vast size of an interesting program's state space.
Re: (Score:2)
So how do you "test for correct behaviour of the products, overall"? It's not that hard to spell out -- and even automate -- the cases that a person expects to occur. The problem is accurately modeling the state space of the program and then figuring out which walks through it are incorrectly permitted. Even the most sophisticated known approaches fall down for the first part of that problem due to the vast size of an interesting program's state space.
Personally? If money were no object, I'd use software that cost thousands per engineer in about 1985 or so, but which is now sold as "McCabe IQ". By 1990 you could get three floating licenses for "only" $45,000 (not sure on the current precise price; it appears to *start* at $2,000.00/one-time/user, which generally means that a useful configuration would be more hefty in both price and capability than the "starter" version).
I'd use it to ensure that the requirements document is implemented by the software
Re: "Open Sourcing Testing Frameworks"? (Score:1)
3 hours is waaaay too long (Score:5, Funny)
Oh my heavens, 3 hours is waaaay too long in this fast-paced, ever-changing world.
Why not just do an automatic commit with every keystroke, like the Windows 10 telemetry does?
Neglecting to care (Score:2, Insightful)
I would rather eat rats than join LinkedIn.
250 developers working a project for a year at any other company would cause me to be curious about what that project is. In this case I have no interest in ever knowing.
Releasing three times a day with three hour _ceiling_ to "ship it" is only possible while harboring extreme levels of disregard and contempt for your users. Refreshing to see LinkedIn's corporate philosophy so well represented in everything they do.
Re: (Score:2)
Seriously, yes. What the HELL do they do with 250 engineers that no one has given a shit about (beyond the investors who watched their stock lose almost 50% in a single day) in the last couple years?
I won't even click on random search links to their site (let alone use it for business networking) once I realized how all of your "private" data is basically negotiable to anyone who wants to pay more than you to get access to it.
Re: (Score:2)
Re: (Score:2)
It's a good tool for business networking if you treat it as a service for just that, and limit your connections to people whom you actually know.
If you already know these people, why do you need linkdink?
Re: (Score:2)
To rediscover people I know but forgot about (plenty of those). I could ask for and save businesscards from every person I meet but LinkedIn is just that much handier.
To keep track of people; I don't have contact with every single person in my network on a regular basis, and it's handy to know if they change jobs or switch companies. That's one of the good things of social networks: you don't have to keep you
Re: (Score:2)
Re: (Score:2)
Sorry, Barbara, but at age of nearly 50 I certainly don't use facebook to find friends. How actually should that work? (I only have friends on FB that I know in RL ... like it should be)
A professional social site like LinkedIn or Xing is much better suited for that, or I use a true dating site.
Re: (Score:2)
I only have friends on FB that I know in RL ... like it should be
Why? That would be like saying I only have friends on slashdot who I know in RL ... like it should be. There are plenty of people here I think would make great RL friends.
Re: (Score:2)
Re: (Score:2)
There's this really neat thing called a "search engine". If they're a professional, they'll be searchable.
I almost wanted to agree with your pervious comment, but this one was silly.
As much as I can't stand Linkedin, if you are looking for a "search engine" optimized for professionals, there is nothing better. In fact often if you search Google for someone in a professional context Linkedin is the first result that comes up (which I try to make a point of not clicking on).
Just because you dislike something, doesn't mean it's not the best at what it does. Maybe not the right solution for you or me due to all o
Re: (Score:2)
Re: Neglecting to care (Score:1)
Re: (Score:2)
Once my realtor endorsed me for embedded systems development I gave up and deleted my account (if that's even possible, who knows).
My sister endorsed me for something. (Score:2)
My sister endorsed me for something.
I made her delete the endorsement, on penalty of being delisted as a connection on LinkedIn if she did not do so, since there was no way in hell that she could legitimately claim domain knowledge for the endorsement, or lacking that, experience in an organization we were both in, justifying the endorsement on the basis of my past work.
This is the problem with associating with family members on professional, as opposed to things like Facebook, social networks: they think t
Re: (Score:2)
Anyone who is going to be so fucking stupid as to think worse of you simply for a family member giving you a silly endorsement on LinkedIn is a pretentious dumbshit anyway.
Or they just are going to take everything you say with a grain of salt, if it's pretty clear you are getting your family members to inflate your endorsement numbers. That's not being a pretentious dumbshit, that's simply not being a dumbshit, period. Either I can trust the numbers, because I can trust the people endorsing you, or I can't trust the numbers.
I'm pretty sure that if you're applying for a position as biologist, it's statistically improbable that all the members of your immediate and extended f
Re: (Score:1)
Yeah, I don't know how the site works - having never needed to make use of it, but I do know that I'd look at *who* was endorsing whom and what they had for qualifications to assert an opinion on the abilities. I may be able to say that my mechanic, barber, or housekeeper do fine work but, no matter how much I may like you as a person, I can't not say that you're a quality programmer, chemist, biologist, or airplane pilot.
So, were I to use the site, I'd weight opinions and recommendations carefully. Lots of
Re: (Score:2)
Sounds like you are blaming your sister for her endorsement, when obviously it's Linkedin that should be blamed. I have no interest in giving speeches or threats to friends over a shitty service like this.
The reason so many of these strange endorsements happen is that Linkedin makes it as confusing as possible for people. She probably saw something like "do you know X, and think he does great work? Would you like to endorse him?" - basically making you feel bad for not doing it without decent context. W
Re: (Score:2)
Re: (Score:2)
Meh. Some endorsements I got on LinkedIn make sense, others don't./quote
Which makes it sound pretty "random" - ie. totally useless as a metric for hiring decisions.
Does their latest app still take all my contacts? (Score:1)
Does their latest app still take all my contacts? If so then LinkedIn can go fuck themselves.
Re: (Score:2)
Does their latest app still take all my contacts? If so then LinkedIn can go fuck themselves.
Too late - they've already done a double plus fine job of fscking themselves. Then again, considering how many of the users are just engaging in circle jerks trying to get recommendations ...
Open sourcing or outsourcing? (Score:1)
Sounds more like they are "outsourcing QA to the end users".
Verification and validation (Score:4, Informative)
First of all, thank you Linkedin for open sourcing this! Always good to share.
First, three hours is not enough time to conduct any manual testing steps, so holding ourselves to this constraint ensures we won’t revert to using manual validation to certify our releases.
I've been in testing for some time and have been taught to make a distinction between verification and validation.
Verification is checking if the software works according to specs. Validation means: does it actually work for us. By defintion that means that you can automate verification but not validation.
Is that just semantics? Not for testers. In the test community there currently is a big debate going on checking vs testing.
See i.e. Michael Boltons blog. [developsense.com]. Checking can be done automated. Real validation in my opinion can not.
What I am curious about is the 'to production each three hours' That sounds great, but although I don't use a linkedin app on my phone, I am still pretty sure users don't get their app update three times a day.. With such rapid deployment, I suspect it takes multiple deploments before it adds up to a significant increase in usable functionality.
Many small releases means in general that mistakes are also small and quickly fixed. I am actually in favour of them. But it is not a full garantuee that one of these small releases will not break something badly that would have been found by even a limited manual test. The chance that that happens may be much lower with small releases but it still exists and the impact is still high.
Automated tests can perform a huge amount of checks quickly. Humans can't beat that. But they can also overlook the blatanly obvious. I would hope they would have manual testing at least prior to releasing new functionality. To find these things, but also to do some validation by the definition above.
Else I suspect it may work well for them for quite some time but it may bite them badly at one point as well.
Re: (Score:1)
puff piece (Score:2)
The link doesn't go to anything specific, which leaves me puzzled as to whether this is a framework as in rails or something sort of like a procedure but more conceptual.
The content is buzzword laden twaddle. I reckon the whole thing is just a puff piece.
Re: puff piece (Score:1)
250 Engineers? (Score:3)
Re: (Score:2)
Re: (Score:2)
Don't worry - the magic words "We're open-sourcing $X" means they're looking to cut staff. This is what most businesses without a clue do, not realizing that in fact they will need to hire more staff to deal with it.
Interesting, could you please elaborate? What does open-sourcing a product have to do with cutting staff? Do you mean they will rely on the formation of a community of volunteers to maintain their product and let their in-house developers go?! That is pretty insane.
No wonder you post anonymously - you must be REALLY new here. Whether it's insane or not is irrelevant - this is management decisions we're talking about, logic is optional.
so much engineering for such a small company (Score:2)
Is it just me, or does LinkedIn do an amazing amount of engineering for a website that's basically a simplified Facebook + job board?
Do they really need this amount of engineering? Or are they doing it just for the sake of doing it?