This week we created a video demonstrating Bitbar Testdroid testing solution in real live action running automated Robotium UI tests simultaneously on 6 Android phones and 2 emulator configurations. The video gives a good idea how much time you can save with this solution as running the tests simultaneously takes only minutes but if you were to run these manually on each of these devices it would take hours. Additionally all results are stored in nice human readable form enabling test trend comparisons between builds.
Qt allows you to code once and deploy your application to many types of mobile devices. Obviously you still need to
#ifdef in some places in your code. In the mobile world the general targets for Qt are Symbian/S60, Maemo, MeeGo and Windows Mobile devices. There are also APIs know as Qt Mobility which enable developers to add mobile functionality to their applications, like phone contact lis, camera, sensors, multimedia etc.
I attended Software 20/20 -conference in Helsinki last week. Over 400 professionals from software industry gathered to discuss about future of software. Among others Gartner people gave their view on the future trends of technology. For the first time for years, Business Intelligence was NOT the number 1 in the list of CIOs’ top strategic technologies. This time it was virtualization and cloud computing. They explained that Cloud Computing is now where service oriented architecture (SOA) was in 2005, everyone is asking questions, talking about it, figuring out the benefits, figuring out the vendors etc. Nowadays SOA architecture is just being implemented, all the fuzz and hype has disappeared, companies walk the walk.
Designing new devices and developing new solutions for mobile environments is a painful process as everyone who has worked on new platforms and millions of possible configurations know.
If you are a semiconductor maker who is working on Android or Linux and creating a base port for your new chip, a device maker designing incredible devices that customers crave and love or an application developer working with the latest devices, you are most probably working with such unstable environment.
With Bitbar automatic build and test service you can automatically test your applications against multiple Android phone configurations simultaneously as part of your Continuous Integration (CI) process. By automating your application testing you can ensure that your application behaves correctly on every Android version, which will reduce costs and increase efficiency of the testing process. Robotium (Android UI testing tool) tests are independent from the application source code and are easy to create with popular Selenium UI testing style syntax.
Automatic UI testing helps to keep the quality of your software high and helps you notice if your code changes affect the implementation of the actual use cases. When you are creating Android applications you would like to be able to test them without the help of many human testers. Human testing of UI of the same application on multiple devices is a waste of time, so you want to eliminate it through automation, like you would do it with Selenium for web application. For Android applications there is a similar tool for testing called Robotium. It is a UI testing tool which simulates touching, clicks, typing, and other users’ actions relevant for Android applications. Writing tests using Robotium is very easy as you can see from below.
Ability to move data and applications from one cloud vendor to another, interoperability and consistent ways to meter and monitor performance and usage are essential in bringing the true value of pervasive, on-demand computing for our customers
Helsinki , Finland July 06, 2010. Bitbar, the pioneer in automated software build and test solutions, supports Open Cloud Manifesto (http://www.opencloudmanifesto.org/), an initiative supported by 370 leading technology organizations so far.
This blog post starts my blog post series about project management (PM). It will describe the advantages of Lean Software Development (Lean SD) and Continuous Integration (CI). Every good project manager wants to reduce the risks of his project and I think the best way to do this is use Lean Management. Because recently I was on lean meetup, where I had possibility to talk about Lean Software Development directly with Mary Poppendieck, I will try to show you how in my opinion CI fits the Lean practices.
Lean Software Development is a translation of Lean Manufacturing and Practices to the software development domain. First try to adopt this way of managing to the IT market was taken by Mary Poppendieck and Tom Poppendieck, who are considered the authors of Lean Software Development.
There are 7 basic principles of Lean Software Development:
- Eliminate Waste
- Build Quality In
- Create Knowledge
- Defer Commitment
- Deliver Fast
- Respect People
- See and Optimize the Whole
I will focus on the points most interesting and important to the success of the project.
Everything that does not add value to the product is regarded as a waste. The first premise of this rule is to reduce the requirements for the product to a minimum, since each feature is an additional workload, and most of them are not applicable in practice (see chart: Using the functionality of a typical software system).
To Eliminate Waste we should recognize and see it. The biggest waste are defect and lower quality. If some extra process or features are not used by customer or system this mean that results can be achieved without it, they are waste. Every code duplication or dead code is a waste. Waiting for other activities, processes or teams is waste. To reduce this problem we should use Continuous Integration, because with CI everyone who works on the software gives his current work every day (CI: Everyone commits every day) and the latest deliverables can be seen by everyone (CI: Everyone can see the results of the latest build) and are tested (CI: Make the build self-testing). Project manager can See and Optimize the Whole process and current work.
Using our Shaker offering you can check your code quality by code analysis and find dead and duplicate code. Bitbar tries to help you to reduce the number of defect and ensure higher quality by fast optimized testing and creating a copy of your production environment in our build system. Bitbar works on optimization your build process, so you can build faster which reduces waiting time for build.
Good and effective method is to catch bugs and keep Quality In is running automated tests for every builds and test the smallest parts of new functionality in this iterative process. Testing can catch a lot of bugs as soon (in development process) as possible. Using the our CI process, you can always control the quality and reliability of software, because Shaker builds and tests every code submission.
In Lean SD like in general, integrity means that the system’s separate components work well together as a whole with balance between flexibility, maintainability, efficiency, and responsiveness. Created system should work fast and have good quality and reliability. To control this parameters we should integrate our product as often as it is possible. Using CI we can create a clone of the production environment and run integration tests for smallest parts of the product. In this way you will Deliver Fast and your software will be of the highest quality.
The Compatibility Test Suite (CTS) is an automated open-source testing harness for Android that you can adopt to your needs by selecting CTS plans relevant for your functionality. You could use the CTS to test your work during your development work using your desktop machine with attach mobile devices, but it is expensive for all developers to have that environment.
Software companies create value to their customers by implementing new applications, new features and new code. And they capture the value from their customer by various business models ranging from licensing to projects.
How could they increase the value-add, and revenues, of their value-generation machine: product development, maintenance of products and customer support.