My Page
Apriorit Inc.

|
|
|
Apriorit Inc. created a blog entry TestComplete: Storin... In this article, I will describe the usage of external files for storing of test data and their usage in TestComplete scripts. I will describe some good and bad variants for storing data and thus explain why I chose external files. Also, I will give general examples of functions that work with *.csv files and an example of building and using of *.csv file for search options.
|
Dec 17 |
|
|
|
Apriorit Inc. created a blog entry Testing of Applicati... Databases are an essential part of the modern software such as client-server software or web-applications. Our team has some experience in testing of applications that work with databases. The purpose of this article is to sum up the gathered experience and to share it with those who faced the similar task for the first time. The article is a small manual with practical ideas that can be useful while writing the test plan for your application. Test cases are gathered with no relation to some definite type of application or DBMS (Database Management System); that is why they do not claim to be taken “as is”. After reading this article, you will be able to adapt them to your concrete product. |
Dec 16 |
|
|
|
Apriorit Inc. created a blog entry Specifics of Testing... Nowadays, software virtualization systems have become widespread. The end user can use virtual applications and desktops. When creating such virtualization systems, developers take into account the customer preferences (the end-user preferences) and usability. That is why, testers face a lot of diverse functionality when testing them. One such functionality is the redirection of sound to the terminal session. |
Dec 16 |
|
|
|
Apriorit Inc. uploaded a new avatar. | Dec 02 |
|
|
|
Apriorit Inc. updated a blog entry Testing Strategies f... In this article, we will examine the specific of testing of the software virtualization systems. We will touch upon the following questions:
So, we will examine those important things that should be taken into account when thinking over the testing strategy of the software virtualization system. This material can be useful for those people who test systems of described type and also for the managers of these projects. |
Oct 05 |
|
|
|
Apriorit Inc. created a blog entry Testing Strategies f... In this article, we will examine the specific of testing of the software virtualization systems. We will touch upon the following questions:
So, we will examine those important things that should be taken into account when thinking over the testing strategy of the software virtualization system. This material can be useful for those people who test systems of described type and also for the managers of these projects. |
Oct 05 |
|
|
|
Apriorit Inc. created a blog entry Time Estimation for ... In the process of creation of a successful software product, there is an inevitable problem of finding a balance between the quality and the release date of the software product. The testing allows of obtaining a product that satisfies all requirements. But the covering of each product risk with various test cases and compiling them take too long. The correctly prepared testing process should provide a required quality level without exceeding project time and budget . If the time for testing was estimated wrongly, it can lead you either to the late product delivery, or to the decrease of its quality and competitiveness . The estimation of time resources in software testing is a rather complicated and volumetric process but its significance for the creation of the successful project shouldn’t be underestimated. This article contains recommendations that can help you to obtain more realistic and functional time estimates for the testing of a new project. |
Sep 27 |
|
|
|
Apriorit Inc. created a blog entry How to test virtual ... This article is devoted to the testing of programs that use virtual desktop acceleration to improve performance. Here we will consider features of virtualization, testing scenarios, some useful tools and tips, and also will give examples of real test cases.
|
Jun 04 |
|
|
|
Apriorit Inc. updated a blog entry The testing report a... IntroductionIf you prepared the testing reports without making the preliminary analysis of the findings before, please start doing it. The correctly prepared report on the results of testing is a powerful tool for the optimization of the software development process. That is why let’s pay special attention to this process. This article includes practical recommendations concerning the preparation of different types of testing reports and their ready examples.
|
Jun 02 |
|
|
|
Apriorit Inc. created a blog entry The testing report a... IntroductionIf you prepared the testing reports without making the preliminary analysis of the findings before, please start doing it. The correctly prepared report on the results of testing is a powerful tool for the optimization of the software development process. That is why let’s pay special attention to this process. This article includes practical recommendations concerning the preparation of different types of testing reports and their ready examples.
|
Jun 02 |
|
|
|
Apriorit Inc. created a blog entry Specific of testing ... Many corporations, companies, firms, and other institutions of different kinds of activity need to control access to their computer networks, devices that store information, and to the information itself. In future this problem can be solved by means of inventing new devices. These devices will let working only those people, whose voice, fingerprints or the retina picture match those in the database. However, because of comparatively high prices of these devices, applications, which limit the user access to devices and I/O ports, are used to protect the information. Such applications also let you protect the corporate computer networks from the influence of harmful viruses. Applications limiting the user access to devices and ports are not only complicated in development but also require special treatment while testing.
|
Apr 07 |
|
|
|
Apriorit Inc. created a blog entry Technology of GUI co... This article will be useful for both testing specialists and newbies as soon as the process of GUI testing is represented here as completely as possible. GUI testing can be performed from three points:
The first two points are discussed well in the article by Elena Osadchaya “GUI Testing: Basic tips” [1]. Information concerning element arrangement testing can be found on the Microsoft site [2] and that is what we will talk about in this article.
Written by: 1. Composing test plan for GUI testing 3.2. Bug reports for GUI element arrangement testing 3.3. GUI element arrangement testing report IntroductionImagine a window where all elements are aligned perfectly and the style remains consistent in all of elements, tabs and boxes. Such harmony will be very pleasant to the eye and a user will enjoy it for sure. In this article you can find answers for such questions:
1. Composing test plan for GUI testingAs we mentioned above we have an important task - to test element arrangement up to a single pixel. And first we should compose the main document, which will describe the testing process – test plan. First of all we should choose the certain rule sets that are the most important for us and formulate them clearly. Then we divide an interface into parts: windows, tabs, functionalities… The individual test plan can be composed for each element in correspondence with the chosen documentation scheme. We will compose testing documentation by the plan [1]: 1. Elements - Buttons - Checkboxes and radiobuttons - Listboxes and comboboxes - Editboxes - Menus - Windows, tabs, blocks - Pictograms - State line - Input forms - The structure of interface forms - Text - Interaction - Keyboard - Visual representation - Indication 2. Arrangement - Visual hierarchy - Effective usage of screen space - Element sizes. Each point includes a list of nuances to pay attention at and the values of distance between elements in pixels. In a window where there are only checkboxes we check the corresponding requirements, skip the rest from “Elements” section and continue testing. If the interface part includes a lot of different elements we proceed by the list skipping the absent elements. Let’s consider two tabs of computer properties window My computer -> Properties and test their interface (Fig. 1 and Fig. 2). Figure 1. Automatic Updates Tab Figure 2. RemoteTab Using the list given above let’s make a draft of basic plan for composing the test plan:
Now we will look through this list along with the Microsoft recommendations and make the specific test cases. See the results below. 2. Tools and documentsBefore start testing let’s se what tools can help us to count the pixels on the screen. There are 3 the most widely used approaches:
Let’s consider each one in detail. JRuler is a small application to easily measure distance or sizes in pixels (Fig. 3). It’s interface is really a ruler where each pixel is marked by a scale line. A ruler can be both horizontal and vertical. The value that corresponds to the current cursor position on the screen is displayed inside. Holding the mouse left button you can easily move a ruler to the proper place. It is good to mach the ruler left border with the first pixel of the considered interface part. Figure 3. JRuler interface Advantages of JRuler:
Disadvantages: - The one pixel difference is very hard for eye to catch and so you have to scrutinize. - The number of pixels is displayed in only one fixed place. If to put a ruler down you cannot see these numbers. There are a lot of analogues: Jruler PRO, JR Screen Ruler, UDRuler and others. Microsoft Paint. To use Paint we should first make a screenshot with application window and paste it to Paint. Then we choose View -> Zoom -> Large. And one more step: View -> Zoom -> Show grid. Now we can count the pixels (Fig. 4).
Рис 4. Large Zoom with grid in Paint. We can also use Pencil tool to mark examined pixels by bright colors and thus make it easier to count these small countless cells. Advantages of Paint:
Disadvantages: - You have to make screenshots (additional time, efforts and attention). - Zooming is not smooth. - There is no ruler. Adobe Photoshop. This program is a powerful graphics editor and thus it’s not surprising that it’s the easiest tool to deal with pixels. To start working we should make a screenshot and paste it to the new Photoshop document (Fig. 5). Then choose:
-> In Grid block we choose Grid every 1 pixel. 4) Edit -> Preferences -> Units & Rulers. In Units block we choose Rulers: pixels, Type: pixels. 5) Zoom in.
Figure 5. Editing in Photoshop. Advantages of Photoshop:
Disadvantages: - Program window has to be maximized for the proper work. - Screenshots should be made. - It’s not cheap commercial product. - You should have some special knowledge to work with this program. As usual, each tool has its advantages and disadvantages. The best way is to have all of them and choose one each time depending on the specific situation. 3. Reporting3.1. Test documentationLet’s match the described above basic plan with the Microsoft distance table and represent as Excel spreadsheet. After that we perform all tests using above mentioned tools and put the results to the table (Table 1). Each test performed has a mark in Status column: passed or failed. Test results can be aggregated to obtain the current quality level of tested object; we can use the formula: QL = (Passed / Total) * 100%. Then, as usual, we make a ticket for each failed test, make bug report and put it to the bug-tracking system. Below there are examples of bug reports. It may seems like these both tickets describe the same problem – failed distance – and one ticket would be enough. But actually the Microsoft table has two points: - what distance between buttons should be; - what distance between a button and window border should be. And thus if you just indicate “failed” in test plan you will not give the clear answer what exactly is wrong. This situation also results in two peculiarities of making tickets about element arrangement:
When all test cases are passed we form the project report, where all necessary testing details are described. Usually this report is sent to all developers and testers in the project team as well as project manager. And finally the examples of bug reports and project GUI testing report are given below. Table 1. Test plan and test passing results.
3.2. Bug reports for GUI element arrangement testing[Ticket#1] Distance between OK and Cancel buttons is more than 7 pixels. Module: My computer properties. Version: Windows XP SP3 x86 Type: Design Priority: Low Steps to reproduce:
Actual result: The distance is 8 pixels. See screenshot 1. Expected result: The distance is 7 pixels. Note: The same distance is between Cancel and Apply buttons.
Screenshot 1. [Ticket#2] Distance between Apply button and right window border is less than 11 pixels. Module: My computer properties. Version: Windows XP SP3 x86 Type: Design Priority: Low Steps to reproduce:
Actual result: The distance is 7 pixels. See screenshot 2. Expected result: The distance is 11 pixels. Note: The same problem is between Apply button and bottom window border. Distance is 8 pixels instead of 11.
Screenshot 2. 3.3. GUI element arrangement testing reportTesting report Module: My computer Properties window Version: ftp://storage/out/Testing/2009-12-16/ Configuration: Windows XP SP3 x86 Type of testing: GUI testing Results: Automatic updates and Remote tabs were tested. See Results in table:
There were founded 2 new bugs: [Ticket#1] Distance between OK and Cancel buttons is more than 7 pixels. [Ticket#2] Distance between Apply button and right window border is less than 11 pixels. Problems: There were no problems. Common vision: Interface looks very good. GUI corresponds to almost all of Microsoft standards. There are a few low-priority bugs. ConclusionIn this article we managed to:
References
|
Feb 26 |
|
|
|
Apriorit Inc. created a blog entry Installation testing... Working with the software starts with its installation on the computer. During the installation, user gets the first impression of a product. That’s why this process is very important and claims certain attention. This article includes practical recommendations on testing of software installation process and also includes a bulk of ready tests that are a good basis for a valid test plan preparation.
Written by: QA Specialists of Apriorit Testing Team (Network Direction), Finally prepared by: Liliya Smolyar, Junior Tester. Contents
IntroductionWorking with the software starts with its installation on the computer. During the installation, user gets the first impression of a product. That’s why this process is very important and claims certain attention. This article includes practical recommendations on testing of software installation process and also includes a bulk of ready tests that are a good basis for a valid test plan preparation. Installation and uninstallation process notionsInstaller is a program that performs certain actions for software installation on a user computer such as:
Widespread types of installers:
Software uninstallation means deletion of all program parts from the system (records in the Registry and in other system files, DLL libraries in the WINDOWS/SYSTEM folder, etc.) Types of installationManual installation is a case when the software installation is performed without the installer help or requires considerable user participation. Automatic installation is an installation that does not require any user actions except its starting (password entering, license agreement acceptance, etc.). Self-installation is a fully automatic installation that does not require an initial start of the installation process. Silent installation. Messages and windows are not displayed during the installation of this type. Remote installation is a type of installation when the control is performed from the remote computer that is connected via LAN or serial cable. Clear installation is an installation that is performed in the absence of interfering factors (files of the previous installation of this program, unstable OS mode, etc.). Testing of the software installationDuring the first launch of the installer, it proposes you to choose the installation mode. The principal moment, on which you should concentrate during the testing, is the control of correspondence of installed components to those chosen by the user:
Peculiarities of installation testing for various applicationsWhile testing, you should take into account specific of installations of various applications. Program packages Pay close attention to the work of the license agreement, i.e. check the program behavior at the illegal license key entering. If the program validates the key via the security server using the internet connection then the following tests can be also performed:
Antivirus software Antivirus software in most cases conflicts with other installed antiviruses. That’s why starting the antivirus installation testing you can single out two main test cases:
Drivers Driver installation testing should be performed carefully and attentively.
Games Full-screen 3D games are the most requiring for the PC hardware. Many games collect the information about the system at the preliminary stage of installation.
Mail clients The installation of mail clients implies the choice of basic settings of work with a client.
How OS security tools affect software installationInstallation under different users As is known, for every Windows user there is a folder with his own profile where different system settings are stored. It refers also to the programs installed. That’s why installation testing and starting a program for different users are the separate interesting classes of testing. In this case, the following situations may occur:
It should be mentioned in the specification which of the installation variants your program uses. If it is missed it is necessary to focus on common sense and the program functionality. Thus, the following tests should be executed:
User permissions
UAC impact User Account Control is a Microsoft Windows component that appeared first in Windows Vista OS. This component inquires the confirmation of actions that require the administrator’s rights to protect the computer from unauthorized use.
There is a certain list of actions that call the UAC message, e.g., writing to the system folders or Registry branches, adding accounts, etc. If the program performs some actions from this list, it must response correctly to the UAC reaction; especially it concerns the silent installation. It can be enabled in such a way: Vista:
Win7 has 4 UAC gradations (which differ in the list of events that call UAC message), it is necessary to run testing on the strictest gradation (Always notify). It can be enabled in such way:
DEP impact Data Execution Prevention is a set of software and hardware techniques that allow you to execute additional testing of RAM contents and to prevent launching of a harmful code. DEP allows blocking viruses and other malicious software that attempt executing their code out of system memory space that is reserved for Windows and other authorized programs. After discovering that a program uses system memory incorrectly, the DEP closes the program forcibly and displays the appropriate message. Unlike the firewall or antivirus program the DEP feature does not prevent the installation of potentially unsafe programs. Instead of it monitoring is performed to make the programs use system memory in the proper way. By default the DEP feature is enabled only for basic programs and services of Windows OS.
DEP can be enabled in such way: 1. Right click on My Computer. 2. Select Properties. 3. In the Advanced tab, select Performance and click Settings. 4. On the Data Execution Prevention tab, select the Turn on DEP for all programs and services except those I select option. Remote installation and Firewall Your program must be ready to be installed not from the local computer.
Special case: programs that allow the installation from a single computer to all computers in the network, domain, certain range of ip addresses, etc. Such installation is not rather an object of installation testing, but a separate functionality and is tested accordingly. Anyway, the remote installation first of all faces the use of Firewall.
To enable Firewallgo to Control Panel -> Windows Firewall -> Change settings. Then launch the remote installation. During the configuration of environment for testing of remote installations pat attention to Exceptions in the Firewall settings: Control Panel -> Windows Firewall -> Change Settings -> Exceptions. Pay attention to all options that begin with the word Remote. To perform the remote installation Firewall is often disabled but if these options are included to Exceptions they will function and will not allow to execute the installation. Testing of repeated installationDuring the repeated installation it is often proposed to delete, update, recover or modify the installed software. Uninstall (Remove) – deletion of a program.
Repair – an application recovery if it was damaged.
Modify (change) – change of installation options after its termination.
Update – update the program version.
Installation wizard testing peculiaritiesIt is very important to test the installation wizard as well.
ConclusionWe made sure that software installation is really a very important moment that has its own nuances and bottlenecks. That’s why the installation testing must be performed with account taken of all peculiarities of installation process. The basic moments were covered in this article. Let’s summarize. Performing the installation testing it is necessary to take into account the following things:
Wish your product be of high quality! |
Feb 24 |
|
|
|
Apriorit Inc. created a blog entry Procedure and check-... The licensing mechanism is very important part of the commercial product. Proper testing of it prevent the unauthorized utilizing of your intellectual property. Written by: What is licensing and what is it for?Software just like other objects of the intellectual property, such as music and literature works, is protected from the unauthorized copying by the laws about the author’s rights. These laws suppose that the software publisher keeps some exclusive rights, one of them is the right to produce software copies. Buying the software user actually buys the license that gives him a right to use this software. The terms and conditions of utilizing the software (for example, the possibility to move it to the other PC, use previous versions) are fixed in the agreement, which accompanies the software delivery. The most widespread is EULA - End User License Agreement. EULA is the contract between a user and the software publisher, which describes the possible ways of software utilizing and also limitations for it. The Agreement can:
Usually EULA is provided in the digital form and is shown on the first start of the product. User should agree to its terms before the product installation. Buying a license a user in fact gets the additional services from the publisher such as free technical support, updates and others. All licenses are divided into two big groups: free software and proprietary software. There are also different types depending on the number of licensed copies (individual, volume, enterprise licenses etc.), additional services volume (standard, ultimate etc.), the type of the object the license is applied to (per user, per machine, per server etc.). Software protection toolsMethods of the software protection can be divided into software-based and hardware-based. Software-based methods don’t consider the physical properties of the data storages, special hardware etc. Hardware-based methods use specific hardware (e.g. electronic keys connected to the computer ports) or physical peculiarities of the data storages (CDs, floppy disks) to identify the original software version and protect the product from the illegal utilizing. Electronic key (hardware key, dongle) is the hardware tool intended for software protection from copying, illegal usage and unauthorized distribution. Generally hardware key is a microchip or microcontroller that has unique algorithms of functioning. The keys are often plugged via USB or LPT interfaces. Key is plugged to the certain computer interface. Then the protected program sends data to it by means of the special driver. This data is processed in accordance with the specified algorithm and returned back. If the key response is correct then the program continues working, otherwise it can perform any actions implemented by the developers – for example, turn to the demonstration mode, block the access to some features. To provide the security of the network software special digital keys are used. It’s enough to use just one key for protection and licensing of the network product (limitation of the number of the program copies, which are working in the network). This key is installed on any workstation or network server. Serial number or license key . Usually it is the text string (but can be a file) with the specific structure. This key is provided to the customer together with the program version (for example in the box package) or separately. Then, just after the installation, the program asks user to enter the key (or provide the path to the key file) and checks the authenticity of the key by the certain criteria. Subject to the check method we can name the following license key types: Standard key/serial number. In this case program checks the key provided by a user using several conditions, for example: the key should include 25 symbols, 12 of them should be the numbers and 13 should be the letters, number sum should be equal to 60 and the sum of the numeric equivalents for the letters should be equal to 100. If this approach is used per se (without some additional security actions like activation via Internet) then the key can be used for installing the program to the other computers. Key with the reference to the serial numbers of the computer hardware components. As a rule, vendor uses the mechanism when a user fills the survey at the vendor’s site and sends to the same site the specific computer identifier (hardware id). Using this hardware id the key is generated. Usually the key contains encrypted information about the user, product, number of licenses etc. If a user upgrades his computer, the protection fails. The authors of the many programs protected by hardware reference are ready to provide a user with the new key. Besides the hardware id vendor can also use serial number of the hard drive, MAC address of the netcard, BIOS control sum and other system properties. Activation via Internet. Here the unique product serial number is used. When a user installs an application, it asks to enter serial number and then establish Internet connection with the vendor’s system to check if the provided serial number is listed in the actual numbers. License server. It is the specialized server application or hardware-software complex that enable to centralize license management. If there is big loading then a separated physical server can be provided for the license server. License server stores all licenses bought for the specified number of the product copies and provides a license to the each program start. Licensing check-list and testing guidelinesWhen you start the work on the licensing test you should first of all determine what scheme you have, i.e. what protection tools are used and what are their combinations. Let’s consider the simplest most widespread licensing schemes: with text key, with key file and with hardware key. More complicated schemes are the partial intersection of the following sets or are specific for the each individual product. Text key The trial period is often present in this scheme. We’ll consider the check-list with it as it’s more complicated – for the scheme without trial period some tests will be simply omitted. It’s recommended to check: - the limitations of the application functionality (if there is such during the trial period) and correspondingly the availability of the full functionality after the successful licensing. - the possibility of licensing during the trial period - application response to the input of the incorrect registration data (if the key consists of the several fields then you should make the separate test for the each of them): а. Key is corrupted b. Key is absent c. Key is typed in the wrong case d. Key contains the extra symbols at the end and/or at the beginning - application response to the input of the correct registration data - application response to the input of the registration data provided for the previous versions of the tested application - unlicensed application behavior after it has been reinstalled during the trial period - application behavior after the trial period is over - unlicensed application behavior after it has been reinstalled after the trial period is over - application response to the system time change forward/backward (the most important here is to keep the trial period correct). Take into account that the system time change should be performed in BIOS because the one performed in the operating system does not have much effect. - the possibility to register application after the trial period is over. - application behavior after the registration data has been deleted, for example from the registry (usually after registration the deletion of these data is disabled). - licensed application behavior after it was reinstalled. Key file Here you should pay attention on the aspects: - Using a file with the correct name but with incorrect content and vice versa. - Starting application after the file was deleted. - Saving the file while the application is being reinstalled. - Application behavior after the file has been replaced: a. correct -> incorrect, b. correct -> correct, c. incorrect -> correct, d. incorrect -> incorrect. Hardware key We should check: - Application functioning with no special software for hardware key installed. - Application functioning without hardware key. - Unplugging hardware key while the application is running (here we should take into account 2 situations: application has some process run and application is in the standby mode): a. Permissible waiting time for the key plugging. b. Correct application behavior after the unplugged key is returned. с. Correct application behavior if the waiting time is over and the key was not plugged. - Application functioning if there are some other devices akin to the hardware key plugged (for example, if the key is USB device then it’s good to check its functioning together with flash drive). General aspectsFrequently it’s required to perform countdown not only of the trial time but also of the program starts during the trial period. Here it’s important to control that after the number of starting attempts is over the trial period is finished too regardless of the actual number of trial days left. Most software products put the information regarding the registration to the About form (usually called by the About menu item). We should check if this information is present and is correct for any licensing scheme in every state. If HardwareID is used in the registration process it makes sense to try to propose the HardwareID of the other computer. ConclusionTesting licensing you should not forget to check some main things:
The correct work of licensing is a guarantee of the proper protection of your product. Don’t spare resources to protect your program from the unauthorized utilizing. You should remember that especially for this type of testing it’s not enough just to check the correct functioning of the licensing mechanism. Tester should think as a user and try to hack the existent protection by any means. Only such approach gives some confidence in the licensing reliability. Let your products be of high quality! |
Feb 24 |