Software testing and QA
MC2 IT offers a wide range of services, from extending your in-house QA and testing team to outsourcing the entire QA and testing function. We deliver fast, agile, forward-thinking, cost-effective automation and testing services uniquely tailored to each client’s specific needs. Our proven credentials in the full system development life cycle and deep insight into testing and compliance enable our clients to perform at their peak. The quality of our services is based on seasoned teams of IT engineers having a thorough understanding of the industries in which our clients operate.
Our QA and Testing services include:
- Functionality testing
- Regression testing
- Performance testing
- Compatibility / Integration testing
- Conformance testing
- Security testing
- Installation testing
- FUNCTIONALITY TESTING
We validate applications and web sites to make sure they conform to their specifications and execute in a satisfactory manner all the functions they are supposed to perform. The validation can be automated or manual and we use a wide range of normal and erroneous input data.
- REGRESSION TESTING
Regressions occur whenever a software functionality that was previously working correctly stops working as intended. These failures are usually due to unintended consequence of program changes (i.e. new release, etc.). In the software industry, the rate of defect introduction in the applications is quite high. In general, one out of six attempts to correct faulty applications are faulty themselves.
Regression testing is similar to functionality testing and is aimed at ensuring the following two conditions: a) Newly modified code meets the specified requirements and b) Unmodified code has not been affected by the change as above. By nature this is highly repetitive and the majority of the tests are best suited to automation, which significantly reduces the cost.
- PERFORMANCE TESTING
Performance testing is used to determine or validate the speed, scalability and/or stability characteristics of the product being tested. This type of testing can be divided into four types of categories: performance tests, load tests, stress tests and capacity tests. We perform these tests using this step-by-step process: 1) Identify the test environment; 2) Identify performance acceptance criteria; 3) Plan and design tests; 4) Configure the test environment; 5) Implement the test design; 6) Execute the test; and 7) Analyze results, report, and retest.
- COMPATIBILITY/INTEGRATION TESTING
The purpose of compatibility testing is to reveal issues related to the product’s interaction with various browsers, operating systems and hardware platforms. Different versions, configurations, display resolutions, and Internet connect speeds all can impact the behavior of the product and introduce costly and embarrassing bugs. We follow a step-by-step approach for this type of projects. 1) We identify the hardware/software/browser components that the product is designed to support; 2) We design a hardware/software/browser matrix showing the configurations on which the product will be tested; 3) We create a testing script that will be sufficient to evaluate compatibility between the product and the hardware/software/browser matrix; 4) We execute the script in the “real test environment” that we have created in our testing laboratories;5) We analyze the results, report and investigate any anomalies, and retest.
- CONFORMANCE TESTING
We verify the conformance of the product to be tested to industry standards. The tests that we design verify that the product provides the portability, interoperability, and/or compatibility defined by the standards it is supposed to be conformed to.
- SECURITY TESTING
Hackers find subtle and innovative flaws and exploit them . So we use a more regimented and more creative process to find them before they do. We identify and root out harmful security defects in both commercial and internal software applications.
Most of the current software security testing falls into the following two categories: random corruption of files or network protocols and re-executing existing, known vulnerabilities against new versions of software. We follow a very strict methodology to perform security tests and metrics. We focus on the technical details of exactly which items need to be tested, what to do before, during and after the security tests and how to measure the results.
- INSTALLATION TESTING
These tests focus on what customers will need to do to install and set up their new software. We execute installation tests initializing any run time errors that can occur during the installation. We fix the install program and run the repackaged installation. We test every single configuration and repeat the same sequence until there are no more errors.
Software migration and porting
It’s important not to oversimplify the porting process. Cross-platform migration and software porting are as much an engineering process as any other software development task. They are usually cheaper than developing new software from scratch as long as it’s done correctly.
But what is software porting?
Software porting is the engineering process of transforming an existing application so it can be run on a new platform. If it’s done correctly, this process involves careful analysis; building, debugging and testing the existing software to make sure that it will run reliably on the target. The porting of an application allows skipping some development steps but also introduces many decisional factors.
What are the types of software porting?
The main types involve a change of:
- Operating Systems
- OS version
- Development Tools
- Web platform
A typical porting process can be a combination of more than one of the above.
MC2 IT offers the following porting services:
- Software engineering. Each project is executed by an engineer with a thorough inside knowledge of your new and old systems.
- Maintenance engineering. We sustain the engineering of your products or cross-platform releases while your internal staff is focused on defined platform maintenance that is central to your core competency or on the development of next-generation products.
- Product Technical Support. We offer Level 2 support contracts to your internal staff and service representatives as well as Level 1 support directly to your end users.
- Quality Assurance & Reliability. This phase is focused on the characterization and discovery of the symptoms and effects related to the platforms, operating systems and technologies.
We offer high quality, reliable, fast and turnkey solutions that allow you to put your software on the market faster.
Software development and localization
MC2 IT provides all its clients what they need to run their businesses as well as possible – with maximum efficiency and reliability. We deliver full life cycle software development from idea generation to implementation. Our technical consultants start with defining and understanding your business as well as your business issues. They also strive to perfectly understand what you exactly need. They assist you in selecting the right custom software solution by analyzing functional, technical, operational and financial requirements. Once this step is complete, we use to Statement of Work that has been produced to start designing and developing the product you need. Working with you continuously, we are able to execute a project from a mere concept to the final, polished solution. We also make sure to perfectly understand your needs and give you the assurance that we will be there when you need us.
More specifically, we offer the following services:
- Custom software development
- Internet/Intranet software development
- AIR (Adobe Integrated Runtime) development
- DNN development
- Flex development
- SugarCRM development
- MS software development
It is also important to note that we develop software using a globalization-friendly approach. Our engineers have learned new terms and concepts to understand several models of culture and how these dimensions relate to the design of user-interface components (metaphors, mental models, navigation, interaction, and appearance).
Our services are unique as they encompass both software development and software localization. Your software, built with all the internationalization requirements in mind, is easier and faster to translate.
For years our engineers have been following critical rules when developing new software. These rules include:
- We separate INI Files for all text strings to make translation easier.
- We use development tools that support Unicode characters
- We do allow for text expansion in messages and all program buttons as English is one of the most concise languages in the world.
- Our engineers, from various ethnic backgrounds, are sensitive to cultural differences and nuances. They avoid colloquialisms or idioms in help files and web pages as well as terms that could be misconstrued or that translate poorly.
- We externalize messages in message catalogs, resource files, and configuration files.
- We don’t internationalize fixed textual objects.
- We don’t use variables when we can avoid them as they create questions about the gender of the term to substitute.
- We do perform pseudo-translation (replacing or adding characters to your software strings) to detect character encoding issues and hard-coded text remaining in the source files.
- We don’t insert hard carriage returns in the middle of sentences as the grammatical structure of sentences varies among languages.
- We don’t use text in icons and bitmaps as the translated text may be too long to fit.
- We use long dates or month abbreviations (vs. numbers) for the dates as many countries state the day first.
- We don’t alphabetically sort strings but try to give as much context as possible to the linguists.
The localization phase is supervised by seasoned project managers and executed by native linguists specialized in your industry. We deliver exceptional quality, on time and on budget. Please read more about this phase at [link].
The QA phase is carefully executed by engineers and linguists. Please read more about this phase at.
MC2 IT specialists address all major IT issues such as compliance, data integrity, Microsoft products, exchange upgrades or migrations, Active Directory, Windows and SQL. We specialize in the areas of ERP, CRM, data warehousing, web technologies and system integration.
Our experts have a customer-centric attitude. They are not only IT experts but also highly skilled at listening to you and solving complex technical problems. They only use industry-recognized best practices and are always up to date with the latest technologies. More specifically, they know what technologies are available on the market and what technology can and cannot do for various applications as well as the costs involved.
We can offer full-spectrum services or complement the efforts of your IT staff, taking over routine, time-intensive duties and tasks that require highly specialized or expert skills.
No matter which option you choose, our technical expertise and our delivery methodology assure you a customized solution that will lead your business to the top.
More specifically, our step-by-step approach includes the following:
1 – Audit
Our first step is to make sure we know the exact structure of your network, the software/hardware you own, the expiration date of your licenses, etc. We also listen to your requirements and take note of your unique needs and challenges as well as budget and deadlines.
During this phase, we undertake a complete review of your environment (network structure and elements, documentation, network redundancy, support contracts, operations).
2 – Analysis
Our second step is to analyze the problem to be solved and/or the project to be executed. Our approach is not only technical but also practical as we take all the factors into consideration.
3 – Recommendation
We recommend the best course of action for your business. During this phase, we make sure to use a language which is perfectly appropriate to our counterpart (i.e. IT lingo for technicians and business language for nontechnical managerial staff).
4 – Implementation
During this phase, we make sure to build a dynamic foundation that will remain fully integrated to your business.
Each phase is customer-centric. We always listen to your feedback to make sure we are on the right track and that you perfectly understand and agree with what we are doing. We also focus on the long term and make sure we provide all our customers a tailored solution that fulfills present and future needs.