Search
Categories
- Categories
- Cogniance biz news (3)
- Cogniance life (2)
- HR and recruitment (1)
- Marketing & Optimization (6)
- Mobile technologies (4)
- Quality Assurance and testing (5)
- Uncategorized (9)
- Web 2.0 business (4)
- Web 2.0 technologies (11)
Archives
Meta
Archive for August, 2009
SEO harvest. What do you get except optimization?
Thursday, August 27th, 2009SEO as a Search Engine Optimization becomes a well-known term, especially in circles related to Internet/Web technologies and between website owners. But do you really know that what you get optimising your site?
![]()
First of all, at beginning you will have to list the key words for search and define your target audience, and this is almost the main goal for every website. Once you defined keywords and audience, you have the direction. Also you will need to set up a statistics application (like Google Analytics) to see and monitor the results of optimization work – it will let you know if you really reached your target audience.
At this step find your competitors and compare your and their keywords, target audience and page content that matters not only pages but the oversall website ranking.
The next is the content optimization for the defined keywords (unless the content is not optimized already). The task at this stage is to review all website content for mistakes and relevancy. Like in the case with content, the website structure should be optimized too – this will help search engines easily find the relevant page upon user request. And do not forget about the code optimization, which means the pages should have no html errors (you can use W3C validation for this).
In general, the Optimization Process is complete once you have finished inside changes. Next goes Social Marketing optimization that engages efforts in Social Networks and different directories. This will take much more time and will be during long period if you need many visitors and strong popularity of the site.
As a summary, let’s list the advantages you get apart from the site ranking:
- Strong understanding of your keywords and target audience
- Competitors’ list and their keywords
- Statistics data including number of visits, visitors, users profiles, traffic sources, etc
- Aligning each part of your website as structure, content and code with your targets
- Check and fix appearance of the site in different browsers
- Useful contacts in SEO field, target audience and social networks
- Define list of advertising sources clearly measured according to value they bring to your business
SEO specialist always helps you to plant seeds and harvest the site position and number of visitors. Be attentive to offered strategies, follow the list of actions defined by optimizator and always request statistics data to track the influence of each step.
Written by Yuliya Leonova
Site visibility depends on HTML validation
Friday, August 21st, 2009There are many sites on the web; one can find almost everything he or she needs. The main issues people are concerned in this instance are adequate site appearance in different browsers and the information itself we were looking for narrated in up-to-date facts and viewer-catching manner. At first glance, there is nothing about search engine optimization or validation. But these both are important, if you wish your portal to be visible for search engines and appear in Google or Yahoo! search results.
HTML Validation is the process of checking the document for compliance with web standards and bug search in html code, so the document is considered to pass the validation when it has been checked for errors, and a validator has no remarks to the code.
At the end of html validation process you will have a page without visible errors and your website will appear nice in any browser. This should be done at SEO stage doe to several reasons:
- this will add to site visibility for search engines; search engine will never quote your site in top10 if there are many errors there
- this will allow your portal be properly laid out in almost any browser
- validation optimizez the cod,e so the pages are loaded faster
There are many advantages for doing page validation – pages get the structure becoming a web-standardized document; for large sites this will simplify editing and creating new pages. But please remember that users are mostly interested in the content rather than the code changes.
So pay attention to the content making it popular and interesting, but do not forget about the code validation & optimization and marketing features that your website more popularity.
Written by Yuliya Leonova
Automation testing
Friday, August 14th, 2009Everyone knows how important testing is, and, successively, everyone actually involved in software development does test the software that they release. But even a simple application often has so many different possible behavior patterns that some only take place in rather unusual circumstances. Thus, automation testing is a big deal even if a project is not very big but split into many iterations.
Here at Cogniance, we have a bright team of automation and performance testers working together for 2.5 years on different projects. Average experience is 5+ years in target area per team player.
We work(ed) with the following software tools:
TestComplete, Quick Test Pro 9.2, Selenium, SilkTest for automation testing tasks and JMeter for performance testing.
TestComplete (licensed for us) and QTP (licensed for our customers) are our primary tools, while Selenium and SilkTest used specially for legacy projects and for comparison purposes. Below is the list of features of TestComplete:
- Script-free keyword testing for ease of use
- Scripted testing for total flexibility
- Windows and Web testing
- .NET, Java and Ajax support
- Flex, Flash, WPF and Silverlight support
- Internet Explorer 8 and Firefox 3 support
- Windows Mobile, Win CE, Smartphone support
- Windows NT, 2000, XP, Vista 32-bit and 64-bit support
- Open APIs,
which basically justified our choice of TC as a primary platform. As script language we use JavaScript.
QTP is mostly used for Flex application testing on costumer projects. Main advantages of QTP are:
- It has lots of plug-ins: such as ActiveX controls, Web Applications, VisualBasic, Microsoft .NET, Adobe Flex
- Keyword and Expert view modes
- Great object identification mechanism
- Centralization scripts running from the Quality Center
For performance testing tasks on all projects we use Jmeter, which is free and has following advantages:
- Complete portability and 100% Java purity
- Full Swing and lightweight component support
- Full multithreading framework allows concurrent sampling by many threads and simultaneous sampling of different functions by seperate thread groups
- Careful GUI design allows faster operation and more precise timings
- Caching and offline analysis/replaying of test results
Often we use remote script running (on the server where system is installed or in the same LAN area) to avoid connection latency issues and see real server performance and stress reduction ability.
JMeter has beanshell module, which allows writing java code that enables creating complicated projects (not only for regression testing) for different tasks and applications.
Regarding target platforms for web-automation tasks, we use IE7 and FF3 as the primary for automation testing, and manual scenarios for Mac and Chrome, if requested by costumer. Automation test development under Mac platform possible but not in strong demand for it yet.
Written by Sergey Lyakhov
Scaling Ruby applications
Wednesday, August 12th, 2009The question “how you gonna build scalable Ruby application” is quite usual for our potential clients. While it is (naturally) impossible to answer this question within several minutes, there are some aspects to the answer, which we see important to mention. Here are these aspects:
1. First of all, we’ve recently moved from the schema with Apache as a load-balancer with Mongrel servers farm behind to the schema with Zeus (http://www.zeus.com/products/zxtmlb/index.html) as load balancer and farm of Apache with Phusion Passenger module which ‘plays’ Ruby scripts (http://www.modrails.com/). We find this approach to be more effective than Apache+Mongrels, including more effective handling of caching strategies.
2. Talking specifically about database level caching, we use either cashing on Active Record level or external cashing libraries. Our favorite is Memcache (www.danga.com/memcached/).
3. Talking again about DB optimization, we put much attention to effective DB indexing and optimization of SQL queries, including (in some rare cases) usage of stored procs.
4. In some specific cases, which include very heavy usage (10-12 000 web quieries per minute) we use nginx (http://sysoev.ru/nginx/) web server which works (as we’ve found out) more effectively with static, cashable data then Apache. It is also worth mentioning though that both Apache and nginx are able to work with memcached via pluggable modules.
As mentioned, these are just some aspects, but general rule is that you choose specific cashing approach for eash app you build – depending on functionality of this app, its architecture and of course level of load it experiences.
Mobile Applications Testing (Part 2)
Tuesday, August 11th, 2009No surprise that testing of mobile applications is a much more painful task than testing the Web ones. Mobile phones can differ from one another dramatically, and this will radically change the way people see and use mobile applications and websites. There are a lot of different cases and dependencies that need to be considered for every single mobile device. I’ll point out several of them to cast some light on the problem scale.
First of all, it’s all about the application type – it can be native, cross-device, sms-powered, and a web application. Then, we need to consider carrier, handset manufacturer, model, OS and a browser. All these can give us the information about screen size (small vs. large), screen layout (portrait vs. landscape), input device (numeric keypad, QWERTY keypad, touch-screen), etc.

Here, at Cogniance, we experience each type of mobile applications testing, but the most exciting and bright experience was with Native applications development/testing. The application under test was Brew Mobile Client connected to the social network. It was developed for a predefined range of devices under Verizon Wireless carrier. I’m not going to describe the whole testing process and methodology, but the main bottlenecks were numerous certifications, signature files, application testing under a real network, using DeviceAnywhere Studio to cover required set of devices, and a lot of other extremely expensive procedures.
I would suggest moving towards the mobile Web applications. Think about it: If you’re creating a website, you don’t have to get permission from a carrier. You don’t have to get something certified by anyone. You don’t have to beg for being placed on the deck, and you don’t have to pay half your revenue to a reseller. In fact, the carriers, handset and OS vendors probably won’t even be aware of your existence. It will just be you and the user, communicating directly.
“The business of making native apps for mobile devices is dying, crushed by a fragmented market and restrictive business practices. The problems are so bad that the mobile web, despite its many technical drawbacks, is now a better way to deliver new functionality to mobiles. I think this will drive a rapid rise in mobile web development, largely replacing the mobile app business. This has huge implications for mobile operators, handset companies, developers, and users.” Michael Mace, a product planning and marketing executive in Silicon Valley.
Written by Alexey Koval
Cogniance