I have read alot about TTD, both in school and in persistent articles. I've used it to develop a small gui based game, and I can say that I liked the flow once I was used to it. I used JUnit & Eclipse, and that was all that was needed the whole time.
So when it comes to elementary dev, and vala/gtk/linux dev in general, I'd be interested in reading/learning how to write unit test (suites) for vala in respects to both CI, a la Launchpad, packaging, and moreso in an IDE. On 27 April 2013 07:48, Craig <webe...@gmail.com> wrote: > I agree wholeheartedly. And as Cassidy mentioned, we can use scratch as > the incubation project. Would any devs be interested in volunteering to > learn? Jaap, would you be interested in helping instruct? > On Apr 26, 2013 3:25 PM, "Jaap Broekhuizen" <jaap...@gmail.com> wrote: > >> I also think implementing Behavorial testing (applying BDD) is very >> relevant for us, as we are focussing a lot on user interface and >> interaction. >> >> So imo we should start on a project which we can use as a playground for >> both unit an behavorial testing. >> >> Does anyone know of good vala bdd frameworks? >> >> Jaap >> Op 26 apr. 2013 22:21 schreef "Cassidy James" <cass...@elementaryos.org> >> het volgende: >> >>> I don't think we need any convincing; everything I've heard from the >>> devs is that we need to do this. It's just a matter of figuring out a >>> common way of doing it. >>> >>> Craig, a relatively small/new project that could use testing is the new >>> Scratch or even the new work going on with Contractor. Both are (from what >>> I understand) fresh codebases and now might be the time to work on tests. >>> I recommend you hop into #elementary-dev and work with the devs on getting >>> some tests worked out. >>> >>> Regards, >>> Cassidy >>> On Apr 26, 2013 11:04 AM, "Pál Dorogi" <pal.dor...@gmail.com> wrote: >>> >>>> I dunno, I am a newbie here. >>>> >>>> On 26 April 2013 22:24, Craig <webe...@gmail.com> wrote: >>>> > That's exactly what I'd like to know: how can I help. I can try and >>>> post >>>> > some tutorials, but I'd like to know who is interested and what the >>>> > development community already knows. >>>> > >>>> > On Apr 26, 2013 6:39 AM, "Pál Dorogi" <pal.dor...@gmail.com> wrote: >>>> >> >>>> >> Hi Craig, >>>> >> >>>> >> I agree 100% /w you, but I think you should write some tutorials and >>>> >> post them in your blog, if you have any. But in my opinion that the >>>> >> human beings do not like "re-learn" things and the real OOP, Design >>>> >> Patterns, SOLID, TDD etc. etc. are very steep and time for a non-real >>>> >> OOP/DP experienced Programmer/Developer. >>>> >> Also, the learning curve is very steep for these advanced stuffs and >>>> >> needs long time to get there. But, nobody would not know how good are >>>> >> they until haven't learnt and used those stuffs, would they?.:) >>>> >> >>>> >> I did sine similar things, getting some new fresh things (TDD, >>>> >> MvvM/Presentation Model Design Pattern) to programming in Vala >>>> >> >>>> >> (( >>>> http://ilapstech.blogspot.com/2013/04/advanced-programming-in-vala-dafs.html >>>> ) >>>> >> but you should keep in mind that this kind of new things (TDD, DP, >>>> >> SOLDI, MVVM etc. etc.) are like evolution (evolution in Programming) >>>> >> which needs some time to get it succeeded (or failed).:) >>>> >> >>>> >> On 26 April 2013 20:36, Craig <webe...@gmail.com> wrote: >>>> >> > Hello everyone, >>>> >> > >>>> >> > I'm just leaving San Jose after having spent a week listening to a >>>> lot >>>> >> > of >>>> >> > smart people talk about, among other things, Test Driven >>>> Development >>>> >> > (TDD). >>>> >> > I know I keep harping on this, but among the people who write the >>>> >> > coolest, >>>> >> > best software (and other average software folks) TDD is seen as >>>> >> > absolutely >>>> >> > critical. I can't point to anything other discipline in the >>>> software >>>> >> > world >>>> >> > that is of comparable importance. And here's why: >>>> >> > >>>> >> > When we start writing software, we can manage it with a couple of >>>> >> > developers, perhaps all the way up through the first release; >>>> however, >>>> >> > as we >>>> >> > add features, our software becomes more complex. It's hard for us >>>> to >>>> >> > remember what parts of our programs worked well before and what >>>> parts >>>> >> > are >>>> >> > broken. We often make changes to the underlying architecture to >>>> >> > facilitate a >>>> >> > new feature, but we're not exactly sure if in doing so, we broke an >>>> >> > existing >>>> >> > feature. And we'll of course do a little ad hoc manual testing to >>>> verify >>>> >> > that things still work, but we're only going to really check 5-10% >>>> of >>>> >> > the >>>> >> > code that we most suspect would break. And even if we do power >>>> through, >>>> >> > we're only going to ever check 60-70% of the code, and it's all a >>>> very >>>> >> > slow, >>>> >> > unreliable process. Soon we spend all of our time fighting bugs >>>> and we >>>> >> > can >>>> >> > never get around to any interesting work. Does this pattern sound >>>> >> > familiar? >>>> >> > >>>> >> > With TDD, you write a simple, small test for every piece of >>>> interesting >>>> >> > code >>>> >> > you write, and every time you rebuild the project, all of your old >>>> tests >>>> >> > run. If you're writing good tests, you can be assured that all of >>>> your >>>> >> > code >>>> >> > works as you intend it to every single time you build, and if >>>> someone >>>> >> > merges >>>> >> > in a bug, it will be caught immediately (and the test that fails >>>> will >>>> >> > give >>>> >> > you some good information about what broke/where the bug is >>>> hiding). >>>> >> > >>>> >> > Of course, it takes time to write tests; however, it's still much >>>> less >>>> >> > time >>>> >> > than you would spend debugging your code. Furthermore, when you >>>> write >>>> >> > tests >>>> >> > before you write your production code, you are forced to design >>>> your >>>> >> > code >>>> >> > modularly just to make it testable. Among software professionals, >>>> TDD is >>>> >> > seen as the fastest way to write software. I mean, Luna has been >>>> 90% >>>> >> > complete for 90% of its development cycle, and this is a common >>>> pattern >>>> >> > in >>>> >> > the software world. >>>> >> > >>>> >> > With all of this in mind, I'd like to know how I can help you guys >>>> start >>>> >> > practicing TDD? If this hasn't persuaded you, I'd appreciate it if >>>> you >>>> >> > would >>>> >> > respond and give your perspective so we can talk about it. I'm very >>>> >> > interested in seeing you guys continue to put out great software, >>>> but >>>> >> > I'm >>>> >> > concerned that as you write more code, you're going to be creating >>>> more >>>> >> > for >>>> >> > yourselves to maintain and the amount of time you spend writing new >>>> >> > software >>>> >> > is going to drop off exponentially as the complexity (as complexity >>>> >> > produces >>>> >> > bugs) increases. >>>> >> > >>>> >> > Please let me know if/how I can help you. >>>> >> > >>>> >> > Craig >>>> >> > >>>> >> > -- >>>> >> > Mailing list: https://launchpad.net/~elementary-dev-community >>>> >> > Post to : elementary-dev-community@lists.launchpad.net >>>> >> > Unsubscribe : https://launchpad.net/~elementary-dev-community >>>> >> > More help : https://help.launchpad.net/ListHelp >>>> >> > >>>> >>>> -- >>>> Mailing list: https://launchpad.net/~elementary-dev-community >>>> Post to : elementary-dev-community@lists.launchpad.net >>>> Unsubscribe : https://launchpad.net/~elementary-dev-community >>>> More help : https://help.launchpad.net/ListHelp >>>> >>> >>> -- >>> Mailing list: https://launchpad.net/~elementary-dev-community >>> Post to : elementary-dev-community@lists.launchpad.net >>> Unsubscribe : https://launchpad.net/~elementary-dev-community >>> More help : https://help.launchpad.net/ListHelp >>> >>> >> -- >> Mailing list: https://launchpad.net/~elementary-dev-community >> Post to : elementary-dev-community@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~elementary-dev-community >> More help : https://help.launchpad.net/ListHelp >> >> > -- > Mailing list: https://launchpad.net/~elementary-dev-community > Post to : elementary-dev-community@lists.launchpad.net > Unsubscribe : https://launchpad.net/~elementary-dev-community > More help : https://help.launchpad.net/ListHelp > >
-- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp