[08:51] <philip_linux> Though I'm late for the class, thanks Noskcaj, very good lessons for me :)
[08:51] <philip_linux> I read the class in my history~~
[13:01] <smartboyhw> [SLIDE 1] Oh hello, good morning (if you are in the USA0, good afternoon (in UK) and good evening (in Asia)!
[13:01] <ClassBot> Slides for Using your preferred testing system with Test Cases: http://people.ubuntu.com/~smartboyhw/Ubuntu_ISO_Testing_CLASSROOM.pdf
[13:01] <ClassBot> Logs for this session will be available at http://irclogs.ubuntu.com/2013/07/01/%23ubuntu-classroom.html following the conclusion of the session.
[13:01] <smartboyhw> I'm Howard Chan (smartboyhw).
[13:02] <smartboyhw> To ask questions, please use the prefix "QUESTION:" to ask your question in #ubuntu-classroom-chat.
[13:02] <smartboyhw> We have slides this time, so do read along with me:)
[13:02] <smartboyhw> [SLIDE 2] So, who am I?
[13:03] <smartboyhw> I'm a Ubuntu QA tester, and I like ISO Testing very much
[13:03] <smartboyhw> I'm also Ubuntu Studio's Release Manager, responsible for things like making release notes, etc.
[13:03] <smartboyhw> At the same time, I'm a packager at Kubuntu.
[13:04] <smartboyhw> [SLIDE 3] OK, so here's a critical question: Why do we DO ISO testing?
[13:04] <smartboyhw> Well, what is the first thing you need to do when you want to use or try Ubuntu?
[13:04] <smartboyhw> Download one of our images from the servers, burn it to a DVD or USB, and boot it up!
[13:05] <smartboyhw> However, what if the images just aren't working? The users will get angry and won't use Ubuntu.
[13:05] <smartboyhw> This is what we NOT want.
[13:05] <smartboyhw> As ISO testers, we always want to make sure we do make the images usable and installable.
[13:06] <smartboyhw> We try to make it bug-free as most as possible. Of course, there might be some bugs that users find when we didn't find it.
[13:06] <smartboyhw> However, we seriously want most users to be able to try out and install Ubuntu.
[13:07] <smartboyhw> [SLIDE 4] Now, you need some utilities before doing ISO testing.
[13:07] <smartboyhw> First of all, it is a Launchpad account.
[13:07] <smartboyhw> If you attended balloons' session, you would have learnt the importance of a Launchpad account. It is used to login across our QA Trackers, in this case, the ISO QA Tracker, in iso.qa.ubuntu.com
[13:08] <smartboyhw> Then, you need a SPARE machine (DON'T USE YOUR DAILY MACHINE) or a Virtual Machine.
[13:08] <smartboyhw> These are needed to boot and test the images. I will talk about what kinds of Virtual Machines you can install later.
[13:09] <smartboyhw> Preferably, you should also have a Ubuntu system.
[13:09] <smartboyhw> You don't have to necessary install our development release (Saucy Salamander), however it is good to do so.
[13:10] <smartboyhw> It's also OK to use Windows or Mac OS X machines (better still for Macs as you can try out the amd64+mac) images
[13:10] <smartboyhw> And you must have an image:)
[13:10] <smartboyhw> For example, if you want to test the Ubuntu Desktop amd64 image, you have to download it.
[13:11] <smartboyhw> I will teach you what is the best way to download an image later.
[13:11] <smartboyhw> So, virtual machines.
[13:12] <smartboyhw> There are multiple kinds of Virtual Machines' software in Ubuntu's archive.
[13:12] <smartboyhw> I like to use VirtualBox, as it is fully open-source and can test images easily
[13:12] <smartboyhw> [SLIDE 5] it's available by launching a terminal and type "sudo apt-get install virtualbox"
[13:13] <smartboyhw> A software I would recommend for beginning testers though is Testdrive
[13:14] <smartboyhw> Testdrive is a utility developed originally by Canonical, then Ubuntu QA Team got more involved in the development process this cycle.
[13:14] <smartboyhw> It helps you to zsync (download and check) the image and launches the image using KVM or Virtualbox, all at one place
[13:15] <smartboyhw> "sudo apt-get install testdrive" and it's there for you!
[13:15] <smartboyhw> Also available is Virt-manager (KVM)
[13:16] <smartboyhw> A kernel-based virtualization software, it's great also.
[13:16] <smartboyhw> [SLIDE 6] there are also some things I would recommend you to do.
[13:16] <smartboyhw> One is to install zsync.
[13:19] <smartboyhw> zsync is a tool to download and check the md5sum of the image you downloaded.
[13:19] <smartboyhw> Very useful, if you don't want to re-download the image again.
[13:19] <smartboyhw> All the above utilities have specific classroom sessions done by our QA Team members.
[13:19] <smartboyhw> Find the one you want in https://wiki.ubuntu.com/Testing/Activities/Classroom/Saucy
[13:20] <smartboyhw> Also, I recommend you to make a hardware profile
[13:21] <smartboyhw> So when a bug appears and is specific to your hardware, bug triagers and developers can fix it accordingly to your hardware.
[13:21] <smartboyhw> Read the instructions in https://wiki.ubuntu.com/QATeam/Hardware to make your own hardware profile. Shouldn't take more than a minute:)
[13:22] <smartboyhw> [SLIDE 7] What sorts of images should I test?
[13:22] <smartboyhw> Basically, EVERYTHING.
[13:22] <smartboyhw> In some cases though, some images are more equal than others. :P
[13:23] <smartboyhw> Last week, we did some Alpha 1 testing on Kubuntu Desktop amd64&i386 images, Lubuntu Desktop & alternate ppc, mac, amd64 and i386 images
[13:23] <smartboyhw> Ubuntu GNOME and UbuntuKylin images
[13:23] <smartboyhw> These are to be released to the general public
[13:23] <smartboyhw> *were
[13:24] <smartboyhw> So, these images would get tested before the others.
[13:24] <smartboyhw> It doesn't really matter what image you test though.
[13:24] <smartboyhw> For example, you don't like Ubuntu with Unity, you like it with KDE.
[13:24] <smartboyhw> So you test Kubuntu images!
[13:25] <smartboyhw> If you have a Mac machine, test the amd64+mac images!
[13:25] <smartboyhw> After testing one image, test another!
[13:26] <smartboyhw> Make sure you don't test images not fitting your computer's architecture.
[13:27] <smartboyhw> For example, don't test an amd64 image in an i386 computer.
[13:27] <smartboyhw> It will fail, and it is an invalid bug:)
[13:29] <smartboyhw> [SLIDE 8] So, here's my computer spec
[13:30] <smartboyhw> Compaq Presario CQ41-203TX Notebook
[13:30] <smartboyhw> 4GB RAM, 1st-gen i5
[13:30] <smartboyhw> Running Ubuntu Saucy
[13:30] <smartboyhw> Using Virtualbox 4.2.10 to test image 20130625 (shouldn't exist now, please zsync to the latest one)
[13:31] <smartboyhw> So first of all, zsync to the the image you want to test.
[13:32] <smartboyhw> [SLIDE 8] for example, if you want to test the amd64 desktop Ubuntu image, run “zsync
[13:32] <smartboyhw> http://cdimage.
[13:32] <smartboyhw> ubuntu.com/dai
[13:32] <smartboyhw> ly-live/current/s
[13:32] <smartboyhw> aucy-desktop-a
[13:32] <smartboyhw> md64.iso.zsync
[13:32] <smartboyhw> Oops
[13:32] <smartboyhw> "zsync http://cdimage.ubuntu.com/daily-live/current/saucy-desktop-amd64.iso.zsync"
[13:33] <smartboyhw> Should take about 20 minutes if your connection is adequate:)
[13:34] <smartboyhw> Seriously, no questions? Don't be afraid to ask!
[13:36] <smartboyhw> Will stop for 5 minutes here, so you can zsync the image.
[13:41] <smartboyhw> Go to the ISO QA Tracker at http://iso.qa.ubuntu.com
[13:41] <smartboyhw> Click the login button and login using your Launchpad credentials (don't be scared by the Ubuntu One brand name:P)
[13:43] <smartboyhw> Go to "Saucy Daily"
[13:43] <smartboyhw> and click on the image you are testing
[13:43] <smartboyhw> For example, "Ubuntu Desktop amd64" for me.
[13:44] <smartboyhw> So, on that page there are many testcases
[13:45] <smartboyhw> But for me, I want to run a testcase that will install Ubuntu within a single disk
[13:45] <smartboyhw> So "Install (entire disk)" then
[13:46] <smartboyhw> Click at it, and you will enter a testcase page.
[13:46] <smartboyhw> Click at the "testcase" tab
[13:46] <smartboyhw> Look through the testcase.
[13:46] <smartboyhw> Do ask in #ubuntu-classroom-chat using QUESTION: if you don't understand the testcase.
[13:47] <smartboyhw> So, let's begin.
[13:47] <smartboyhw> Boot up the image.
[13:47] <smartboyhw> For me, it's Virtualbox.
[13:48] <smartboyhw> My VM has 1GB RAM only:)
[13:50] <smartboyhw> If you aren't following me with the same image no worries:)
[13:51] <smartboyhw> Just follow through the testcase.
[13:51] <smartboyhw> After all, our session is about "Using your preferred testing system with Test Cases"
[13:51] <smartboyhw> Now, I booted up the image, and it shows the nice screen, telling me to choose "Try Ubuntu" or "Install Ubuntu"
[13:52] <smartboyhw> The testcase tells me to click "Install Ubuntu", so I shall follow it.
[13:53] <smartboyhw> Next!
[13:53] <smartboyhw> Step 3.
[13:53] <smartboyhw> Fortunately, all the boxes are in green ticks
[13:53] <smartboyhw> \o.
[13:54] <smartboyhw> \o/ actually:P
[13:54] <smartboyhw> For the plugins and install updates ticks, it doesn't really matter. I do tick those when I test the image.
[13:55] <smartboyhw> So "Contineu" to step 5.
[13:55] <smartboyhw> s/Contineu/Continue/
[13:55] <smartboyhw> There goes the "Installation type" screen.
[13:55] <smartboyhw> The "Erase disk and install Ubuntu" radio button should be default.
[13:56] <smartboyhw> In this case, we want it;)
[13:56] <smartboyhw> So click "Install now"
[13:56] <smartboyhw> We only have 1 drive, so onto step 10.
[13:57] <smartboyhw> The timezone (if you have a valid internet connection) should be set to your city
[13:57] <smartboyhw> (Or at least, your country/region's main city"
[13:58] <smartboyhw> Click "Continue"
[13:58] <smartboyhw> Step 12: I have to check if the keyboard is correct.
[13:58] <smartboyhw> It is! English (United States)
[13:58] <smartboyhw> So "continue"
[13:58] <smartboyhw> Step 14, the details screen.
[13:58] <smartboyhw> I entered the details
[13:59] <smartboyhw> And clicked "continue"
[13:59] <smartboyhw> Now, wait for the installation to continue. The slideshow should appear.
[13:59] <smartboyhw> I mean, the installation slideshow featuring new features of 13.04 (not 13.10, the responsible guys hasn't made it yet)
[14:00] <smartboyhw> Now, if you have any bugs, do report it.
[14:00] <smartboyhw> launch a terminal by pressing Ctrl+Alt+T
[14:00] <smartboyhw> For the installer, type "ubuntu-bug ubiquity"
[14:01] <smartboyhw> If you can't boot the image itself, type "ubuntu-bug syslinux"
[14:01] <smartboyhw> (Of course, in this case, type it in your host computer)
[14:01] <smartboyhw> If there are graphics problems, type "ubuntu-bug xorg"
[14:01] <smartboyhw> Make sure you login using your Launchpad account, and provide enough details.
[14:02] <smartboyhw> See https://wiki.ubuntu.com/QATeam/Overview/Install_Bugs
[14:02] <smartboyhw> It's for reporting bugs in a VM.
[14:03] <smartboyhw> Don't worry if you're unsure, just report it. Bug triagers will help determine if the bug is valid:)
[14:05] <smartboyhw> Guys, don't be afraid to ask questions, raise it up in #ubuntu-classroom-chat with prefix "QUESTION: "
[14:07] <smartboyhw> [SLIDE 21] Now the installation finished for me
[14:07] <smartboyhw> I clicked "Reboot now"
[14:07] <smartboyhw> It asks you to remove the installation media
[14:07] <smartboyhw> Press "enter"
[14:08] <smartboyhw> it should reboot.
[14:08] <smartboyhw> And when it reboots, it will show a beautiful Ubuntu login scren!
[14:08] <smartboyhw> *screen!
[14:09] <smartboyhw> Login and the Unity should appear:)
[14:11] <smartboyhw> OK, now, back into the ISO QA Tracker.
[14:11] <smartboyhw> [SLIDE 24] It's time to report our result
[14:14] <smartboyhw> Sorry guys,
[14:14] <smartboyhw> got someproblems with my computer
[14:15] <smartboyhw> Back to the results
[14:15] <smartboyhw> If it is a pass, click Passed
[14:15] <smartboyhw> Fail = "Failed"
[14:15] <smartboyhw> For failed results, input the bug number of the bug you reported into the "Critical bugs" section
[14:16] <smartboyhw> If it passed but still has bugs, input in the "Bugs" section
[14:16] <smartboyhw> Leave a comment on how it works
[14:17] <smartboyhw> And also, input the hardware profile link you pastebined earlier using the wiki page's instructions.
[14:17] <smartboyhw> Click "Submit result"
[14:17] <smartboyhw> That's it!
[14:18] <smartboyhw> [SLIDE 26] There are some special images you can pay attention to.
[14:18] <smartboyhw> PowerPC images
[14:18] <smartboyhw> These images are normally under-tested.
[14:18] <smartboyhw> However they exist for Ubuntu, Lubuntu and Kubuntu.
[14:19] <smartboyhw> If you have a PowerPC computer (like the Apple G3 or G5), do help!
[14:20] <smartboyhw> Ubuntu Touch Images.
[14:20] <smartboyhw> balloons, I think you should weigh in on this one...
[14:21] <ClassBot> Skini151 asked: If my VM results is different from real machine results, what should i do in this case?
[14:22] <smartboyhw> Skini151, well, if it's unreasonable for the results of one machine to happen in the other, report a bug.
[14:22] <smartboyhw> Even the same machine, Skini151
[14:23] <smartboyhw> Treat a Virtual Machine a bit independent.
[14:23] <smartboyhw> BTW, only use VMs in alpha testing.
[14:23] <smartboyhw> For Betas and Release Candidates, we want REAL machines.
[14:23] <smartboyhw> balloons, can you talk about the Touch images please?
[14:24] <balloons> Ubuntu Touch Images are produced by the phablet team for a series of nexus devices
[14:25] <balloons> originally based on quantal the images have been updated to raring and now saucy :-)
[14:25] <balloons> You can find a series of testcases designed around the images that are specific to each piece of nexus hardware
[14:25] <smartboyhw> The devices are Samsung Galaxy Nexus, Nexus 4, Nexus 7 and Nexus 10.
[14:26] <balloons> Downloading and installing a ubuntu touch image on one of the devices requires a few things
[14:26] <balloons> you need to ensure the bootloader is unlocked first, which is a one time step
[14:27] <smartboyhw> *THIS WILL END YOUR DEVICES' WARRANTY THOUGH"
[14:27] <balloons> Once unlocked you can install anything you wish on the device, including restoring android if you wish :-)
[14:28] <balloons> the phablet team maintains a ppa of tools for flashing here:
[14:28] <balloons> sudo add-apt-repository ppa:phablet-team/tools
[14:28] <balloons> you can then install sudo apt-get install phablet-tools android-tools-adb android-tools-fastboot in order to get the adb bits you need along with the phablet-tools created by the team
[14:29] <balloons> running phablet-flash will then enable you to flash the device, and keep it up to date with new images
[14:29] <balloons> Full details on installing on a device can be found here: https://wiki.ubuntu.com/Touch/Install
[14:29] <smartboyhw> Thanks balloons :)
[14:30] <smartboyhw> Then, off to mininal installation images
[14:30] <smartboyhw> These are called mini.iso images
[14:30] <smartboyhw> They don't reside on our normal daily image repository in cdimage.ubuntu.com
[14:30] <smartboyhw> Instead, they reside on archive.ubuntu.com
[14:30] <smartboyhw> Since they are built off from one package: debian-installer
[14:30] <smartboyhw> These images are the minimal environment you needed to install Ubuntu.
[14:31] <smartboyhw> You can use tasksel to install whatever you want. Ubuntu + Kubuntu + Lubuntu is possible
[14:31] <smartboyhw> And finally, flavour images.
[14:31] <smartboyhw> Official flavours are those distributions that are based off from packages within the Ubuntu archie
[14:32] <smartboyhw> *archive
[14:32] <smartboyhw> They are: Kubuntu, Edubuntu, Xubuntu, Ubuntu Studio, Mythbuntu, Lubuntu, Ubuntu GNOME and UbuntuKylin
[14:32] <smartboyhw> These flavours are always under-manpower
[14:32] <smartboyhw> Especially when it's time to test images
[14:33] <smartboyhw> A normal QA tester doesn't only test Ubuntu images, he/she also spends testing time on these flavours too.
[14:33] <smartboyhw> so, help them! Go to their development IRC channel and subscribe to their development mailing list.
[14:33] <smartboyhw> That's a kickstart point.
[14:37] <smartboyhw> OK, so some hints
[14:37] <smartboyhw> [SLIDE 27] If you see testcases that are marked "Mandatory", run these first.
[14:38] <smartboyhw> These are very important testcases.
[14:38] <smartboyhw> Then run the "Run-once"
[14:38] <smartboyhw> Finally the "optional"
[14:38] <smartboyhw> Don't hesitate to report any bug you find, even if it doesn't make sense to others.
[14:38] <smartboyhw> Try run some testcases at the same time.
[14:39] <smartboyhw> For example, do the "Live session" with the "Install (entire disk)"
[14:39] <smartboyhw> These testcases don't contradict:)
[14:40] <smartboyhw> [SLIDE 28] We have some useful resources
[14:40] <ClassBot> Skini151 asked: When will start beta testing?
[14:40] <smartboyhw> https://wiki.ubuntu.com/SaucySalamander/ReleaseSchedule
[14:41] <smartboyhw> For Ubuntu, it will only participate in Beta 2 and RC, so that will start around 25th September.
[14:41] <smartboyhw> However most (if not all) flavours will participate in Beta 1
[14:41] <smartboyhw> Which is 3 weeks earlier
[14:41] <smartboyhw> The resources:
[14:42] <smartboyhw> https://wiki.ubuntu.com/Testing/ISO/Walkthrough
[14:42] <smartboyhw> This is a guide to test ISO images. It also includes a link to balloons's video on testing.
[14:43] <smartboyhw> Contact us through ubuntu-quality@lists.ubuntu.com (do subscribe to us) and also through IRC in #ubuntu-quality
[14:44] <smartboyhw> That's it for today, we hope to see you guys next time!!! And PLEASE help us to test ISO images!!!
[14:50] <ClassBot> There are 10 minutes remaining in the current session.
[14:55] <ClassBot> There are 5 minutes remaining in the current session.
[15:00] <ClassBot> Logs for this session will be available at http://irclogs.ubuntu.com/2013/07/01/%23ubuntu-classroom.html
[16:01] <chilicuil> Hello everyone, my name is Javier Lopez: http://wiki.ubuntu.com/~chilicuil
[16:01] <ClassBot> Logs for this session will be available at http://irclogs.ubuntu.com/2013/07/01/%23ubuntu-classroom.html following the conclusion of the session.
[16:01] <chilicuil> I'm here today to talk a little bit about bzr and its correlation with the Ubuntu QA team
[16:01] <chilicuil> bzr usage is not limited to the QA team, virtually every Ubuntu team depends on it
[16:02] <chilicuil> so having a clue of how to use it proves helpful in the case you're interested in joining the Ubuntu family
[16:02] <chilicuil> technically bzr (or bazaar) is a distributed revision control system
[16:02] <chilicuil> DRCSs are systems which allow you to manage the storage and distribution of files (mostly code) to many people
[16:03] <chilicuil> when using a DRCS you get automatic backups, ease to modify files of different persons, freedom to experiment, and more good things, http://en.wikipedia.org/wiki/Distributed_revision_control
[16:03] <chilicuil> bzr is only one alternative of the many DRCSs available today, other choices are: git, hg, darcs, etc
[16:03] <chilicuil> in Ubuntu almost all source packages can be fetched from bzr
[16:04] <chilicuil> and in the QA team, we maintain and develop the Ubuntu testcases with bzr
[16:04] <chilicuil> I'll continue with a focus in the QA activities and some practical examples
[16:04] <chilicuil> if you don't understand any step or technical word please let me know and I'll be happy to stop and try to explain
[16:05] <chilicuil> so, let's take this case, you've had wonderful evenings using Ubuntu and now you're interested in giving something back to the community
[16:05] <chilicuil> you've joined the QA team and decided you want to help with the Ubuntu manual testcases suite
[16:05] <chilicuil> this example however will work if you're interested in helping in other areas, docs, code, or design -- as far as a project gets tracked by launchpad
[16:05] <chilicuil> since you're starting you probably just wanna take a look and see if there's anything wrong such as a typo or a bad redaction
[16:06] <chilicuil> on this scenario you will eventually reach https://launchpad.net/ubuntu-manual-tests , and more specifically, https://code.launchpad.net/ubuntu-manual-tests
[16:06] <chilicuil> there you'll see instructions to download full source code (hint: bzr branch...), and a list of branches
[16:06] <chilicuil> those branches are differentials between the official source code (lp:ubuntu-manual-tests) and the branches themselves (e.g. lp:~noskcaj/ubuntu-manual-tests/parole)
[16:06] <chilicuil> so, let's start by downloading the code:
[16:07] <chilicuil>     $ bzr branch lp:ubuntu-manual-tests
[16:07] <chilicuil> if you don't have bzr, you'll need to install it, or ssh ubuntu@vps.javier.io, pass=ubuntu
[16:07] <chilicuil>     $ sudo apt-get install bzr
[16:07] <chilicuil> while the above command finish, we'll inform bzr who we are
[16:08] <chilicuil> we do this to allow bzr write complete reports about who changed what in our projects, we also do it because bzr will reject to work if we don't complete this information =P
[16:08] <chilicuil>     $ bzr whoami "Your Name <your.mail@domain.com>"
[16:09] <chilicuil> once the bzr branch command finish, you'll see a 'ubuntu-manual-tests' directory, there you'll have the whole project
[16:09] <chilicuil> inside of it, if you execute 'ls -lah', you'll notice a .bzr directory
[16:10] <chilicuil> the .bzr directory is the place where all the bzr information is saved, it's better not to play with it
[16:10] <chilicuil> so, now that we have the code, we can start by taking a look at the files and history, we can see what changes had been done and by whom over the time
[16:10] <chilicuil>     $ bzr log | less
[16:10] <chilicuil> and you'll see a couple of interesting fields
[16:11] <chilicuil> my output looks like this: http://sprunge.us/XjFK
[16:11] <chilicuil>   * revno (aka revision): these numbers are spots where specific changes were done and saved, for example, we can go and see how this repository looked at revno #1 and go back to compare with the current status
[16:12] <chilicuil> in other terminal, go to the 'ubuntu-manual-tests' directory and execute:
[16:12] <chilicuil>     $ bzr revert -r1 #you'll see a list of files who were modified, added or removed, compared to the last version
[16:12] <chilicuil>     $  ls testcases/packages/ | wc -l
[16:12] <chilicuil>     24
[16:13] <chilicuil> 24 is the number of tests and dirs the package section had when the project was exported for the first time to launchpad
[16:13] <chilicuil> now, if we go back to the present
[16:13] <chilicuil>     $ bzr revert
[16:13] <chilicuil>     $ ls testcases/packages/ | wc -l
[16:13] <chilicuil>     50
[16:13] <chilicuil> you'll see there has been a progress =), so bzr and DRCS are like time machines for files, you can go to any of the revision number and see how it looked at that moment
[16:14] <chilicuil> there are more interesting information in the 'bzr log | less' command
[16:14] <chilicuil>  * committer: the person which introduced a revision (or whom to blame =P)
[16:14] <chilicuil>  * branch nick: the name of the tree of changes, yep, you can have different trees with full revisions stacks @_@
[16:14] <chilicuil>  * timestamp: change time
[16:14] <chilicuil>  * message: a description of the change
[16:15] <chilicuil> so, now that we've looked around, we could review the current files and see if we can find anything wrong
[16:15] <chilicuil> let's open "testcases/packages/1424_Nautilus\ Tests"
[16:15] <chilicuil> if we look at it you'll see that this file have an specific format (more of it in the next session)
[16:16] <chilicuil> right now we're only change some references from Nautilus to Files, as you know Nautilus was renamed to Files and this testcase hasn't been updated
[16:16] <chilicuil> let's do it, change every reference from Nautilus to Files, I'll wait a couple of minutes
[16:20] <chilicuil> now we can see our changes by running:
[16:20] <chilicuil>     $ bzr diff
[16:21] <ClassBot> There are 10 minutes remaining in the current session.
[16:21] <chilicuil> mine looks like this: http://sprunge.us/SKAb
[16:21] <chilicuil> The '-' list the old data while the '+' show the updated information, if everything looks ok, we can create one of those nice snapshots in time called revno or revisions
[16:21] <chilicuil>     $ bzr commit -m "description here"
[16:21] <chilicuil>     ...
[16:21] <chilicuil>     Committed revision 143
[16:21] <chilicuil> after doing it, if you run: bzr diff, this time bzr won't print anything, this happens because our changes have been saved and we're currently in the head of the tree
[16:21] <chilicuil> this doesn't mean we won't be able to view again what our changes were, we can look at them (again) if we run:
[16:22] <chilicuil>     $  bzr diff -r142..143 #143 was our revision
[16:22] <chilicuil> the same command can be run to know the changes between two random revisions
[16:22] <chilicuil> now, let's imagine that during our edit session we wrote Fils instead of Files in one of the many Nautilus changes
[16:22] <chilicuil> in that case, we can uncommit our work, fix the botched job and commit it again:
[16:22] <chilicuil>     $ bzr uncommit
[16:22] <chilicuil>     # fix the typo
[16:22] <chilicuil>     $ bzr commit -m "Description"
[16:22] <chilicuil> Now we're in a stage where our work can be shared with others
[16:22] <chilicuil> till now, we've only modified local files and the snapshots had been taken in our system
[16:22] <chilicuil> so, the first step to do is to upload our branch to lp
[16:23] <chilicuil> however in order to communicate with launchpad we need to setup our ssh public key(s): https://launchpad.net/~chilicuil/+editsshkeys
[16:23] <chilicuil> if you don't have a ssh key, you can create one with the following command:
[16:23] <chilicuil>     $ ssh-keygen #and pressing enter till you get back the terminal prompt
[16:23] <chilicuil> after exporting your ssh key, you'll need to tell launchpad who you are:
[16:23] <chilicuil>     $  bzr launchpad-login your_nickname
[16:23] <chilicuil> if you completed these two steps, you'll be able to communicate safety with lp, let's upload our changes:
[16:23] <chilicuil>     $ bzr push lp:~chilicuil/ubuntu-manual-tests/rename-nautilus-to-files
[16:23] <chilicuil> as you can see, the path we're using to push the files is not random
[16:23] <chilicuil> first, it has our username associated, ~chilicuil, after that, it's the name of the project we want to contribute, in this case it is 'ubuntu-manual-tests', and finally it has a name we selected for our branch
[16:23] <chilicuil> take in consideration that if you look at http://help.launchpad.net, you could see references to 'junk' branches
[16:24] <chilicuil> for example here: https://help.launchpad.net/Code/PersonalBranches
[16:24] <chilicuil>     $ bzr push ~chilicuil/+junk/rename-nautilus-to-files
[16:24] <chilicuil> the syntax is very similar, however when uploading to junk branches you won't be able to request merges (that is the possibility to copy your changes to another project)
[16:24] <chilicuil> t's a common mistake to upload to a junk branch when what you really want is to upload and then request a merge
[16:24] <chilicuil> so, finally, if your code has been imported, you can request a merge by using the command:
[16:24] <chilicuil>     $ bzr lp-propose #or going directly to your branch in launchpad and select 'Propose for merging'
[16:24] <chilicuil> other people working in the same project will get your changes by branching the original project (where your changes will land) or using 'bzr pull' to update their branches with the 'master' tree
[16:25] <chilicuil> so basically that's how we work in the QA team
[16:25] <chilicuil> there many other commands and ways to use bzr, and people in #ubuntu-quality is familizared with it, so feel free to join us and ask, there also good resources online:
[16:25] <chilicuil>  * http://doc.bazaar.canonical.com/latest/en/mini-tutorial/
[16:25] <chilicuil>  * http://doc.bazaar.canonical.com/bzr.2.5/en/
[16:25] <chilicuil> if you already know git, you can start here: http://doc.bazaar.canonical.com/migration/en/survival/bzr-for-git-users.html
[16:25] <ClassBot> There are 5 minutes remaining in the current session.
[16:26] <chilicuil> I think that's all, any question?
[16:29] <chilicuil> ok, if there is none, I'll end this session right now and will get back in 5 minutes to continue with the next one (ubuntu-manual-testcase collaboration) thanks a lot for following the session (or reading it later)
[16:31] <ClassBot> Logs for this session will be available at http://irclogs.ubuntu.com/2013/07/01/%23ubuntu-classroom.html following the conclusion of the session.
[16:33] <chilicuil> I'm back =P!, on this session I'll talk about the ubuntu-manual-testcase suit and how to contribute to it
[16:34] <chilicuil> this will be a full interactive session, so feel free to launch your terminal and get your launchpad credentials
[16:34] <chilicuil> I'll be doing live edition in ssh ubuntu@vps.javier.io pass=ubuntu, feel free to connect
[16:34] <chilicuil> the ubuntu-manual-testcase: https://launchpad.net/ubuntu-manual-tests
[16:34] <chilicuil> is where the packages.qa.ubuntu.com and iso.qa.ubuntu.com testcases live
[16:34] <chilicuil> from lp they're exported to *.qa.ubuntu.com where are consumed by testers during the cadence weeks: https://wiki.ubuntu.com/Testing/Cadence/
[16:35] <chilicuil> it's an extremely easy way to get started with the Ubuntu family and more specifically with the QA team
[16:35] <chilicuil> if you followed the bzr session you'll already have an 'ubuntu-manual-tests' directory in you $HOME
[16:35] <chilicuil> if you didn't follow it, you can fetch the complete project with this command:
[16:35] <chilicuil>     $ bzr branch lp:ubuntu-manual-tests
[16:35] <chilicuil> once you have the project, we can open any of the testcases
[16:36] <chilicuil> but first let's go to: http://packages.qa.ubuntu.com/qatracker/milestones/281/builds/47603/testcases/1422/results
[16:36] <chilicuil> and then to 'Testcase' to see how testcases actually look when deployed
[16:36] <chilicuil> in my computer it looks like this: http://i.imgur.com/zo32w8l.png
[16:37] <chilicuil> now, let's open the testcase file: testcases/packages/1424_Nautilus\ Tests
[16:38] <chilicuil> now, you'll see that this file is mostly and html one
[16:39] <chilicuil> all manual testcases get differente sections, each one defined by the 'Test-case name: app/TC-SHORTCODE-NUMBER'
[16:40] <chilicuil> when creating a new testcase you don't need to worry by the testcase number, people will assign one to it once it gets merged
[16:41] <chilicuil> so, after the first line, which is Test-case name: nautilus/TC-NFM-001 (to define that what follows is the first test of the Nautilus testcase suite)
[16:42] <chilicuil> follows a short description of what the test will try to prove, on this case it will try to verify if Nautilus (now Files) is able to create new files, which is a very basic feature expected from a file manager
[16:44] <chilicuil> tests can depends in others to test functionallities, for instance, if we're gonna write a test to check if Nautilus can change the name of a file, it can depend of the creation of that file, the sintax is: depends: app/TC-SHORTCODE-NUMBER
[16:45] <chilicuil> once described the test, follows the actual steps to verify if the desired behavior works or not
[16:46] <chilicuil> as you can see it has an specific format, which is basically, dl tags for the complete test, <dt> tags for steps, and <dd> for expected results
[16:48] <chilicuil> when creating new manual testcases, it's recommended that you start by write down all the desired results and steps in plain text, and format it at the end
[16:50] <chilicuil> required testcases are filled as bugs in https://bugs.launchpad.net/ubuntu-manual-tests/+bugs, currently we're trying to test the functionallity of all default applications in Ubuntu and derived Ubuntu flavors
[16:50] <chilicuil> that's why there are many new reports opened
[16:50] <ClassBot> There are 10 minutes remaining in the current session.
[16:51] <chilicuil> feel free to grab anyone if you feel confortable with the usage of one default ubuntu application
[16:51] <chilicuil> right now, I'll take a look at https://bugs.launchpad.net/ubuntu-manual-tests/+bug/1183929
[16:52] <chilicuil> which is a report who tracks the status of the konsole testcase, konsole is the default X terminal emulator for KDE
[16:53] <chilicuil> when creating a testcase, you must do it in an ubuntu development version, right now in an ubuntu saucy env
[16:54] <chilicuil> you can use virtualbox, an spare machine or a chroot to run safety the ubuntu dev version: https://wiki.ubuntu.com/UsingDevelopmentReleases
[16:54] <chilicuil> what I'll do right now is to open a new instance of pbuilder, $ sudo DIST=saucy ARCH=i386 pbuilder login
[16:54] <chilicuil> install konsole, and then run it
[16:55] <chilicuil> I'll take as a reference testcases/packages/1422_Gnome\ Terminal\ Tests
[16:55] <ClassBot> There are 5 minutes remaining in the current session.
[16:57] <chilicuil> so if we go back to our online environment, you can see how I do it, I'll open both files, testcases/packages/1422_Gnome\ Terminal\ Tests and a new testecase file for Konsole, testcases/packages/Konsole\ Terminal\ Tests
[17:00] <chilicuil> so, I'll start by adding: Test-case name: konsoleterminal/kter-001 and then a description
[17:00] <chilicuil> http://pastebin.ubuntu.com/5817319/
[17:00] <ClassBot> Logs for this session will be available at http://irclogs.ubuntu.com/2013/07/01/%23ubuntu-classroom.html
[17:09] <chilicuil> for now, I'll only complete the first testcase so I can show you how to send those changes to the ubuntu-manual-tests project
[17:10] <ClassBot> Logs for this session will be available at http://irclogs.ubuntu.com/2013/07/01/%23ubuntu-classroom.html following the conclusion of the session.
[17:10] <chilicuil> however the more detailed one testcase can be done the better
[17:11] <chilicuil> right now my testcase file looks like this: http://pastebin.ubuntu.com/5817338/
[17:11] <chilicuil> when we start working on a testcase it's a good idea to assign the report which tracks the status to ourselves
[17:12] <chilicuil> on this example, I'll assign the Konsole testcase to me, you can do it by going to the launchpad report and click the 'unassigned' button and then 'Assign me'
[17:13] <chilicuil> now, going back to our tree if we run: $ bzr status
[17:14] <chilicuil> we'll see that our file figures as: Unkown, that's because it has not been added to the tree, is a complete new testcase!
[17:14] <chilicuil> we can add it by running: $ bzr add 'testcases/packages/Konsole Terminal Tests'
[17:14] <chilicuil> and then: $ bzr commit -m "New Konsole testcase"
[17:17] <chilicuil> and after adding to the local tree, we can share it to the world with: $ bzr push lp:~chilicuil/ubuntu-manual-tests/new-konsole-testcase
[17:20] <chilicuil> now if you go to your launchpad profile, to the code section, https://code.launchpad.net/~ you'll see the branch you've just pushed
[17:20] <ClassBot> There are 10 minutes remaining in the current session.
[17:21] <chilicuil> in my case it's here: https://code.launchpad.net/~chilicuil/ubuntu-manual-tests/new-konsole-testcase
[17:21] <chilicuil> so, I'm gonna propose the change and add a description, which may be as simple as: Adds Konsole Testcase
[17:22] <chilicuil> now, it'll get review and probably approved by one of the testcase admins: https://code.launchpad.net/~chilicuil/ubuntu-manual-tests/new-konsole-testcase/+merge/172372
[17:23] <chilicuil> as we know that handling html tags can be troublesome, we created a script which will let you know if your testcase is ready for review: https://wiki.ubuntu.com/QATeam/ContributingTestcases/ManualStyleGuide/test_case_format_script
[17:24] <chilicuil> ensure you run it before actually pushing to the ubuntu-manual-tests project
[17:25] <chilicuil> we're always open to new contributors so if by any change you feel like contributing to the ubuntu-testcase suite join us at #ubuntu-quality and let us know
[17:25] <chilicuil> there is also a nice tutorial step by step here: https://wiki.ubuntu.com/QATeam/ContributingTestcases/Manual in case this session were horrible for you
[17:25] <ClassBot> There are 5 minutes remaining in the current session.
[17:29] <chilicuil> QUESTION: how do I know what applications need tests?
[17:29] <chilicuil> right now we're focusing in the default ubuntu applications, you can get a full list here: https://bugs.launchpad.net/ubuntu-manual-tests/+bugs, you can assign any of them
[17:30] <chilicuil>  QUESTION: How do I know what to test in my testcase?
[17:30] <chilicuil> at the beggining you can focus in the more obvious features, however the more detailed the better
[17:30] <chilicuil> we intend to really improve the ubuntu quality
[17:30] <ClassBot> Logs for this session will be available at http://irclogs.ubuntu.com/2013/07/01/%23ubuntu-classroom.html