Archive for September, 2010

Google Docs to be Supported by iPad and Android-devices

google_docs_logoAccording to the company’s corporate blog, Google is to make the editing of documents on the Google Docs online server possible on the Apple iPad and mobile devices based on the Google Android operation system

Presently, the service only allows for documents to be read from portable devices.

Google Docs service is aimed at shared documents, such as texts, e-tables, presentations and schemes. According to Google, around 3 million organizations are currently using company’s services to coordinate internal group projects and message exchange. As the corporation announced, within a few weeks joint document editing will become available for Apple iPad users (nothing was said about the iPhone) and Android-based device users. There is currently no information about supporting other mobile platforms.

Google also demonstrated an add-in for the Microsoft Office package which is still under development. According to InfoWorld.com, the add-in allows for group project work with Google Docs documents directly from the Microsoft Office package. The add-in will provide organizations to work on group projects that use office documents, in the usual software environment without using specialized software (such as Microsoft Sharepoint); and convenient storage of these documents in the Google Docs cloud environment. The plug-in which is still under construction is based on DocVerse technologies purchased by Google in March this year. Microsoft develops its own web-service for work with office documents known as Office Web Apps, which is a direct competitor of Google Docs.

Apart from new functional possibilities, Google also showcased an improved algorithm for the authentication of users of corporate, academic and governmental sectors (versions Google Apps Premier, Education and Government). The account’s admin can customize the system in such a way that the user would have to enter an additional verification code alongside the usual password. The code is sent to the user’s mobile phone. Company specialists believe that this measure will help significantly reduce the risk of unauthorized data access due to an accidental leak or stolen password. In future, Google plans to distribute the system to individual users of the company’s services.

Android Slowly Solves its Compatibility Problem

The proportion of devices based on Android 2.1 and 2.2 platforms has reached more than 70 % of all Android products, reported Engadget on Sunday. Manufacturers have proved reluctant to design products compatible with older versions of this operation system, which until now has been one of Android’s chief problems.

According to ZDNET, the Android platform gives manufacturers the freedom to choose a version of the system for final devices as well as great opportunities for its adaptation. However, according to ZDNET (this opinion is also shared by many experts), this not only gives Android an advantage but also makes the work of developers and users more complicated.

For example, the Dell Streak smartphone was released in June 2010 with an older version of Android 1.6 in spite of the fact that by that time Android 2.2 had already been released with numerous changes. A similar situation was observed with the devices of other companies that also used Android 1.6 for their product. Users of phones operating Android 1.6-either have to wait for the official update (in the case of Dell Streak the update to 2.1 appeared in September 2010 in a number of countries), or resort to undocumented ways of updating their devices which often deprives them of manufacturer’s warranty and leads to the unstable operation of the device.

The developers of Android apps have to test them for several versions of this OS. As ZDNET reports, the situation with Apple mobile devices is quite different: the company itself controls which versions of iOS will be used in devices which substantially eases developers’ work. However, users can sometimes suffer from such a policy of a centralized management of a program platform.

According to official data from Android Developers, older versions of Android (1.5 and 1.6) were installed only in 12% and 17.5% of devices respectively, whereas the newer 2.1 and 2.2 versions are already used in 41.7% and 28.7% of devices. Android Developers report that as Android has a reverse compatibility, programs written for Android 1.5, for instance, will work for newer versions as well.

In practice, however, there may not be any reverse compatibility as the developer can modify the code of the system at his own discretion. Consequently, the version of version of Android installed on the final device can be substantially different to the original. This is precisely why Google would do well to realize that standardizing Android versions would benefit them by increased attractiveness to consumers.

Google Android is Heading Towards Market Leadership

androidProgram platform Google Android will become the 2nd most popular platform among operation systems for smartphones in the current year. In 2014 it will catch up with Symbian, Gartner predicts in its analytical summary.

Around 268.8 million smartphones are expected to be sold this year. Symbian’s market share is estimated to reach 40.1 % and Android based smartphones will take 17.7 %. BlackBerry and iOS devices will control 17.5 % and 15.4 % of the market respectively. Windows based devices will take 5th place with 4.7 %.

According to Gartner, in 2014 manufacturers will sell around 875.6 million smartphones. Symbian will maintain its leading position, but the share for this OS will be reduced to 30.2 % whereas Android smartphones will take 29.6 % of the market by that time.

In 2009 the share of Android-based smartphones comprised only 3.9 %, however within a few months the platform managed to overtake Windows Mobile, iOS and BlackBerry OS. In the 2nd quarter of the current year Android has become the most popular OS for smartphones in the USA.

The Finnish Nokia is the leading manufacturer of Symbian smartphones. On Friday the company reported a change in leadership: from September 21 Stephen Elop will be Nokia’s Executive Director and President.

One of the reasons for dismissing Nokia’s current head Olli-Pekka Kallasvuo is the weakening of company’s position in the profitable smartphone segment. Nokia has for a long time not been producing bestselling models which could become compatible with the iPhone and Android-based devices.

Instruments for Unit Testing

sw_testingUnit testing tools which to a considerable degree possess unit properties are considered an important class of testing tools. JUnit written in Java is the most well known of these tools. It is aimed for code testing in this language. Historically, however, the first tool was SUnit for Smalltalk programs.

These tools are characterized by high flexibility, the possibility of utilizing completely independent modules for the realization of additional functions and the possibility of use in more complex testing systems. One of the module testing tools with the most diverse functionality is TestNG . Its main characteristics are as follows:

Test Configuration

Basic test elements are test classes and test methods described as Java classes and methods having an @Test annotation.

Test sets are hierarchically structured. They contain separate test suites consisting of tests. Further in this list of characteristics these terms are used in a narrow sense specific for TestNG. Tests and test suites are defined with a test configuration described in a certain XML-format. The test is composed of several classification methods classified according to their names or their belonging to a certain group mentioned in method annotation.

Set-up and tear-down methods are used for the initialization of certain data before tests are completed, and for releasing engaged resources afterwards. These methods may be defined for all hierarchy elements for suites, tests, classes and methods.

It is also possible to define dependencies between test methods and methods and groups which allows for managing the order of their performance and canceling the performance of a test method if one of the testing methods upon  which it depends was performed with errors.

Test data and objects

Test methods in TestNG may be parametrizable. The set of parameter points used within the test is marked by means of an additional annotation or in a configuration file and is to be represented either as a specified set of objects or as a sequence of results returned by means of a definite method while the test is on.

Object factories can also be created. They construct various objects of test classes. All the methods included in tests are performed for each such object.

Verification of test results

The chief way of describing checks performed by means of test methods aswith many other instruments of unit testing is the use of an assert? methods library. Each method checks a simple property of its arguments. In the event of an error the method produces a trace message which also appears in form of an argument.

Additionally, TestNG supports pointing out possible exceptions and limitations during while the test method is running in its annotation.

Unit testing tools actively use independently developed units to solve more specific tasks. For example, dbUnit is sued for organizing the work with databases into unit tests and httpUnit is used to process HTTP-requests. For a more instructive record of verifications performed in tests (close to the definition of natural languages) libraries provided by development tools may be applied, based on functionality (behavior driven development), for example, JBehave or NSpecify; Mockito or EasyMock libraries may be used to organize test stubs.