eGov Testing Machine to ensure Free Software users freedom
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 90 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/40280 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSDEM 201360 / 90
2
5
8
10
12
13
14
15
17
19
21
24
25
28
29
31
32
34
36
39
40
43
44
46
50
51
52
54
55
57
58
62
65
66
67
78
79
87
88
00:00
Multiplication signBitGoodness of fitSoftwareFreewareSystem programmingProjective planeOpen setDifferent (Kate Ryan album)Self-organizationElectronic GovernmentLecture/Conference
00:49
Smart cardService (economics)Electronic GovernmentDifferent (Kate Ryan album)Service (economics)JSONXML
01:05
Statistical hypothesis testingMemory cardService (economics)BitPlastikkarteMultiplication signType theorySystem programmingWebsiteLecture/Conference
02:24
Smart cardWeb serviceLevel (video gaming)PasswordPlastikkarteForm (programming)Level (video gaming)Local ringPlastikkartePasswordEmailAddress spaceService (economics)Type theoryOffice suiteCartesian coordinate systemComputer animation
03:01
Type theoryService (economics)Category of beingMultiplication signLecture/Conference
03:17
Web serviceIntermediate value theoremService (economics)Client (computing)System programmingOpen sourceDivision (mathematics)Projective planeOpen setLatent heatFreewareDistribution (mathematics)System programmingWordSoftwareStatistical hypothesis testingBoss Corporation
03:58
Service (economics)System programmingService (economics)Electronic GovernmentStatistical hypothesis testingLecture/Conference
04:14
Statistical hypothesis testingService (economics)Electronic GovernmentSystem programmingClient (computing)Open sourceOpen setStandard deviationVirtual machineImplementationStatistical hypothesis testingVideoconferencingProjective planeTouchscreenService (economics)XML
04:33
Process (computing)Backup
05:03
SoftwarePlastikkarteStatistical hypothesis testingVirtual machineSoftware repositoryCuboidScripting languageVirtualizationElectronic GovernmentDistribution (mathematics)WebsiteDefault (computer science)PRINCE2Mobile appModel theoryReduction of orderGroup actionRepository (publishing)QuicksortLecture/Conference
06:41
Personal identification numberLoginInformationVapor barrier
07:11
Category of beingMultiplication signAreaService (economics)XMLProgram flowchart
07:29
Expert systemGoodness of fitMultiplication signPointer (computer programming)MathematicsService (economics)Statistical hypothesis testingLecture/Conference
08:19
System programmingStatistical hypothesis testingProjective planeError messageMereologyWeb 2.0ThumbnailServer (computing)Traffic reportingWave packetFile formatLoginOperating systemQuicksortOctahedronDemosceneDistribution (mathematics)CASE <Informatik>
09:12
Statistical hypothesis testingScripting languageVirtual machineDistribution (mathematics)Open setLocal ringLecture/Conference
09:47
Enterprise architectureVirtual machineBitDigital rights managementScripting languageWorkloadStapeldateiLoginOperating systemWater vaporRevision controlTerm (mathematics)Statistical hypothesis testingTraffic reportingCuboidSystem programmingLecture/ConferenceXMLProgram flowchart
10:17
Traffic reportingElectric generatorLoginLecture/Conference
10:34
Enterprise architectureService (economics)LoginSmart cardLibrary (computing)Electronic GovernmentPlastikkarteLoginClient (computing)Library (computing)CodeSoftwareFunctional (mathematics)CuboidOpen setDistribution (mathematics)Computer animation
11:42
Service (economics)Service (economics)PlastikkarteFreewareKernel (computing)Distribution (mathematics)SoftwareElectronic GovernmentMultiplication signDifferent (Kate Ryan album)DialectLecture/Conference
12:34
Electronic GovernmentWeb serviceFreewareSystem programmingSoftwareDifferent (Kate Ryan album)SoftwareDialectSystem programmingFreewareAxiom of choiceXML
13:01
Electronic GovernmentWeb serviceFreewareOpen sourceMultiplication signCommercial Orbital Transportation Services
13:19
Elektronische WahlService (economics)Group actionPlastikkarteFeedbackHelixLecture/Conference
13:57
Intermediate value theoremEmailPlastikkarteMemory cardScripting languageLocal ringSource codeXMLProgram flowchart
14:20
Lecture/Conference
14:39
FreewareMemory cardSoftwareWeb pageMobile WebComputerAndroid (robot)Multiplication signRight anglePhysical lawWave packetLecture/Conference
Transcript: English(auto-generated)
00:03
Good afternoon, everyone. I'm really glad to be here at FOSTEM. Thanks to the organizers, the staff, everyone, volunteers helping out here for a great conference so far. I would like to take your time a little bit to explain e-government testing machine.
00:21
It's a project that we are working on. The department that I'm working for is called Free Software and Open Technologies and basically we're there to support companies and also local governments in the support of integrating free software in their systems
00:42
and help spread free software. But let's first of all get to the problem. Now, the problem is I'm sure here there are people from different European countries and that we know where's my laser pointer?
01:00
Okay, there we go. That everything has gone online. Our governments are really pushing to make all their services accessible online, which is a good thing. We just have to make sure that all these services can be accessed using GNU, Linux, OpenBSD systems. Now, our system
01:21
at least in Bolzano is using a smart card to log in. I think that most of the European countries all pretty much have the same Oh damn, I think my camera just crashed there. Okay, well, anyway, it looks like this. I hope you guys at the back can see.
01:41
It's just got my name on it and a little chip there. The typical health card that you have. Anyway, so what gets done here is that let me grab the microphone. It might be a little bit easier.
02:01
Okay, okay, there we go. Yes, so it uses a smart card reader to log in. We need to make sure that this works under GNU, Linux, OpenBSD and most importantly as well, all of this all of this testing that eventually has to be done it needs to be automated. Now, I just want to take a bit of your time
02:22
to explain what type of services we have. We basically have on our e-government website three types of access level. You've got low, you've got no logging so you can just get some basic forms for basic services. You've got a medium which just requires a username and password.
02:40
You can do this just by registering. But of course the local government doesn't know then that you say who you are because obviously you can take an email address and all that. And then you've got a higher level and this is really with your smart card. You've registered, you've gone to the officials and said look, this is who I am. And with this level of access you can access basically everything there.
03:03
All the services. For an example of types of services, this probably varies from country to country. You can pay stuff like property tax garbage disposal. If you're a first time homeowner then you can look for a grant from the local government.
03:22
Register your kids at kindergartens. Stuff like that. So it's really really critical that fast free software users are not left behind. The project that we have here it's quite a mouthful. It's called the Free Software Client Reference System.
03:43
And what this is all that we mean with this long word is we are referring to some specific GNU, Linux, Open BSD distribution. So we can say okay we're going to take one for now and we use that as a reference system and do all our tests and make sure that
04:00
we can access all the e-government services at least on this system. And we use this as a reference system to test with as well. So the main goal of this project is to make sure that we can
04:21
run everything. Everything can be accessed. All services can be accessed. And this of course must all be automated. Now I've got a video running in the background just having a screencast of what's going on. Pretty much all of you guys here are using Linux and I'm sure that
04:41
you use Bash and Cron to automate a lot of your job to automate a lot of your work. Me personally, I'm quite lazy and I like to automate as much as I can. So backups and renaming your MP3s, whatever. This is just how everything basically
05:02
got started. I needed to find a way now to make tests, to automate tests. So I started fiddling around, we started fiddling around with Bash, with Bash scripts. And all that we were essentially doing here is starting up a virtual machine, virtual box.
05:21
This is a default vanilla Ubuntu installation. There's nothing extraordinary here. The only thing that we did have to do to make sure that we can use this for testing e-government sites was to install the smart card readers. Now the smart card readers are provided free of charge.
05:41
I don't know if anyone knows. It's made by Mini Lector. The good thing is we have all the free software in the main software repositories for your main distribution. So they are in the software channels. You just have to yum them or app get them.
06:01
This is PCSD, CCID. I'll go into that later. There's a couple of packages you need to install. Once that's installed, your smart card reader works out the box. Well, it's plug and play. We are hoping that maybe eventually later some distributions could eventually already have these drivers pre-installed
06:20
so that when you plug in your smart card reader or most smart card readers that it would sort of just work out the box. That would be nice. What we're doing over here now, we've started up the virtual machine. We fired up the e-government website. This is where we experienced
06:40
one problem, was now how to get past this login barrier. You won't be able to see it running over there, but if anyone's familiar with a tool called secular we're using secular to get past this problem. What it's doing is that it's emulating the user by clicking on the button
07:00
and filling in the pin code. Once you've got this, I just blurred out the information on there. Once you've got this and you accept the certificate, you've authenticated with municipal services. This is now my personal area.
07:20
Over here this is where I can do all my things like pay my property taxes and all of that. From here on this is where we could start using Selenium to do the tests. The bulk of the work is certainly done by Selenium. I'm no Selenium expert. I'm hoping
07:40
that someone eventually could give pointers on how to do really good tests in Selenium. Essentially everything starts running from here. We've got quite a lot of services that we need to test, so we need to go through them. Writing the tests in Selenium does take time. It is a lot of work, but
08:02
we feel, at least on our solution, that it's a good way to it's worth the effort. It's worth the effort to write the tests because we can reuse them and if something changes then you don't have a lot of work to fix it up.
08:24
Here you can see Selenium is running now. It started up. We used bash to copy over the Selenium jar file. Test cases, test suites, all of it is pushed over to the guest operating system. It's running now. You can see the tests being generated. This is the part where you can then sit back and fold your thumbs.
08:42
It looks like you're working really hard but everything is all being done alone which is pretty cool. Once all the tests are run the reports are generated in a nice, easy to read HTML format. This is great then for seeing where errors are.
09:02
We are hoping further on as the project progresses to automatically send this to a web server where you can view them in a sort of log and see oh, okay, we did these and these tests on this distribution on this day. Where did something go wrong? What did go wrong?
09:21
Let's try and fix the problem. Also let's support the local government in helping them fix these problems. There you see for example one failed. Now the scripts are shutting everything down, saving everything and the next machine will start up.
09:42
This could be then a 32-bit Ubuntu, a Fedora, an OpenBSD, whatever. To explain a little bit what the scripts are doing there in the background. Since there's a couple of scripts we decided
10:00
to call them a virtual machine manager. And essentially the workflow, it's really basic. We got some batch stuff that's starting up VirtualBox. Logging can only be configured by the operating system as well. It's automatically logging. We're starting SQLite in this version. Just get rid of the
10:22
to handle the login problem that we experience. Then get Selenium up and running. Do the test for us. Generate reports. Send it back to us. Shut everything down. Rinse and repeat. And so forth. Code is also nothing extremely complicated.
10:40
A couple of functions written in Bash just to see which clients are up and running. What are we listening for? Et cetera, et cetera. So it's probably, it might not be the best solution. Maybe someone else knows a better solution. But so far it seems to be working
11:01
okay. So just to make a very very quick summary of everything. The bulk of the work is done by Selenium. SQLite is handling the smart card login issue. Maybe Selenium can do that. I don't know if anyone knows. If Selenium can handle a login with a smart card.
11:21
I'm not too sure. These are the libraries that I'm busy using now to handle the smart card reader. PCSD, libccid, OpenSC. All to be found. All free software. Many thanks to the guys who wrote them. They work really well. What's critical for us for automating
11:41
this and also for using VirtualBox is that when updates are coming out, if there's a new kernel update or a distribution upgrade or something like that, we can automate this. We can test it. And after the update, still see if everything is working. So can we still use the smart card reader
12:00
to login? The services should generally be okay, but hey, you never know. That's why we're there to test. And through this, we can then make sure at least for the free software users that they pretty much always have access to the e-government services. Critical about this is it all needs to be automated because you can't
12:22
have people really sitting there and doing this every day. It must all run alone and it must all run alone in the background. The good thing is now that the government has moved to the web. They have made the initiative as well to
12:41
not leave out free software users. This is critical. We really hope that it spreads on two different European regions and governments as well. The government has said, our government at least, has said, well, we give the people a choice. They don't have to use proprietary systems. They can use
13:01
free software systems as well. Another thing to mention is that it's not about creating a new community with us. We are here to work with existing communities, people here at FASTEM, existing Linux communities. I know that there are people from Belgium here, right, I suppose, in the crowd.
13:22
Oh, there we go. The staff, yeah. Duh. Okay. From Estonia, maybe. Oh, there we go. Oh, great. This is wonderful. Yeah, hi. Now, I know that these guys are very advanced in their e-government services from what I could see. I think even online voting and stuff is being done
13:41
from what I've been gathering, so I'd love to speak to you guys afterwards, get some of your feedback, see how you guys do your thing. Yeah, so that's all about working here together with existing communities. Back home, we worked together with our local Linux user group.
14:01
We have an active mailing list, busy discussing the issues with getting the smart card readers to work, people who are having problems, helping them fix some people and, oh, but the card doesn't work and I installed this, and so we've added some scripts to install the packages automatically for them, but still sometimes go wrong,
14:21
so this is why we feel the need. We need to automate this, that we really have a nice, good way of showing that, of making sure that everything works. Another community we've had the chance to work with is Free Software Foundation Europe. They were at a conference we held in South Tyrol recently.
14:41
They came and did a freer Android workshop, and they were there, busy freeing Android devices, but the cool thing what they did was over there, they installed Ubuntu on a Nexus 7 device. So, the nice thing about this now is, because it's
15:01
Ubuntu that's been ported to the Nexus 7, most of the software channels are already available, so it was pretty easy just installing the drivers for the card reader here, and then using a micro-USB to USB adapter. Right, I've got to hurry up now. So you can essentially log in, so if your wife had to call you or something and say, did you
15:20
pay the garbage bill? Yeah, sure I did. You can quickly do it on the train, you know, so that you don't get in trouble. But this will probably be the first step into mobile computing. The guys from C-Arduino are using our tool to build their stuff. That's pretty cool, thanks to them. If you guys want to help out, everything is on
15:40
GitHub, it's on our web page. I'll be happy to speak to anyone afterwards. If no one wants to speak to me, I want to speak to one or two guys that I saw here. But yes, thank you, everyone, very much for your time. And I hope to see you at GitHub on our web page. Thanks, thanks.