Hire Developer ยป .NET Development ยป Preliminary Report on Aland

Preliminary Report on Aland

Certified Professional Developer
Certification Developer

This paper gives a detailed description of testing the applications: Presentations Module and Database Module that were developed within Aland external project by our company Kuliev. The essence of the project is in the following. At input, Database Module receives files with statistics and economical data (i.e., turnover, demand and supply, etc.) in a few supported formats (.xls, .txt, .csv, .mdb).

Database Module parses these files and saves data to the database. The database is created at Database Module installation at a local or remote MS SQL server.

Presentations Module is used to create presentations. It has a few common components as Text, SmartText, Background, Image, Shapes, etc. used to arrange the presentation content. A presentation consists mainly of various diagrams; that provide for algorithms that allow for building them when addressing the database with various requests. The mode of a presentation viewing is totally controllable.

Thus, presentation that is created in Presentations Module allows for displaying economic performances in various contexts and is grounded on the by Database Moduleโ€™ created database of files that are submitted by various companies in different formats.

Testing Process: testing types applied

The project testing lasted since the first functional build and until the release inclusive. In the course of testing Bug Huntress Team dedicated for Aland project discovered various bugs and malfunctions of different significance, probable errors and produced a few suggestions as to product improvement.

The following testing types were applied to the Presentations Module and the Database Module:

  • Functional testing (partially automated functional testing)
  • Stress testing
  • Usability testing
  • Load testing
  • Installation testing
  • Documentation testing (configuration audit)

Aland project a dedicated team was allocated (one test engineer per Presentations Module and one per Database Module) that was busy with the project almost full-time. Many related aspects were tested together (e.g., Custom format, Slicing, packets, etc.). For automation works, occasionally, we engaged an engineer from the automated testing team.

As a result, after fixing the bugs revealed during these types of testing, the application was made compliant with the customer requirements and have the application behave correctly in case of incorrect user input.

Functional testing results

The objective of functional testing was to make sure all the functionality patterns (all functions in all modes and for all types of data) in the software product work in accordance with the specifications and other client requirements known to Bug Huntress QA Lab.

Presentations Module. The first finished functionality of the Presentations Module was common components designated for presentations management and composition. Initially, common components were implemented in partial functionality, including the partially finished Properties window. After a few builds the complete functionality was reached. The product was bur raw and multiple bugs prevented its normal operation. As soon as the common components functionality was totally completed, test cases were developed to cover all the functionality of the common components (location on the screen, context menu items functionality, options window: modification, saving, cancellation, default). These were these test cases that were automated โ€“ scripts run over all the four hundred test cases in an hour and the results are saved in a log.

During the first few runs scripts revealed many bugs. Yet, after these were fixed and this functionality debugging, the developer team set to Presentations Mode development and then scripts were applied for the purpose of regression testing once in a few builds. Since this functionality does not further intersect with the implemented one, the new bugs were revealed but few during next regression testing.

When testing the Presentation Module, investigated were navigation across a presentation, shifting between the presentation play mode and editing mode, displaying and editing the available objects in the presentation, common controls operation when in presentation mode, masterslide components display.

The most time consuming stage of the development process was in diagram development. Each of ca. 50 diagrams, apart to the common (pattern) functionality, implements a specific request to a relevant database. Apart to testing common options of the diagrams (e.g., font, size, alignment, etc.), it was necessary to understand their algorithms and check for it to display the database request results correctly, which was performed successfully.

Simultaneously to checking the diagrams, additional functionalities were put into development: Data Source Manager, Aliases, Colors, Updater, and Slicing. The testing of their functionality was performed in normal mode. It is worth to mention our testing method of slicing in packages. For this purpose, we imported different data into empty databases on a few PCs. After opening the package we checked for the availability of these and those data in the open database by means of building the diagram. For the purpose of software versions auto update we created a dedicated server on one of our servers, while in a config file we changed the default server settings. Custom format testing was held simultaneously to Database Module testing; both test engineers participated (since this particular testing task includes both data correct import to database, and the imported data correct display in the relevant Presentations Module diagrams).

During the final stage of testing, in each build, we tested all the diagrams that are being build, main menu items functionality, opening presentations with saved diagrams. Once per several builds, scripts were run and analyzed.

During Aland Project testing, we performed the complete set of tests to check the Presentations Module functionality in total that involved the majority of theoretically possible use cases investigation.

Database Module. We started testing of this module with Scan type. In the first builds of Database Module, mapping and importing were performed slowly โ€“ the machine was busy a few hours to complete importing. It took a few builds to normalize Scan data importing.

Having completed debugging Scan data functionality, we started working in the two directions: other data types importing and intermediate import steps (plus supporting functionalities). After importing all the types (apart the Custom type), the importing was automated. The automation is grounded on the import profile functionality. Manually, there were created profiles that render initial data for different types in all possible combinations. A script loads them one-by-one, passes the all the import stages (ignoring all the undefined fields while mapping) and evaluates import results based on the information given to the Database Module log. This script was used until the release for the purpose of regression testing of all data types import.

Without any troubles there were tested: Field Map (including the multistage testing of added/deleted field usage while mapping), wizard functionality, hierarchy validation functionality (which was one of the most complicated testing jobs within Database Module, automation thereof was problematic, while Child Sum error was ejected off the point; to eliminate this we had to check the real numbers in database).

Apart to Database Module use cases running, data import was tested in the contest of data saving, i.e. the initial data was tested to be saved to the database. New user changes were also checked in the database. In the course of attentive and hypercorrect work with the database we produced many suggestions on improving the database operability. Also, enclosed user measurements were tested to be saved in the database.

It cannot but be noticed, but testing of Invalid Data Rules. We have developed the complete set of conditions that allowed for testing the filter complete functionality the filter. For this purpose we analyzed the source files content; the database was uploaded for every trial, after filtering database content was checked. The complete set of these tests was performed for each type of data. In the meantime, we discovered a faulty operation of one of the types, and discovered some bugs; besides we generated many suggestions of the functionality improvement. We created an exception coverage table for all data types in Database Module; the table cases were run for each build on the project final stage and allowed for the exception processing systemโ€™ correct functioning in the release build.

As a result of Database Module functional testing, there were analyzed all stages of data import for all data types, provided for the analysis of the data saved to the database.

Stress testing results

The objective of stress testing was to make sure that incorrect user actions (i.e., giving presentation or profile long file name, loading incorrect file types to the OLE containers, deleting open presentation files, etc.) are processed correctly and do not provoke various system errors and other malfunctioning.

Presentations Module. The exception processing policy was developed during the coding process. Initially, evident incorrect user actions. At the same time an incorrect file could be tried to open as presentation, and a system error occurred. Bugs occurred when attempting to load non-format files to OLE containers (e.g., Excel, PPT, Video, Audio).

A few incorrect actions were found when working Tchart component options (although Tchart, being an external component, was out of the scope of our investigation, which was negotiated with the developers). Thus, Tchart was not given a special attention and debugging. Although the few bugs discovered were described.

Saving patterns and folders to work with รครซรฟ slides also appeared to produce some bugs when stress testing. As a result of extended stress testing we discovered a few bugs that when debugged allowed for the application to operate correctly at user created stress loads.

Database Module. When testing Database Module we also applied stress testing that allowed to reveal a few bugs. In the case the specifics of the bugs was of another kind. The majority of stress cases when testing Database Module were connected with incorrect data input for import (or incorrect input data entering). As example of the cases we can mention, when importing, defining wrong types of input data, mistakes in the different data typesโ€™ formats, etc. I.e., exception processing system was not thought thoroughly out. All the revealed bugs were documented, so after their debugging the data input subsystem became much more operable.

Stress testing was continued for intermediate import pages. We tested mapping of the fact with test in a source file. For some data types it appeared to give a faulty result. Besides, stress testing when mapping database column containing test data, being tested as measurement, also gave a faulty result in case of some source data (type sets for the two mapping exceptions are partially overlapped).

User measurements adding functionality was put under large scale stress testing. Initially, its exception processing system was not thought out thoroughly. Standard stress tests were completed for the records profile page processing.

During Database Module stress testing we revealed some user actions uncovered by the specifications. After debugging the stress-tests-revealed malfunctioning the application could respond correctly to any user actions.

Usability testing results

The objective of usability testing was to make the product friendly to use and intuitively understandable. Apart to these general and vague objectives, there are quite specific and explicit UI ergonomic principles: e.g., of displaying error messages, of dialog buttons semantic meaning, windows and boxesโ€™ rules of forming, etc.

In Presentations Module, there were implemented diagrams, while in their optionsโ€™ names one of the characters was underlined. In other words, when holding Ctrl and the character simultaneously the focus moved to the control. (This was implemented in the previous version of Presentations Module.) In the new version the characters stayed underlined, yet, hot keys did not work.

In Presentations Module, dialog box size was optimized: to balance the controls size and form space. The same was done for the Database Module boxes.

We noticed, in Database Module, the created import profile cannot be deleted. It was motivated by the functionality unprovided by the specifications. After proper motivation of the necessity to fix the functionality, it was added to the Database Module.

After fixing all the above mentioned bugs and malfunctioning the GUI became more friendly.

Load testing results

The objective of load testing was to evaluate the both applicationsโ€™ performance accepted as normal operation one.

Presentations Module. With this application, load testing was performed in a few aspects. First, we tested dynamics of operations when working with presentations containing large number of slides with various content (diagrams, blinking text, OLE components). It came out that when slides exceed a few dozens (30 to 40 slides) the presentation slows down. At this, presentation viewing and editing was handicapped; other applications were also hardly operable. There were made suggestions on optimizing memory usage, which was done.

Apart to this, OLE components of the Presentations Module have undergone load testing. We revealed small bugs. Partially, they occurred due to OLE components hold the process and Presentations Module processes documents incorrectly. Besides, Excel and PPT components, appeared to terminate processes incorrectly when loading files off. This was described and fixed timely.

Database Module. Since it was not defined as multiuser system, the Database Module was assumed a local application. Thus, loading it with simultaneous connections was not held. (For simultaneous connections load testing we installed the database on a dedicated server; three engineers worked with it simultaneously). Load testing of Database Module was concentrated on testing large files import to be correct.

Load testing revealed the applications to be stable with large files containing data. Both Database Module and Presentations Module show normal results even with extra loads.

Installation testing results

Both Presentations Module and Database Module were installed with installation wizards. In this connection we included installation testing to the set of techniques to be performed for Aland application. The objective of installation testing was to check the applications installation is performed correctly in any mode and with all user selected options.

Testing the Database Module and Presentations Module installation wizards revealed few errors (mainly in interface and typos). Yet, apart to installation wizards, the package includes a database installator which was rewritten a few times, and thus, needed special attention. We performed compete installation testing on a clean OS image, which revealed SQL server installation problem. Hence, malfunctions were described and fixed.

Installation testing allowed for installation wizards debugging and the application correct installation.

Documentation testing results

The objective of documentation testing was to check for the complete implementation of customer requirements as per software requirements specifications. As a result of the above testing we revealed a few incompliances of the developed software to customer requirements (for the both of Database Module and Presentations Module) which were timely liquidated.

Documentation testing was one of the finishing testing techniques applied for the Aland product and logically completed the extend scale of the testing types and techniques applied for quality assurance of the software in its various functionality aspects.

Challenges when testing

One of the main challenges when testing, was insufficient commenting the code and specifications. Yet, because the communication process between our team and the developer team was well built (we discussed all issued and demonstrated bugs occurring online) the communication gap was bridged.

The QA team worked remotely of the development team, and lacked the possibility to participate in โ€˜liveโ€™ meetings, thus, having obscure vision of some development decisions made. On the other side, we canโ€™t but admit the fact, that if we were working side-by-side, we would have overlooked certain amount of mistakes. This was due to us having allocated a dedicated server for the database, and a separate test database, both created for the purpose of remote testing. As a result we discovered many bugs that simply did not occur in the developer database. Hence, we revealed and submitted for fixing many bugs that simply could not be discovered should we work in the same location. It is our remoteness and even detachment allowed us for the quality, independent testing (independent both from the software environment and pressure towards decision-making and working methods choice), and deep-reaching testing of software.

This is situation is very similar to the one when performing offshore outsourcing QA and testing jobs and can demonstrate our best performance and efficiency for such jobs.

Summary

For Aland project a dedicated team was allocated (one test engineer per Presentations Module and one per Database Module) that was busy with the project almost full-time. Many related aspects were tested together (e.g., Custom format, Slicing, packets, etc.). For automation works, occasionally, we engaged an engineer from the automated testing team.

For Aland project a dedicated team was allocated (one test engineer per Presentations Module and one per Database Module) that was busy with the project almost full-time. Many related aspects were tested together (e.g., Custom format, Slicing, packets, etc.). For automation works, occasionally, we engaged an engineer from the automated testing team.

The QA team worked remotely of the development team which allowed for the quality, independent testing, both from the software environment and pressure towards decision-making and working methods choice, and deep-reaching testing of software. This situation is very similar to the one when performing offshore outsourcing QA and testing jobs and can demonstrate our best performance and efficiency for such jobs.

The following testing types were applied to the Presentations Module and the Database Module:

  • Functional testing (partially automated functional testing)
  • Stress testing
  • Usability testing
  • Load testing
  • Installation testing
  • Documentation testing (configuration audit)

The testing work performed was deep reaching and quality. We researched the database completely, analyzed all the functionalities, continually held the regression testing which was made possible due to automated testing scripts.

The functional testing revealed that major functionalities work correctly with all possible specifications to the product (user requirements, GUI design requirements, and other requirements). The regression testing held in application modules was performed on qualitatively: all once revealed bugs were re-tested for occurrence.

Load testing revealed the application could respond correctly to any user actions.

Usability testing and installation testing allowed for decent tuning application GUI and the process of their installation (including the complete installation on a โ€˜cleanโ€™ operation system).

The documentation testing revealed a few incompliances of the developed software to customer requirements (for the both of Database Module and Presentations Module) that were timely liquidated.

The stress testing allowed for debugging the system of off-normal situations processing and make it react adequately for the most of user actions (including faulty ones).

As a result, after fixing the bugs revealed during these types of testing, the application was made compliant with the customer requirements and have the application behave correctly in case of incorrect user input.

About Bug Huntress QA Lab: The company was founded in 1998 as an independent software development and testing company. Wide experience in QA gained by the team and high demand on software testing services transformed the QA department into a new brand - Bug Huntress QA Lab (www.bughuntress.com). Bug Huntress QA Lab in cooperation with its Kuliev owner-company has developed a variety of cross-platform software solutions for business, security, healthcare and gaming industry. It is also known for its testing automation software for handheld devices.

United States (US): New York, Los Angeles, Chicago, Houston, Phoenix, Philadelphia, San Antonio, San Diego, Dallas, San Jose, Austin, Jacksonville, San Francisco, Columbus, Fort Worth, Indianapolis, Charlotte, Seattle, Denver, Washington, Boston, El Paso, Detroit, Nashville-Davidson, Memphis, Portland, Oklahoma City, Las Vegas, Louisville
United Kingdom (UK): London, Birmingham, Leeds, Glasgow, Sheffield, Bradford, Liverpool, Edinburgh, Manchester, Bristol, Kirklees, Fife, Wirral, North Lanarkshire, Wakefield, Cardiff, Dudley, Wigan, East Riding, South Lanarkshire, Coventry, Belfast, Leicester, Sunderland, Sandwell, Doncaster, Stockport, Sefton, Nottingham
Canada: Toronto, Montreal, Calgary, Ottawa, Edmonton, Mississauga, North York, Winnipeg, Vancouver, Scarborough, Quรฉbec, Hamilton, Brampton, Surrey, Laval, Halifax, Etobicoke, London, Okanagan, Victoria, Windsor, Markham, Oshawa, Gatineau, Vaughan, Kitchener, Longueuil, Burnaby, Ladner, Saskatoon
Australia: Sydney, Melbourne, Brisbane, Perth, Adelaide, Gold Coast, Canberra, Newcastle, Wollongong, Logan City, Geelong, Hobart, Townsville, Cairns, Toowoomba, Darwin, Rockingham, Launceston, Bendigo, Ballarat, Mandurah, Mackay, Bundaberg, Bunbury, Maitland, Armadale, Rockhampton, Adelaide Hills, South Brisbane, Hervey Bay

Similar Articles

Magento eCommerce News

Only Audit Services Power-up Your Magento Store - Check How!
What is this Magento platform all about? Is the sentence, โ€œMagento is the eCommerce technology that is set to live for agesโ€, correct? Popularity ratio attached with this platform answers this question. Before the year 2008, no developer had ever dreamt of using an eCommerce development platform
Top 6 Reasons to Update Magento Maintenance Policies
Companies offering Magento development solutions have the right to change their policies, but not without notifying their customers about the changes they make in support and maintenance terms and policies. There are several factors that lead to the revision of the policies. This might even affect
What Factors Make Magento Website Support Exceptional?
Magento is the leading eCommerce platform with multitude of features and benefits. The online market demands Magento websites to get improved exponentially. Meeting the fastest growing online marketโ€™s demand, helps businesses to receive desired ROI. Using this platform might be difficult or complex
Boost Revenue through Magento SEO Audit
If you own an online store, this article would help you in making its performance better. There might be several aspects responsible for poor or weak performance of your Magento website. Being an online store owner, you should make sure to get the best out of the Magento solution you paid for.
Magento Speed Optimization Tips to Boost Website Performance
In the furious eCommerce competition, internet has turned into a platform for several online stores serving customers across the globe. Shopping habits are also changing with the availability of several varieties of products with best deals and discounts. Isnโ€™t it great that to buy desired
Just 5 Steps to PSD To Magento Conversions!
With PSD to Magento conversion, web service providersโ€™ offer e-commerce solution with better capabilities and functionalities. In the process of conversion, Magento adds interactivity to your website through the PSD design you provide. Offer a design you wish to implement and professional web
Video Marketing โ€“ A Trending Promotional Tactic
Marketing process holds high priority in business. This year is called โ€œthe year of innovative marketing strategiesโ€ and video marketing is one of such invention that was added to the inventionsโ€™ list. To impress a modern customer is not less than a strong challenge. It is the time your business
Can Content Drive eCommerce Traffic? Know the Facts!
โ€œContentโ€- is not just a word, itโ€™s the major aspect affecting eCommerce industry. The ever changing market trends needs to be addressed. Engaging and interactive is considered the key to getting great visibility among popular search engines. Focusing on the conversion rates, eCommerce giants have
Crucial Factors to Consider in Magento Store Maintenance
Online stores โ€“ simple, cost effective and oneโ€“stop-destination for all the shopaholic present around the world. To fulfill the complex requirements of the active shoppers, eCommerce business owners have to continuously monitor the performance of their online stores. Thus, by continuously looking
Should You Integrate Your Magento Store with QuickBooks?
Magento is one of the most popular eCommerce development platforms trending nowadays. The era of online shopping is the revolution brought by Magento store development concept. Earlier, developing reliable and secure online stores was a tough and tedious task as it required many aspects into
Is your Ecommerce Design Impressive? NO, here is the Help!
eCommerce stores have made the shopping task simple and easy. There are few steps to take for completing the checkout process successfully. This process is a crucial step for any eCommerce store. Being the final step, it holds ample significance. Purchasing online is the latest shopping trend.
Make Your Online Store Interactive โ€“ Check out the Tips!
Magento is the open source content management system basically used for building eCommerce websites and applications. There is no doubt that eCommerce websites have been performing well in this world of internet. Building up an online store and managing it well is not at all enough. To get fair
Magento 2 Features that will Surely Attract you!
Magento is one of the best eCommerce application development platform that can help web development companies build excellent eCommerce solutions for enterprises seeking customized eCommerce application for the success of their online business. Magento 2 is the latest version of Magento offering
Excellent Tips for Accelerating your Magento Store
In todayโ€™s eCommerce era, Magento is the star with myriads of features for web developers as well as customers. Over time customers, shopping online, have started expecting more from the online stores owned by eCommerce giants. Magento being the perfect platform for building eCommerce store offers
E-Commerce Trends in 2020 Influencing Magento Web Development
Each year brings something new and beneficial in all aspects of life. eCommerce market is no exception and it can feel these novelties and latest trends that are directly associated with these technologies. With previous yearโ€™s trends i.e. personalization, localization, etc. letโ€™s have a closer

Other Articles

Site search
Technologies
Web Analytics