On Fri, Oct 12, 2012 at 3:43 PM, Marc-André Moreau <
marcandre.mor...@gmail.com> wrote:

> Hello,
>
> automated testing including the comparison of a local image and a remote
> buffer is quite complex, but would be great to have eventually in the
> future. There are issues to think about, such as timing: what if the
> screenshot on the server end is done at a slightly different time than the
> local one, such that comparison fails? You then also need to take full
> control of the remote end to avoid any interference with the tests, etc. We
> would basically need to develop a testing framework that would go over a
> virtual channel.
>
> AutoIt scripts would allow for semi-automated tests in which one lets
> FreeRDP run over long periods of time to observe behavior. The goal is to
> attempt catching problems that would occur with regular usage but not with
> developer usage. Ideally, if FreeRDP crashes, the remote end should be
> notified such that we can catch in which portion of the script the crash
> occurred. With a bit of luck, patterns could be identified, and the bug
> eventually found. There is also an advantage with scripting user
> interaction in such a way: the sequence of actions could be made
> deliberately random, but it could also be made repeated. When trying to
> identify a bug, we often try to find a sequence of steps that reproduce the
> problem. This sequence of steps may be very sensible to the order in which
> they are done, and a script might actually help reproducing bugs faster.
>
> We need better testing and automation at all levels. I've been doing a lot
> of work with CMake recently, and I've started writing tests with CTest.
> Eventually, we'll have CTest integrated with CDash, such that we can have
> test results submitted back to a central server. Then we'll work on
> automating the running of the tests with dedicated test machines, etc.
>
> I obviously need a huge helping hand with all of this. I'm trying to get
> everything in order such that I can give useful tasks to people offering
> their help. This is why I have suggested that I could buy CMake books in
> bulk and give them away to community members willing to help.
>
> Another thing which I'm trying to do is put down in manuals all the stuff
> that's in my head that others should be able to know. This is one of my
> biggest issue with getting others to help me in those tasks: I still need
> to take the time to explain everything, which again takes a lot of my time.
>
> I've started writing manuals as time permits here:
> http://www.awakecoding.com/publish/
>
> I'd like to get these manuals written extensively, I think there's
> material for a couple of hundred pages at least to be written that would be
> useful. As I write more, a good structure for these manual will emerge,
> making my task easier.
>
> By the way, there's a lot of discussions these days on IRC, so this
> applies to everyone: if you're not using IRC, please come in :)
>
> Best regards,
> - Marc-Andre
>
>
> On Fri, Oct 12, 2012 at 3:26 PM, Christian Nilsson <nik...@gmail.com>wrote:
>
>> Hello,
>>
>> I like the idea of more testing. And automation even more so. ;)
>> One think that comes to mind for automated testing is comparing screens
>> between server and client. This would need a screenshot on the server and
>> on the client window(s) and then comparing?
>> A feature comes to mind, snapshots in the freerdp client.
>>
>> Is it maybe possible to do a recording of the RDP session, this could be
>> used to replay RDP data to the client to recreate state. And also to
>> automate the server, instead of using AutoIt on the server, freerdp is used
>> for doing the replay. If the input is saved in some kind of text based
>> files this could be edited and used for automation and testing.
>> There might be more uses for this, for example if you have multiple
>> machines and wants to do the same changes on all of them.
>>
>> Hmm, I guess this should go in as features in the issue tracker, unless
>> they are shoot down right here and now ;)
>>
>> /Christian
>>
>> On Fri, Oct 12, 2012 at 8:35 PM, Marc-André Moreau <
>> marcandre.mor...@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> I had an idea the other day: we should start writing AutoIt scripts that
>>> can simulate regular day-to-day usage of a common software. When
>>> developing
>>> FreeRDP, the workflow is very different from a regular user:
>>>
>>> make changes, compile, connect, test, try again.
>>>
>>> The user simply does:
>>>
>>> connect, use
>>>
>>> The problem with this difference in usage between most developers and
>>> users
>>> is that it's hard to catch bugs that occur after a certain period of
>>> time.
>>> I rarely keep the same FreeRDP instance running because I am developing
>>> it
>>> much more than using it.
>>>
>>> I'd like to find a good way of testing FreeRDP over a long period of time
>>> with simulated usage. This way, it would be easier for developers to
>>> measure FreeRDP in more "regular usage" scenarios, and especially
>>> identify
>>> bugs which occur sporadically after hours of usage.
>>>
>>> If we could write a collection of AutoIt scripts, it would be easy to
>>> have
>>> test machines run FreeRDP for long periods of time just to see if
>>> problems
>>> eventually happen.
>>>
>>> If you are not familiar with AutoIt, it's a scripting language for
>>> Windows
>>> which automates all sorts of tasks - especially GUI tasks which are
>>> usually
>>> very hard to automate. For instance, a script could simulate a user
>>> typing
>>> in word for hours with it. That would be enough to push the glyph cache
>>> in
>>> conditions which are rarely seen when you frequently start new sessions
>>> instead of using the same one for hours.
>>>
>>> Would anybody like to help writing such scripts? It shouldn't be that
>>> hard,
>>> and it's definitely a fun task.
>>>
>>> What do you guys think?
>>>
>>> Best regards,
>>> - Marc-Andre
>>>
>>> ------------------------------------------------------------------------------
>>> Don't let slow site performance ruin your business. Deploy New Relic APM
>>> Deploy New Relic app performance management and know exactly
>>> what is happening inside your Ruby, Python, PHP, Java, and .NET app
>>> Try New Relic at no cost today and get our sweet Data Nerd shirt too!
>>> http://p.sf.net/sfu/newrelic-dev2dev
>>> _______________________________________________
>>> Freerdp-devel mailing list
>>> Freerdp-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/freerdp-devel
>>>
>>
>>
>
------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Freerdp-devel mailing list
Freerdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Reply via email to