[asterisk-dev] About asterisk development plans

Gavin Henry gavin.henry at gmail.com
Wed Mar 18 14:02:59 CDT 2009


Exactly.

Once something is started, we can then say that all new features must
come with a test script or it doesn't get committed.

Framework first, then small steps onwards.

Good idea and summer of code Peter!

Cheers.


On 18/03/2009, Peter Beckman <beckman at angryox.com> wrote:
> Several people on this thread have mentioned being afraid of using the
> latest "stable" release.  I too have this fear, and run an older version of
> Asterisk and refuse to upgrade, not knowing what changes to the code might
> have been made that will break my existing system.
>
> I regularly have a call with another friend who runs Asterisk in
> production, and he constantly gripes about how upgrading broke this and how
> a seemingly harmless change to the code broke a whole slew of other things.
>
> I don't really have a lot of choice to move to another platform though, and
> honestly I'm not sure changing would solve the problem.  But it is clear
> that regression testing, feature testing, and automated testing is
> something that would greatly improve the consistency and REAL and perceived
> stability of asterisk.
>
> On Wed, 18 Mar 2009, Olle E. Johansson wrote:
>
>> To show the complexity of what we're discussing:
>> Let's take blind transfer.
>>
>> Now we're up to a massive amount of tests.
>
>   In my experience, writing the code takes 1 hour, and writing good tests
>   can take 2-3 hours.
>
>   The nice thing is that once you've written the test, it's done.  You can
>   use it and run it over, and over, and over again.  You can change your
>   base code all day long, then run your 15,000 tests to see if you broke
>   anything else.
>
>   And now you have a fully reproducable way to backwards test features and
>   functionality.
>
>   On top of that, you can now ask bug submitters to write you a test that
>   causes a feature or some functionality to fail.  This helps the Digium
>   developers focus on fixing code that someone else can reproduce
>   consistently, and provide the exact code to show it.
>
>   Everyone keeps cheering for features for Googles SoC.  Here's what I want
>   -- a well documented, well thought-out automated testing suite for
>   asterisk.  Once you build it, plus a few hundred tests that test the lower
>   levels, libraries, and basic functionality, then push more testing out to
>   developers and users.  Show us "Here's how to test your dialplan" or
>   "Here's how to test your AGI" with a few examples, and we'll write tests
>   to pass or fail.
>
>> One bullet point, many, many hours of work. A lot of possibility to
>> cause a bug when you fix something else.
>
>   Sure, but if you get the test working, now you know that the code it is
>   testing is working, and the test is giving you an expected pass.  When
>   someone comes back and says "Hey Olle, it's passing the Call Pickup test
>   #32, but when it is done like this, Call Pickup fails.  Here's a test I've
>   written to demonstrate the failure."
>
>   Then Olle can look at the test, verify if the test is valid and SHOULD
>   work, then fix the code so it DOES work.  Then Olle runs the other 15,000
>   tests to make sure that the fix does not break something else Olle didn't
>   expect.  And if all tests pass, commit!
>
>   Start small.  Start with simply testing the libraries.  I started testing
>   my core function libraries and classes first.  Then I expanded to the next
>   level of libraries which combined core functionality.  Then I expanded to
>   test advanced functionality.  I didn't do it all at once, but now that I
>   have it, I can test every nook and cranny of code in my systems to make
>   sure things are working as expected.
>
> Beckman
> ---------------------------------------------------------------------------
> Peter Beckman                                                  Internet Guy
> beckman at angryox.com                                 http://www.angryox.com/
> ---------------------------------------------------------------------------
>
> _______________________________________________
> --Bandwidth and Colocation Provided by http://www.api-digital.com--
>
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-dev
>

-- 
Sent from my mobile device

http://www.suretecsystems.com/services/openldap/



More information about the asterisk-dev mailing list