Frequently asked questions about quality assurance (QA), software QA, software testing, continuous integration, outsourcing QA testing, and more!
Quality assurance (QA) is a set of activities that ensure the correct implementation of processes, procedures, standards, and requirements for the development of software and applications.
Manually testing software is when a person tests software without the aid of any automated script or tool. This process is done to test code for bugs and unexpected behavior.
Manual testing is broken into five different stages: unit, integration, system, user acceptance, and deployment testing. Testing can be done by white-box, black-box or grey-box testing methodologies. The basic differences between them are:
- White-box – the tester has access to the source code and is primarily concerned with how the code is functioning.
- Black-box – the tester does not have access to source code and is primarily concerned with finding defects.
- Grey-box – the tester has an understanding of coding though not having access, and is primarily concerned still with finding defects.
Testers will use test scenarios, plans and cases to aid in manual testing. Manual testing is required before automated testing can be set up.
Automated testing is when a tester uses software or scripts to test an application, in contrast to using no software/scripts (or manual testing). The process involves the automation of manual processes through software, for evaluating a product for release; making sure it contains no bugs or defects, and performs smoothly.
In addition, automated testing runs the product through a quick yet extensive process meant to provide a total overview and verification of a package. Automated testing can save time and money compared to manual testing.
Continuous Integration (CI) is a practice in development of merging all developer working code at regular intervals into a shared mainline several times a day. Every time new code is added to the repository, a new build is automatically created, which is then tested to detect bugs and defects quickly, and allow developers to be more effective with their time.
We mainly look for creativity and analytical abilities in people. We also believe in using a DIY approach to acquiring talent, which means we hire people from all walks of life, whether they have relevant testing experience or not. Anyone can be taught a process, but it’s harder to teach creativity and analytical skills.
We use a great variety of tools for software testing including Jenkins, Cucumber, SE, Apache JMeter, and HP Unified Function Testing (UFT) as our preferred tools.
Other top software testing tools we utilize include:
- WebLOAD
- LoadComplete
- Apache JMeter
- LoadRunner
- Appvance
- NeoLoad
- LoadUI
- WAPT
- Loadster
- LoadImpact
- Rational Performance Tester
- Testing Anywhere
- OpenSTA
- QEngine (ManageEngine)
- Loadstorm
- CloudTest
- Httperf
In short, yes and no. The upfront cost may appear to be slightly less expensive, but offshoring doesn’t guarantee quality. When you sacrifice quality, your project will take longer, not be as well-polished, and ultimately cost more when you factor in the number of testers required and time to market. Which is why we offer our tapLAKESHORE solution; a nearshore solution that ensures you receive better service, and an end product at a lower price point than offshoring.
tapLAKESHORE clients enjoy benefits such as:
- Better communication
- Additional and more deliverable products and standards
- Greater test coverage
- Costs reduced up to 45% compared to offshore
- Reduced amount of resources
- Better testing accuracy
Quality > Quantity