Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Social Networks Open Source Software

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."
This discussion has been archived. No new comments can be posted.

LinkedIn Is Open Sourcing Their Testing Frameworks

Comments Filter:
  • Just remember (Score:5, Insightful)

    by Ol Olsoc ( 1175323 ) on Friday February 12, 2016 @10:27PM (#51498939)
    Share your email login credentials with them. Much appreciated.

    What is amazing is how many people do just that.

    • Their Spam framework.
  • Arbitrary rules (Score:1, Informative)

    by Anonymous Coward

    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)

      by Dahamma ( 304068 )

      Because they are a fucked company, they know it, and they need to do something to get more publicity.

    • # Because THREE is a magic number ...
      something something trinity (or is it trilogy) /#

      • by KGIII ( 973947 )

        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.

    • It only seems moronic if you don't know how it's done and the only training you have is how to write code. Study design pattern for testing and deployment. Jez Humble is a good source.
  • 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.

  • 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?
    • Re: (Score:2, Troll)

      by houstonbofh ( 602064 )

      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...

    • 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

      • 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.

        • 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

    • Access to a tool is a small portion of being able to use it effectively. I can give you a free table saw but you'll just cut your hand off if you don't learn how to use it.
  • by JustAnotherOldGuy ( 4145623 ) on Saturday February 13, 2016 @12:18AM (#51499199) Journal

    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?

  • 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.

    • by Dahamma ( 304068 )

      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.

      • In my last position I needed to find certain professionals in other companies from time to time, and "cold call" them (no, nothing to do with marketing or recruitment). LinkedIn actually made that very easy, certainly easier than going in through the front door and the receptionist, and no one minded being contacted in that way. Sometimes I found a mutual connection to introduce me to the other person. Similarly, several people from ther businesses found and contacted me through LinkedIn. It's a good to
        • 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?

          • For people whom I know but don't have an email address for (or their address might have changed)
            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
            • There's this really neat thing called a "search engine". If they're a professional, they'll be searchable. And if you're using linkdink to find/get friends, you're doing it wrong. It's spelled Facebook.
              • 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.

                • 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.

              • by Dahamma ( 304068 )

                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

                • I was pointing out the fact that you do not need LinkedIn to find a particular person. And given that many professionals aren't on linkedin, you're immediately limiting your chances of success if that's what you use. Why start with one hand tied behind your back, especially when you can get information from a general search that you won't get from a carefully massaged profile on linkedin?
    • My suggestion to you is to study your craft. :)
  • Does their latest app still take all my contacts? If so then LinkedIn can go fuck themselves.

    • 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 ...

  • Sounds more like they are "outsourcing QA to the end users".

  • by DeBaas ( 470886 ) on Saturday February 13, 2016 @04:12AM (#51499545) Homepage

    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.

     

    • Layers and layers. Many small batches do not prevent defects, they make them faster to find and correct. You are correct that many small releases are required to complete a feature, but that means early feedback from E2E test and requestor testing if that was the right future anyway so that you can stop working on a bad idea. Just because a feature is requested, it does not follow that it should be blindly implemented.
  • 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.

  • by 110010001000 ( 697113 ) on Saturday February 13, 2016 @08:20AM (#51499991) Homepage Journal
    There is no project on Earth that requires 250 developers. And yeah, the idea of continuos releases and automated testing if very common in the industry. That is what git/jenkins/buildbot does best.
  • 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?

As you will see, I told them, in no uncertain terms, to see Figure one. -- Dave "First Strike" Pare

Working...