Websites | Staging Site

What Is a Staging Site? How Do You Set One Up?
WPEngine (WordPress) | Jan 12, 2022

What is a staging site? To put it simply, a staging site is a clone of your live website. It enables you to test any changes or major new features that you plan to implement in a secure environment. Developers typically use staging sites to test changes and fix bugs before going to production.
Your staging site is intentionally identical to your live site—same plugins, same settings, same widgets, and so on. The only real difference between your live website and a staging site is that the latter is not live.
Instead, it exists in a sort of sandbox where you can see how your website would react in everyday scenarios. Anything that happens in the staging environment won’t affect your live website.

Development vs. QA vs. Staging vs. Production Sites
Most common types of WordPress testing environments that are used during development:
Development website. This environment contains all the latest iterations of the code you’re working on. It’s perfect for initial testing of new features.
Quality Assessment (QA). During the QA process, changes to your website will be tested thoroughly to find any issues that you may have missed while coding. This type of environment is most often used by large companies, since they can’t afford to have bugs pop up on live sites.
Staging website. A staging website acts as the bridge between the development and live versions of your site. At this point, any remaining errors should be addressed, and the changes should be ready to roll out.
Production website. This is the live version of your website that users will see. If you’ve been careful throughout the development process, this iteration of your WordPress site should be bug-free and provide a flawless user experience.

Staging Environment vs. Testing Environment

The Benefits of Using a Staging Site
Enable you to produce better websites
Provide you with the opportunity to catch errors and bugs without putting your site at risk
Are usually simple to create
Can be set up locally or online (depending on your preferences)

The Drawbacks of a Staging Site
It takes longer to update your website (as you need to test changes first).
Web hosts often charge for a staging site service (although you can always set one up locally).
Staging sites may not be exact replicas of a live website (caching is not usually enabled on a staging site, for example).

Who Needs a Staging Site? Ideally, everyone who runs a website needs a staging test site. However, if we’re being practical, staging websites should be used at the very least by anyone who runs a sizable operation.

How to Create a Staging Site for WordPress
Option 1:
Set Up a Staging Test Site Through Your WordPress Host
Option 2: Using a WordPress Staging Plugin to Create Your Staging Sandbox
Option 3: Set Up a Local Installation

Should You Create a Staging Site Manually?
How to Deploy Changes to Your Live Site
Develop Safely With WP Engine

Author = Erin Myers

URL = https://wpengine.com/resources/what-is-a-staging-site-why-have-one/

Websites | Quality Assurance

Your Complete Guide to Website QA (Quality Assurance) with Free QA Checklist
SEOptimer | Undated

What is website QA? Website QA (Quality Assurance) can be defined as the process of testing a website in order to discover mistakes, errors or oversights that may not have been noted during web development or design before going live. It is also referred to as QA testing. Note that QA begins way earlier, even before development begins. It starts as soon as the requirements for the website are laid out and culminates in testing. Its overarching concern is the quality of the overall site, which goes far beyond just fixing bugs.

How does QA differ from other testing types?
QA is a process, not a one time task.
QA vs user testing
QA vs functional testing
QA vs requirements testing
QA vs design testing

Other testing types:
Regression testing
– evaluating whether making changes in your site affects other parts of the site. It checks whether any changes to the code, for example, breaks the site.
Integration testing – this is testing whether third party services or sources are working as expected when integrated with your site. These services may include APIs.
Performance testing – this tests whether the site can handle traffic spikes and surges. This test may also include how fast the site loads.
There are many more tests that you could do on your QA testing.

Why is it important? Website QA is geared towards ensuring that the web site’s user interface (UI) functions as intended (there are no bugs). It also makes sure that great user experience is achieved. Here are the other benefits of QA testing:
Showcases your brand as reputable.
It could reveal problems that may have dire consequences.
Allows for the delivery of a reliable site.
It ultimately saves the business money and time
.

How to carry out website QA testing
Factors to consider when designing a QA process flow
Audience
Application type
Test specificity
Risk level
Estimated number of users
Tools to use
The platform the site is accessed on

QA best practices
Define the users who will be using the end product.
Follow your checklist for every testing phase or type.
Test using a staging site (a site that simulates the real site).
Schedule the amount of time each testing phase needs to take.
Test as early as possible – test new features as soon as they are added.
Use an agile QA approach (test at the end of different stages of development).
Prioritize bug fixes, depending on how critical they are to your site’s functionality.
Automate where possible, especially the high risk parts of the site. Do not ‘over-automate’, though. Prioritize testing the parts where automation would fit best.
Strive to establish a collaborative approach between your QA team and the design/development team.
Create a site mind map, a visual that will help you see your site’s structure in order to get an idea of the scope of work and identify the parts that you need to prioritize.

What tools can you use for your website QA?
TestRail
CrossBrowserTesting
Web Developer Form Filler
Ranorex Webtestit
Window Resizer
CloudQA
SEOptimer

Website QA checklist
Functional testing
Performance testing
Security testing
Compatibility testing
Content testing

Use our website QA checklist for your needs, and add to your own checklist and customize it as you see fit.

Author = Jay Kang

URL = https://www.seoptimer.com/blog/website-qa/

Mobile Apps | Quality Assurance

The Ultimate Guide for Mobile App Quality Assurance
The Brihaspati Infotech | May 18, 2018

A study claims that “The top reason why people deleted apps after installing was because of crashes or installation errors. This figure amounted to around 62%.”

4 COMMON MOBILE APP QUALITY ISSUES

Functionality issues
Functionality issues deal with identifying the anomalies infested in the user journey and navigation flow of an application. The app should provide a functional User Interface that meets the functional requirements. The key areas to test involves:
The installation process of the app
Sign up and login process
Device-specific functions including the camera, sensors, screen orientation and input methods.
Error messages generation.
App upgrade process

Usability issues
This phase deals with determining how easy it is to use the app interface. The interface functions should be clear and not create any misunderstandings. There shouldn’t be any glitches in accessing any functionality offered by the app.

Performance issues
Performance issues account for nearly 30% of complaints on the Appstore and Play Store. As the user base of an app increases, the performance of an app is certainly be affected. It is wise to be aware of the number of concurrent user limit that would start affecting the performance of the app and at what time it can recover.
Additionally, developers often tend to ignore the load an app puts on the device, it’s battery, RAM, and data usage. Always make sure the usage is within industry limits.

Security issues
A fully functional yet unsecure app can lead to severe consequences. The application should always be tested on the basis of:
Confidentiality: Are proper encryption methods used to secure private data?
Authentication: Is the app authenticating a user appropriately before giving data access?
Authorization: Is the application demanding access to only the required services on your device?
Storage: Is the data stored locally on the device properly encrypted?
Web Services: Is the app interacting with web services using secure protocols?

10 QUALITY ASSURANCE TIPS FROM OUR EXPERTS

Use Multiple Testing Approaches
Ensure mobile app quality assurance by performing an array of tests that include:
Cross-Platform Testing
Functional Testing
User Interface Testing
Accessibility Testing
Performance Testing
Security Testing
Start with a Smoke Test
Test on different devices
Keep an eye on resource usage
Test under various stress levels
Document each test case with consistency
Check device’s hard keys

(Yes, only 7 tips…)

URL = https://www.appfutura.com/blog/ultimate-guide-mobile-app-quality-assurance/

Differences between TDD, ATDD and BDD

They are not the same. Article covers:

TDD = Test-driven development = a technique of using automated unit tests to drive the design of software and force decoupling of dependencies.

ATDD = Acceptance Test Driven Development,
aka STDD = Storytest Driven Development = a technique used to bring customers into the test design process before coding has begun. It is a collaborative practice where users, testers, and developers define automated acceptance criteria.

BDD = Behavior-Driven Development = combines the general techniques and principles of TDD with ideas from domain-driven design. BDD is a design activity where you build pieces of functionality incrementally guided by the expected behavior.

Article also discusses Differences.

Author = Gabo Esquivel

https://gaboesquivel.com/blog/2014/differences-between-tdd-atdd-and-bdd/

Test Automation Tips and Best Practices

Article covers: Top Tips for Test Automation

Manual vs Automated – Testing vs Checking
Automate Regression Tests
Design Tests Before Automating Them
Remove Uncertainty from Automated Tests
Review Automated Tests for Validity
Don’t Automate Unstable Functionality
Don’t Expect Magic From Test Automation
Don’t Rely Solely on Automation – Beware of Passing Tests
Aim for Fast Feedback
Understand the Context
Don’t Automate Every Test
Use Test Techniques in Test Automation
Don’t Automate Chaos

Author = Amir Ghahrai (Testing Excellence)

https://www.testingexcellence.com/test-automation-tips-best-practices/

Best Practices for Continuous Testing in Agile

Article Covers:
What is Continuous Testing? In Agile, where we frequently release software to production, we need to ensure that software is of high quality throughout the development. We need to test early and we need to test often. We need to make sure that we get correct requirements to begin with, and to ensure that we test throughout development and not leave testing just before release.

A set of best practices that we can follow to implement and improve testing throughout the development lifecycle:

  1. Lean Testing
  2. Collaborate With Business
  3. Implement a QA Practice
  4. Automate Testing
  5. Automate Deployments

Author = Amir Ghahrai (Testing Excellence)

https://www.testingexcellence.com/best-practices-for-continuous-testing-in-agile/

Agile Test Strategy Example Template

Article covers: Agile Test Strategy

Test Levels
Unit Testing
API / Service Testing
Acceptance Testing
System Testing / Regression Testing / UAT
Product Backlog
Story Workshops / Sprint Planning
Development
Developer Testing
Automated Acceptance Tests and Non-functional Testing
Regression Testing
UAT and Exploratory Testing
Done Criteria

Author = Amir Ghahrai (Testing Excellence)

https://www.testingexcellence.com/agile-test-strategy-example-template/

System Integration Testing (SIT)

Definition – What does System Integration Testing (SIT)mean?

Techopedia | March 12, 2014

System integration testing (SIT) is a high-level software testing process in which testers verify that all related systems maintain data integrity and can operate in coordination with other systems in the same environment. The testing process ensures that all subcomponents are integrated successfully to provide expected results.

https://www.techopedia.com/definition/24590/system-integration-testing-sit