/srv/irclogs.ubuntu.com/2013/07/14/#ubuntu-quality.txt

sm0xHey, i have a Question about ISO Testing, is there a difference between testing on testdrive and testing with a ubuntu direct installed on my physical hardware? Should we test both or is one of them enough?05:40
Noskcajsm0x, Testing on real hardware is preferred due to being able to check how hardware that people will use.05:44
NoskcajHowever any testing is great, and testdrive can probably test faster due to know setup time05:45
NoskcajRemember that testdrive will make live USBs for you to test on real hardware if you want05:46
sm0xok thanks for the answer :)05:48
sm0xhow often we should test the daily image? i think it makes not much sense when i test really every day the iso, or?05:49
Noskcajsm0x, As much as possible. I try to test three different ISOs a week. e.g. xubuntu AMD64, Ubuntu i386, Lubuntu AMD6406:09
NoskcajThat's probably a good middle ground06:09
NoskcajJust try to find as many bugs as possible06:09
sm0xok thx :)06:11
sm0xhey, one more question, when i have in the shutdown-dialog (iso testing) a few lines marked with "fail", should i report them ?07:04
Noskcajsm0x, as in once you've clicked shutdown? no, unless something breaks when you next log in07:10
NoskcajEvening e11bits07:10
Noskcajoops, i mean, elfy07:10
elfyhi Noskcaj07:10
DanChapmanMorning elfy, Noskcaj o/07:11
elfyhi DanChapman :)07:11
sm0xNoskcaj: yes, It happens directly after i see the "installation finish"-dialog -> i click on reboot (http://imagesup.net/?di=16137378288414)07:16
Noskcajsm0x, It's fine, that happens07:17
sm0xok thx :)07:19
Noskcajno problem07:20
thomiMorning all20:42
thomiWebbyIT: Did you get an answer to your question?20:42
WebbyITthomi: which question?20:42
thomi<WebbyIT> Hi all :) How can I verify, with autopilot, that an object doesn't exist?20:43
WebbyITthomi: oh yes, thanks, I used introspection :)20:43
thomicool20:43
thomiWebbyIT: you can also ask questions in #ubuntu-autopilot20:43
WebbyITthomi: oh, thanks!20:44
WebbyITthomi: BTW, this is what I answered for: https://code.launchpad.net/~rpadovani/ubuntu-calculator-app/1188703/+merge/174632 :)20:49
thomiWebbyIT: hmm, you shouldn't need to use get_root_instance like that20:52
thomiget_root_instance just returns the root of the tree - which you already have in 'self.app'20:52
WebbyITthomi: so if I use self.app is the same thing?20:53
WebbyITthomi: or there is a better way to do this?20:53
thomiWebbyIT: the thing you get back from calling 'self.launch_test_application' is the root of the tree.20:54
thomiWebbyIT: if you use select_single or select_many on that object, you're searching the entire tree20:55
thomiso yeah, you can use 'self.app' whenever you want to search the entire tree20:55
WebbyITthomi: ok, thanks, now I'm going to update my commit :)20:55
thomiI'd make a method called 'get_calc_label' that does 'self.app.select_single('CalcLabel', id=label_id)' behind the scenes20:56
thomiso you hide away the complexities of how to get that particular part of the user interface from the test code20:56
thomithat way, if/when the application updates it's internal structure, you on;ly need to change the test code in a single place20:56
WebbyITthomi: so, I have to do a get_calc_label and then something like self.assertThat(self.simple_page.get_calc_label(label_id), Equals(None)21:00
thomiWebbyIT: that sounds correct to me, yes21:01
WebbyITthomi: ok, thanks :)21:01
thomiWebbyIT: even better, use the eventually matcher, like this:21:01
thomifn = lambda: self.simple_page.get_calc_lable(label_id)21:02
thomiself.assertThat(fn, Eventually(Equals(None)))21:02
thomiif you pass a callable object into assertThat and use the eventually matcher, the matcher knows what to do :)21:03
WebbyITthomi: thanks to you, here a better implementation :D https://code.launchpad.net/~rpadovani/ubuntu-calculator-app/1188703/+merge/17463221:22
WebbyITthomi: to check if has been saved, can I use self.assertThat(label, Eventually(NotEquals(None)))?21:25
thomiWebbyIT: does the CalcLabel object name change? I'm wondering if that could be hard-coded, rather than passed in?21:31
thomiWebbyIT: also, I recommend you hide those drag operations behind a function21:33
WebbyITthomi: are you thinking to something like def get_object(self, object, label_id):?21:33
thomiWebbyIT: no, something like:21:33
thomilabel = lambda: self.simple_page.get_calc_label()21:33
thomii.e.- does 'label_id' change from one run to the next, or is it a constant?21:34
WebbyITthomi: no, it's change21:34
WebbyITthomi: is based on how many calc you have done21:34
thomiWebbyIT: ahh, ok then :)21:34
thomiWebbyIT: I'd still put those drag operations behgind a method or function though21:35
thomiWebbyIT: so instead of having this in your test code: "self.pointing_device.drag(tx + h / 3 , ty - w / 2, tx - h / 3, ty - w /2)"21:35
thomiyou can have this: "self.delete_calculation()"21:35
WebbyITthomi: good idea :)21:35
thomiwhich makes your tests a lot more readable, and means you don't need to use comments21:35
thomiWebbyIT: in general, my rule of thumb is that if I need a comment to explain what the test does, I probably need to change things to make the code more obvious :)21:36
WebbyITthomi: cool rule :) Is better implement it in test_simple_page.py or in simple_page.py?21:36
WebbyITsimple_page.py is the emulator21:37
thomiWebbyIT: I'd do it in the emulator, since this seems like something that will be used often21:38
thomiif it's something that's likely to only be used by that one test suite, I'd put it in the test suite21:38
WebbyITthomi: ok, thanks for your availability :)21:39
thomiWebbyIT: no worries - it's Monday for me anyway :)21:52

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!