Some of our areas of expertise in ALM are described in more detail below:
SQA Consulting is a recognised industry leader in all aspects of software testing. We specialise in leading and supporting:
requirements validation and verification
- static testing
- systems and integration testing
- automated testing
- performance testing
- user acceptance testing
- operational acceptance testing
- digital transformation testing
Requirements validation and verification
Testing software is sometimes perceived as expensive by organisations keen to control costs. But costs can be minimised and quality assured by ensuring that requirements are verified and validated as early as possible in the software development lifecycle. Two important factors are system verification and requirements verification. System verification ensures that the system conforms to its design and complies with the system requirements. Requirements verification ensures that the system requirements are satisfied and also that the technical, derived, and product requirements are verified. Checking the system requirements is common to both of these processes. Validating requirements means ensuring that:
- requirements are correct, complete, unambiguous and consistent
- a model that satisfies the requirements can be created
- a real-world solution can be built and tested, and shown to satisfy the requirements
To ensure cost reduction and quality enhancement, SQA Consulting facilitate and provide traceable documentary evidence of requirements:
In contrast to dynamic testing, static testing does not run the code that is being assured. Instead, it involves sanity checking code, algorithms, or documents (eg specifications and requirements documents) by manual reading, code reviews and walkthroughs. The aim is to check syntax, find errors, and ensure completeness or appropriateness. Defects discovered at this stage of development are less expensive to fix than later in the development cycle.
Static software quality analysis techniques are useful for debugging at the code level and help to ensure a clean software development. Checking the code as it is being written ensures that the risk of problems in the future is kept to a minimum.
Though static testing works perfectly well as a manual process, it can also be automated. A static testing test suite consists of programs to be analysed by an interpreter or a compiler that asserts the programs syntactic validity.
System & Integration Testing
The System Testing phase ensures the successful unification of integrated components to form a functional system, and the subsequent marriage of the system under test to one or more other systems in a common environment.
System testing ensures that system functionality and performance matches the specification. It proves interoperability and architecture; ensures business critical processes perform as specified; and controls costs by mitigating the risk of possible system redevelopment costs once the system has gone live.
The coordination of system testing requires specific management and technical skills. SQA Consulting has extensive skills and experience in this area. We also have a documented methodology for systems testing for both bespoke and package software development.
Our approach begins with business definition and requirements capture. Next is evaluating, selecting and implementing the best testing tools to carry out end-to-end system testing. This ensures the system and allied processes meet the initial business objectives.
Once a system has been tested to prove that it functions correctly on its own, it is necessary to test it working alongside other systems. Integration testing is used to check that the data flowing to the application from other applications is manipulated correctly and that the data returned from the system under test to other applications is in the correct format for use by them. Our experts perform this integration testing as part of our standard approach.
As a minimum, our standard approach provides a manual testing solution and tailored reporting. We also provide test automation, load, stress, and soak testing where applicable. The use of automated testing greatly reduces the time and overall cost of testing. SQA Consulting is expert in automated testing.
SQA Consulting is proud of its ability to provide quality assurance processes that are supported in part or entirely by computer based tools. Our approach allows us to develop and execute automated test cases irrespective of the testing tool of choice. All tests are re-useable, amendable, and easily identifiable.
Our automated framework deployments are an abstraction from the testing tool. Benefits that we obtain include:
- complexity is hidden
- scripts are flexible and readable
- provides a testing grammar
- customised to requirements
- eases maintenance burden
- provides a comprehensive audit trail
- interprets the test case
- provides full error recovery
- expedites creation of automated scripts
- holds automation expertise
- shields testers from programming
- lowers maintenance overheads
- auditable, traceable and readable
- puts focus back onto testing requirements, not automation implementation
- test data input can be taken straight from test management software or via XML files, .ini files, database, Excel sheets, Quality Centre, Application Lifecycle Manager or ASCII text
Performance testing validates the ability of your system to work effectively under high loads. Thus, it guarantees that your business can continue to operate work smoothly when it matters most. Performance testing requires a team with the technical and business expertise to simulate high loads and fine tune systems for peak performance. SQA Consulting has that experience and expertise. Our performance testing service includes:
- defining requirements
- monitoring and analysing the system under test
- defining test environments
- designing, planning and executing tests
- making recommendations for improvement
- load balancing
- performance tuning
User Acceptance Testing
User Acceptance Testing is considered from day one of the software development lifecycle in the SQA Consulting approach. Whilst developers can test against the system specification and technical documentation, User Acceptance personnel test that the system is fit for purpose against the business requirements. SQA helps its clients in this regard by:
- carrying out all static testing
- analysing, validating and verifying all of your business requirements
- planning and documenting user acceptance criteria, and modifying those criteria as requirements develop during the project
- setting up and maintaining the UAT environment, and designing User Acceptance Tests.
- making recommendations for supporting tools
- monitoring and controlling the UAT process while carrying out continuous risk assessments throughout the life cycle
- measuring test effectiveness, enabling a prediction of future test effort and corrective maintenance to be made.
- monitoring changes to the testing process to deliver metrics about errors found during and after User Acceptance Testing. This can give an on-going measure of test quality.
- mentoring, training and supporting your staff
Operational Acceptance Testing
Operational Acceptance Testing ensures that all non-functional aspects of a system are tested to ensure that the system is within specified parameters. The original requirements of the project are examined and testing undertaken to ensure that the requirements are being satisfied. Load and performance tests that assess the ability of the system to operate at the desired levels are performed and results collated and presented in an easy to understand format.
The ability of the system to perform reliably and to recover from problems is also tested. Backup recovery and data integration tests are performed to ensure that system data is recovered properly. The contingency plan for disaster recovery is tested and implemented to check that the system can recover effectively. The supportability of the complete system is also tested.
Also within the umbrella of Operational Acceptance Testing, non-functional testing disciplines such as Soak and Penetration Tests are conducted. SQA Consulting has the technical expertise and experience to fulfil all of these testing requirements.
SQA Consulting has extensive experience in designing, leading and delivering operational acceptance test projects for a wide range of organisations. We use a structured approach to identify weaknesses in disaster recovery and backup implementation as part of OAT and can help understand which areas will cause the most defects and problems in the business application. We have extensive experience acting as mediators between users, developers and third party vendors. We can plan dress rehearsals and we can prepare 'live proving’.
Digital Transformation Testing
The digital needs and expectations of consumers and clients is evolving rapidly. They expect relevant and personalised content from a wide variety of sources to be available in an easily usable format on all of their devices. To engage an online audience, it is critical that marketers identify quickly which offers and content are relevant and compelling to their audiences. Armed with this knowledge gained through website tracking and testing, marketers need the ability to update their sites quickly so they can target appropriate content to different audiences. Mobile apps play a huge role in enhancing or facilitating that experience.
The facts below that were correct in 2014 and out of date already in 2015 as mobile services grow exponentially across all sectors
- 71% of enterprises are deploying mobile apps (Deloitte)
- 830 million enterprise and smart phone users in 2012 (ABI Research)
- 93% of Fortune 500 are deploying or testing apps for the iPhone (Rosenberg)
- 90% of Fortune 500 companies are deploying or testing for the iPad (Rosenberg)
- 94% of enterprise leaders think that businesses will invest in connecting their mobile apps to their back end systems (Appcelerator)
- 73% of business rates “increased efficiency” as a very important key benefit in mobile computing (Symantec)
- 127 minutes a day is the average time people are spending on mobile apps (Flurry)
- 31 minutes a day is the average time people are spending on mobile web (Flurry)
- 7.9 is the average number of apps launched per person per day (Flurry)
- tablet sales predicted to increase by 70% to 197 million by the end of 2013 (Gartner)
- 60% of the UK population own a smartphone and nearly 1/5 own a tablet (Ofcom)
- 75% of people report using mobile apps for customer services purposes as well as using the app to assist with a buying decision (ClickFox)
- 40% of smartphone users use their phones at least once a day while watching TV, 41% of tablet owners do the same (Nielsen)
SQA Consulting has successfully supported financial institutions delivering £20 million worth of change a month through the integration of digital technologies across internet, intranet, desktop, mobile, cloud, call centre and email.
SQA Consulting provides bespoke and framework driven automated mobile testing solutions that address the functional and non-functional validation of mobile applications. Our solutions have been deployed within the Banking, Government and Retail vertical markets, continuously honed to provide single source solutions that are managed by VSTS, ALM and Test NG and underpinned by API driven, BDD driven Open Source, (examples include, Cucumber, FitNesse and SpecFlow) and Commercial Automated Testing tools (examples include UFT, Selenium, Appium, Perfecto Mobile, eggplant and HP Mobile Centre) .
- Enable Accelerated Setup
- Can be Cloud Enabled using a Mobile Lab
- Can Utilise Real Handsets and Emulators
- Are Tiered so that Business and Test Analysts Generate the UI Scripts and Technical Resources Can Capitalise on the API and Functional Libraries to ensure Seamless Test Coverage
Our solutions target the following Operating Systems:
We ensure our solutions provide backward as well as current compatibility
Our mobile testing consulting services include:
- Battery Performance
For more information on Mobile or and of our Testing Services please email email@example.com
2. Quality Reviews
A Quality Review analyses product and process components and documentation for mismatches between specification and design. Quality Reviews ensure that the objective of improving quality is related to business need by:
- achieving transparency and manageability of the business process by orienting them to customer need
- identifying responsibilities and authorities in the organisation
- improving business processes and the projects and developments that are critical to their success by installing metrics to measure and report on corrective and preventative measures applied
- setting quality criteria
A Quality Review will identify the important criteria that must be achieved to implement an improved and profitable Quality Management System.
3. Test Strategy Creation
A test strategy must be traceable to software functional and non functional requirements and describe how they will be validated and verified. As much as half of a system development budget may be expended on testing if it is not done correctly. Careful planning is crucial to maximise test efficiency and minimising testing costs.
Areas included in this service include:
- constructing test strategies
- reviewing and implementing testing processes
- evaluating and selecting automated testing tools
- recommending automating testing best practice
- establishing professional testing teams
- assessing software risk
- validating requirements specifications
- developing test data
- producing high level test schedules and project plans
4. Test Centre Creation
Creating a centralised test centre will reduce costs, unify processes and ensure reuse of test assets while capitalising on resource secondment. Whether you are in the process of centralising your testing capability or looking to create a centre of excellence from scratch, we can provide expert management consultants; programme test managers; environment, configuration and change managers; database specialists; ISEB qualified test consultants; business process specialists, and data analysts. We also provide bespoke training packages, tools and methodologies; error logs; risk management and quality standards, tools and resources; templates; reporting dashboards; coaching and mentoring. We can:
- provide the common disciplines of effective testing to all project managers for best practice
- provide support from a central point to instigate the most effective testing across multiple projects and software developments
- reduce the cost of testing by applying the correct testing resource in the most efficient manner
- ensure control is retained by the business by delivering effective reporting and metrics
5. Configuration Management
Software configuration management is the task of tracking and controlling changes to software. Practices include revision control and establishing baselines.
Software configuration management concerns itself with answering the question "Somebody did something, how can one reproduce it?" Often the problem involves not reproducing ‘it’ identically, but with controlled, incremental changes. Answering the question thus becomes a matter of comparing different results and analysing their differences. Traditional configuration management typically focused on controlled creation of relatively simple products. Now, implementers of software configuration management face the challenge of dealing with relatively minor increments under their own control, in the context of the complex system being developed.
Configuration management goals:
- configuration control
- status accounting
- build management
- process management
- environment management
- defect tracking
SQA Consulting employs specialist configuration management consultants who are expert in configuration management goals and the configuration management tools denoted below:
- Visual Studio Team System (Microsoft)
- HP Quality Centre / Application Lifecycle Manager (HP)
- Rational Team Concert (IBM)
- MKS Integrity (MKS Inc.)
- Synergy CM Telelogic (IBM)
- Change Telelogic (IBM)
- DOORS Telelogic (IBM)
- BMS (Borland)
6. Release & Change Management
As software systems, software development processes, and resources become more distributed, they invariably become more specialised and complex. Furthermore, software products (especially web applications) are typically in an ongoing cycle of development, test, and release. Add to this an evolution and growing complexity of the platforms on which these systems run, and there are a lot of moving pieces that must fit together seamlessly to guarantee the success and long-term value of a product or project.
Therefore, a need is created for dedicated resources to oversee the integration and flow of development, testing, deployment, and support of these systems. Although project managers have done this in the past, they generally are more concerned with high-level, ‘grand design’ aspects of a project or application, and so often do not have time to oversee some of the more technical or day-to-day aspects. Release Managers (RMs) address this need. They must have a general knowledge of every aspect of the Software Development Lifecycle (SDLC), various applicable operating systems and software application or platforms, as well as various business functions and perspectives. A Release Manager is a:
- liaises with business units to guarantee smooth and timely delivery of software products or updates
- holds the keys to production systems/applications and takes responsibility for their implementations
- server application support engineer
- helps troubleshoot problems with an application (although not typically at a code level)
- coordinates related source trees, projects, teams and components
release managers deal with:
- software defects
- software change requests
- new development requests (additional features and functions)
- deployment and packaging
- new development tasks
Due to the relationships between change, release and test management and the calibre of our testing professionals we are often called on to mobilise resources who can deliver in the capacity of either release or change manager.
7. Environment Management
SQA Consulting recognises the issue of unnecessary costs being incurred from not getting your test environments right first time. To ensure that this doesn’t happen to you, we will deliver or assist you in delivering:
- environment documentation
- full inventory
- connectivity diagrams
- data flow diagrams
- stored in the source code repository
- environment configurable items
- identify all configurable items
- document and store these CIs in source control system
- monitor and update these CIs as the environments mature
- base line specifications
- platforms, base operating systems and applications
- components common to environments
- other commonalities between environments
- component configuration sheets for each environment
- environment support requests
- day to day support requests
- identify escalation specialists and owners for technologies used in the environments procedures and channels
- liaise with infrastructure, support and development
- Smoke testing and pipe cleansing
- high level basic tests to prove the environment
- list of all areas that require cleansing; including, message queues, stubs, links, log files
- executed environment health check scripts