Posted on Leave a comment

Fixing Image Upload Issues in WordPress

One of the prevalent issues in WordPress is the image upload issue. Fortunately, it is quite easy to fix. Follow this article to the end to find out how.

Change file permission for upload folder

When your media gallery displays blank, here is a way to fix it.

Access WordPress files using the FTP. Locate wp-content; open the “Uploads” folder; right-click on it and choose File Permissions. Then set the number to 744; mark “recurse into subdirectories”, select “Apply to directories only” and click OK. Afterward, reload your library and try uploading an image. Note that in some cases, setting to 744 may not work; therefore, you can repeat the process but set the permission to 755.

Resize and Rename Image OR Increase Max file size

If you are unable to upload one image while others upload properly, there are two quick fixes for this. If it’s because of the image size, that means you need to resize the image. Also, you may need to increase the max file size.

Meanwhile, it may also be due to the name of the image as WordPress doesn’t allow special characters like ($, &, #, *, …); in that case, you will need to rename the image.

Increase the memory limit or Set Thread to on Processor

If you see an HTTP error when uploading an image, increasing the WordPress memory limit or setting an image processor to use one Thread can help fix the issue. To increase the WordPress memory limit, access your site with FTP; open the folder containing the WordPress files and locate wp-config to input the code: define(‘WP_MEMORY_LIMIT’, ‘256M’)

Other Solutions

The other solutions you can try include:

  1. Use your browser uploader for your image. In your WordPress dashboard, go to Media > Add New and click browser uploader.
  2. Clear browser and WordPress cache.
Posted on Leave a comment

How to Fix “Error 404 Not Found” in WordPress

Error 404 Not Found is one of the most frequent errors in WordPress. It happens majorly when you navigate from the Homepage to another page of your website. If you get this error, you can fix it in three ways as discussed below:

Reset Your WordPress Permalinks

To reset your WordPress Permalinks, you need to change it temporarily to default and thereafter change it back to your previous permalinks.

Access your WordPress Dashboard; go to Settings > Permalinks; select Default settings and click Save Changes. Afterwards, you can go ahead to select previous permalinks type and save your changes once again. Now, reload the pages that initially brought up the error to see if the issue has been fixed.

Modify .htaccess

If the error still persists, you need to edit the .htaccess file. This can be done by accessing the file through FTP. All you need do is to navigate to your WordPress root folder and look for the .htaccess file. Right click on the file and select View/Edit. Replace the code with the one provided below.

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# End WordPress

Disable WordPress Themes and Plugins

If the second method still doesn’t solve the issue. You may need to disable your WordPress themes and plugins. To do this, access your dashboard; go to Plugins > All Plugins and follow the process below to disable the plugins. For each plugin, click Deactivate and check the site to see if error 404 has disappeared. If the error still persists, re-activate the plugin you disabled and move on to deactivate the next one. Repeat the process till you find the plugin responsible for the problem or till you are done with all the plugins.

If you don’t have access to your dashboard, you can use FTP to locate the plugins and themes’ folders in the public_html/wp-content directory. Open the plugin folder and rename the folders in there; this will disable each of the plugins. Do the same for the themes’ folder.

Posted on Leave a comment

Pros and Cons of Setting up an Online Store with WooCommerce in WordPress

WordPress and WooCommerce

WordPress is an open-source Content Management System (CMS). It is free to install, deploy, and upgrade. WordPress has thousands of plugins and templates of flexible and simple templates that reduce development costs and development time.

WooCommerce is a plugin that helps to build a customizable eCommerce platform on WordPress.It is the world’s largest and most famous eCommerce platform at present.  It allows WooCommers users to create visually appealing and fully functional online storefronts right inside an existing WordPress-powered site. 

Setting up an online store in WooCommerce 

A person who wants to create an online store needs a platform capable of handling all the stages of retail transactions. Therefore they can set it up on WordPress using WooCommerce. 

Firstly, the user needs to have a domain name, web hosting, and an SSL certificate. The domain name is the website’s (online store) address on the internet, web hosting is where your website lives on the internet, and an SSL certificate adds a special security layer on your website.

Then the user needs to install WordPress and WooCommerce plugin. The user can set up the WooCommerce store by selecting a theme and adding information such as currency, payments, products, shipping information, etc. Finally, the user can extend the online store with plugins. There are over 46 000 plugins in WordPress and users can use suitable plugins among them.

Pros and Cons of WooCommerce in WordPress

Pros of WooCommerce

  1. Free of cost
    WooCommerce is cost-effective because the core software is free. People who want to start their own online business without a big investment can set up their online store on WooCommerce at no cost.

  1. Maximum control and 100% customizable
    Users of WooCommerce can customize their online stores according to their business requirements. There are thousands of themes in this platform and users can customize the sessions such as headers, footers, product sheets with the aid of those themes. WooCommers allows users to freely access the CSS, HTML, and PHP style codes and users can create unique designs for their stores.

  1. Greater flexibility
    Online shoppers can add a large number of product lists divided into different categories on their websites. Not only that, but WooCommerce can also be configured to sell physical, virtual, or downloadable products. It offers the ability to accept almost all sorts of payments.

  1. Large community
    WooCommerce has a large community of users, developers, and contributors. In current society, WooCommerce users can find plenty of documentation, articles, and informative guides because of that large community. In case of technical or nontechnical problems, the store owners can receive help from a large community. 

  1. Easy to use
    There are plenty of WooCommers guides that can be found around the internet with prompts, Supports, Q&As. So, not only software experts but also beginners of WooCommerce can use it with the help of those guides.

  1. Integration with WordPress
    WordPress software powers more than 1/3rd of the entire Internet. WordPress is popular and it has a huge community supporting it. WooCommerce benefits from all those three reasons because of WooCommerce’s origin as a plugin of WordPress. 

  1. WordPress is fast
    WooCommerce is combined with performance-optimized WooCommerce hosting. That performance-optimized WooCommerce hosting is specifically engineered to maximize performance. So, WooCommerce provides fast and responsive eCommerce for all of their online stores.

  1. WordPress grows with its businesses
    In the beginning, a business can be small. But over time, as the business progresses, it can grow into a larger business. It’s better to think about the future of the store when choosing an eCommerce application for it. 
    WooCommerce supports its online stores ranging from the tiny to the immense. It can scale from a couple of items to a huge number, and from a bunch of customers to many customers.

Cons of WooCommerce

  1. Need to pay for extensions
    The installation of WordPress, WooCommerce plugins, and most of its widgets are free, but the installation of some extensions may require a punctual payment or the hiring of plans with monthly fees. Online store owners don’t need to pay for launching their websites. The development of the business with the time, shop owners may need to expand the site. Therefore they need extensions and for them, the owners have to spend money.

  1. Plugins and plug-in can hamper the old excellent performance
    Mostly this happened for the less experienced users. Installing too many plugins and extensions takes up a lot of memory. Then the downloading speed and overall performance may decrease. 

  1. Technical maintenance
    This disadvantage comes directly from the benefit of maximum control. That freedom comes with maximum responsibilities. The online store owner is responsible for maintaining the website successfully  

  1. Can’t use without WordPress
    WooCommerce is reliant on WordPress. If an online store user doesn’t use WordPress, he/she won’t be able to use WooCommerce.

  1. No customer service
    Most of the online resources traditionally have customer service to help. WooCommerce doesn’t have traditional customer service. Even so, there are plenty of online resources to help set up the WooCommerce and troubleshoot any issues.

Conclusion

Although building online stores with WooCommerce has some cons, you can understand these cons are common for most plugins. Also, it’s clear that pros outweigh the cons by a big margin. That’s why WooCommerce powers most of the online stores on the internet. However, as your business grows, you will have to buy extensions. We will cover these extensions in a new article in the near future.

Posted on Leave a comment

No-Code Test-Automation is the Future

Software testing has been known as a time-consuming activity from its inception. Testers may avoid wasting time on routine tasks through automation and concentrate on other value-adding activities such as selecting the best test cases for a test iteration and reviewing new features.

Automated testing brings many benefits such as shortened time to execute existing test scenarios. However, the main drawback is that process automation requires scripting. This need to learn scripting and the additional time it consumes has led many towards no-code test-automation.

Why is Code-Based Automation no Longer the Solution?

Before we dive in to no-code automation, let’s look at some of the disadvantages of code-based automation:

  1. The need to learn the required scripting languages or recruit new people already familiar with them.
  2. Considerable time allocation for the maintenance of existing automated test cases.
  3. Significant preliminary investment in the establishment of automated testing tools and the allocation of automation resources.

There are innovative ways of testing that no longer require scripting, and they solve most of the above problems. An increasing number of companies is adopting codeless automated testing, so it’s definitely something you need to be familiar about.

No-Code Automation and its Paradigm

No-code automation allows you to create automation tests without writing a single line of code. Codeless testing tools, nevertheless, create an abstraction layer on top of the test code. That means the test scripts still depend on other parts of the software to test a scenario. But no advanced scripting is required to create or update a written script.

For web-based software products and services, testing with the “record-and-play” concept has become the most common approach. A software tester manually performs the test and uses the tool to capture the test sequence one step at a time. The tool will convert these recorded sequences into test scripts. Testers can then modify the documented test scripts and tailor the testing approach to fine tune it.

The graphical user interface (GUI) and the drag and drop features provide testers with a better way of creating automated tests. Documented scripts can be reused across platforms and browsers emphasizing the broadened usability of codeless testing. Desktop and mobile applications, and websites can be tested using codeless testing solutions like Testup. The application will be kept under 24/7 surveillance and performance will be tracked around the clock.

Let’s look at some of the leading benefits of no-code test automation next.

Easy Test Case Modification

Sometimes there are reasons to modify test cases. Some of the common reasons are errors in test cases, changes in existing features, implementing new features to the website. Such test case modifications effectively involve re-recording / rewriting the whole scenario and adding new actions or modifying current actions where appropriate.

This will not be feasible in most instances as it will affect development time and cost. But with a Codeless testing tool like Testup, this is taken care of completely and existing tests can simply be modified or improved as required.

Enable Non-Developers: Testers, Product Owners, Business Analysts

Testing is usually reserved for QA Engineers. So automation is also automatically assigned to them. However, Business Analysts and Product Owners are the ones who are truly aware of the product from end-to-end. Yet they do not get directly involved in testing, and especially automation, mostly due skill constraints. So important test scenarios can be missed. 

However, codeless testing allows Business Analysts, Product Owners, or any other responsible party to test the application on their own. It enhances company integrity while producing top notch software. And the gained human capital can be transferred into value adding interventions. 

User stories come up with their own acceptance criteria. This acceptance criterion can be easily converted into a test case since it is detailed. With the simplicity and the agility of the codeless testing, user stories can be tested easily and fast. Additionally, the previously written test cases can be re-used to test similar user stories.

AI-Driven Advanced Testing 

Codeless testing enhances testing by employing cutting-edge AI technologies. Natural Language Processing (NLP) is used to write automated scripts from documents and captured images. Regression testing can be effectively done using Self-correcting features. Test cases can be written automatically based on user action triggers. Further, Machine learning enables codeless testing to self-validate test results.

Some No-code testing tools like Testup capture screenshots of the test steps and actions to revise test cases using AI when changes are needed to be made to the application. As AI recognizes the website attributes such as positions, colors and text from the screenshots, test case modification becomes effortless.

Super-Fast Update of Tests

Creating a codeless test is faster than Selenium automated testing. Since No-code testing is equipped with AI powered self-maintenance, it resolves conflicts of object maintenance fast. Moreover, Codeless testing creates a dynamic testing model which contrasts the changes made on the application promising super fast test updates. 

Cross Browser Support

Test automation tools most often come in the form of extensions to browsers. Typically, the browser extensions are attached to a particular browser. The software that businesses create are not limited to various browsers, unlike browser extensions. So tests must be performed on multiple browsers and computers.

Checking the same scenario on multiple browsers will poke script writers as there are numerous circumstances that need to be thoroughly verified in an application. A reliable codeless automation should permit testers to use existing test cases on any browser without worrying about  browser specific codes like we do in code based automation.

No-Code Automation is Becoming Popular.

Most of the SaaS platforms like Salesforce, SAP, Workday and Servicenow have already employed codeless testing. Apart from that, No-code testing can be easily integrated with Gitlab, Jenkins, Slack, Jira, Teamcity and Visual studio services increasing its potential.

Future of Software Testing with No-Code Testing

Codeless testing will increase test coverage and exposure while improving testing performance. As codeless testing has already made testing significantly easier, it is sustainable and will be improved further. Advanced AI technologies will  be utilized to make testing easier and more user friendly.

No-code automation testing is the ideal testing methodology for agile software development because it speeds up testing with the involvement of less teammates. Codeless testing doesn’t require the tester to have extreme technical knowledge, so agile development teams do not have to bother about skill constraints related to the software testing. It’s no surprise that agile and no-code testing will go hand in hand in future.

How to Find a Good No-Code Automation Service. 

There is a myriad of advantages of Codeless testing in addition to the most significant ones mentioned above. Consequently, codeless testing is a perfect alternative for automated testing even if someone has scripting knowledge expertise. 

Platform support, ease of usage, script maintenance, UX features, and the efficiency of testing must be considered when selecting a suitable codeless automation tool. The performance of the tool may vary depending on its features and the underlying technologies. So you need to prioritize the criteria that is important to you in order to make the best decision.

Posted on Leave a comment

What Types of Testing are Useful for WordPress?

For any application or system that will be put to use, there is a need to first carry out a test. In fact, this is a fundamental axiom and it is true in all ramifications. When it comes to WordPress, the different types of tests have consistently increased over the years. Therefore, this article will discuss the various testing types that can be utilised for WordPress.

What is Testing in Web Development?

Testing is the use of various tools or means to make sure that changes to your code or website are working as expected. 

Testing Types

To ensure that the changes you make to your code work very well, there are several testing types that you can use. Each type of testing has its features, advantages, as well as its  disadvantages. However, in this article, we have covered the testing types most suitable for WordPress.

Manual or Automated Types

Manual testing is done by an individual clicking through the application or interacting with the software and APIs with the appropriate tools. It is costly as it requires someone to set up an environment and execute the tests themselves, and it is prone to human error because the tester can omit steps in the script or make typos.

Automated tests are more robust and reliable than manual tests. They are carried out using a machine that executes a test script already written, meaning that the quality of your automated tests largely depends on how well the test script has been written.

Automated testing is a crucial component of continuous integration and continuous delivery, and it’s a great way to scale your application as you add new features to it. But one can not underestimate the value in doing some manual testing.

Now lets, zoom into specific kinds of testing;

Unit Testing

Unit testings are very low-level tests, close to the source of your application. They consist of testing specific methods as well as functions of the classes, modules or components used by your software. Unit tests can be run quickly using a continuous integration server, and they are generally cheap to automate.

Unit testing is useful for WordPress core and Plugin Development. This is possible because the goal of unit testing lies in the actual code and module components of development. It is an essential testing done by developers. In more precise terms, Unit testing can be seen as a foundation for all other tests.

Integration Testing

Integration tests help in verifying that the services and modules used by your application are working together as expected. For instance, you may be testing the interaction with the database or trying to make sure that microservices work well together. Integrated tests are generally expensive to run as there is a need to have multiple parts of the application up and running. 

The relevance of Integration testing in WordPress is significant; however, since it’s expensive, the bulk of integration testing is done by the WordPress community, usually from the source of development. 

Functional Testing

Functional tests have a direct focus on an application’s business requirements. The tests only verify the output of action and never check the system’s intermediate states when performing the action.

Although both functional and integration tests require interaction between multiple components of the application, there is a difference between them. While an integration test will verify that you can query the database, a functional test would expect to have a specific value from the database clearly defined by the product requirements.

End-to-End Tests

End-to-end testing replicates a user behaviour with the software in a complete application environment. The tests verify that different user flows work as expected. This can be as simple as loading a web page or logging in or much more complex scenarios checking email notifications, online payments, etc.

End-to-end tests are handy, but they’re expensive to perform and can be hard to maintain when they’re automated. It is recommended to have a few critical end-to-end tests and rely more on low-level types of testing (integration and unit tests) to identify breaking changes quickly.

Similar to system testing, End-to-End Testing involves testing of the complete application environment in a way that mimics real-world use, such as using network communications, interacting with a database, or interacting with other hardware, applications, or systems if appropriate.

At this juncture, we must emphasise that Functional testing is the same as End to End testing for us. This checks that the whole software is working. Some may even categorise this as System testing.

Why not Do Everything with End-to-End Testing?

Well, the downside to this is that it is too slow and not cost-effective. Therefore, for a large project, it might take too much time and money. However, for small projects, it is sufficient.

Other Testing

For the essence of completion, here is a list of other testings that may be useful in WordPress;

  • Performance Testing
  • Load Testing
  • Security Testing
  • Compatibility Testing
  • Install Testing
  • Recovery Testing

Conclusion

To conclude this article, it is essential to discuss the primary objective of testing. First, is to ensure that users can truly make use of an application. Second, is to check that your system does not break when unexpected actions are performed. What will happen when a user makes a typo, uses the wrong API or tries to save an incomplete form? These are the reasons for the test. In addition, you need to ensure that no one can easily compromise the data or get inappropriate access to resources. An excellent testing suite like one provided by Testup will be of great value.

Posted on Leave a comment

Our Journey to No-Code Test Automation

For the last 14 years, I have been working on tools for developers at Thetaris. My Co-founder Stefan and I developed, we developed all kinds of tools, from Excel plugins, financial mathematics libraries, test suites, apps to a full-fledged IDE for our own programming language ThetaML. During this work, we found that many developers in our community struggle with maintaining their applications. The developers fix a bug or implement a new requirement and suddenly, a seemingly unrelated feature of the application breaks.

Unit Testing is part of the solution

There should be an easy answer: testing. From the large projects we completed at Thetaris, we know that Unit-Tests are part of the solution. They are quick and can be used to automatically stop bugs from entering the code case. But they are not sufficient. The applications still break.

Manual testing is mandatory

Manual testing is an expensive and time-consuming solution. However, it works. The testers identify not only functional issues, but also UX glitches and text typos. Consequently, testers need the focus of attention. The testers should be enabled to maintain their own automated tests. Over the years, we tried many different approaches to reach this goal.

Selenium-Python, Cucumber

I thought, why not make my testers to QA engineers. We created a Python library which uses a simple language such that test cases are easy to understand and easy to extend. In other projects we used Cucumber, a simple language to make test cases easy to understand. Both approaches delivered the same result: A QA engineer is required for the language definition and testers can run tests. In some cases, tester can add test themselves. But, usually, they need a developer again who changes some of the application code.

Visual Testing

Why would that be? Why can testers not just test the software without knowledge of the internal workings? I thought that a manual tester uses the User Interface, only. This must be completely sufficient to write automated tests using the UI. Using my computer vision experiences, I created a prototype in Python to provide a proof of concept for a visual test automation. It worked surprisingly well. No inner knowledge of the application was necessary anymore.

Testing in Cloud

Another main issue testers face when running automated tests is the constantly changing infrastructure: E.g. Google Chrome gets an update and the Selenium Driver breaks. The connection of the native app using Appium on the local desk is another constant source of issues. Working in the cloud with Browserstack for native devices and Mabl for websites shows that testing belongs in the cloud. Testers are more productive and happier when they do not have to care about the test system infrastructure.

Simplicity

The last missing piece to a wide acceptance of test tools by testers is simplicity. I am lucky that my Co-founder is a UX nerd. During the development of our own test platform, Stefan included iteration after iteration to minimize the required user interaction for test recording. Minimizing the decisions a user has to make, we are also minimizing errors the user can do. We constantly collect feedback from new users of our application and simplify it further.

Putting it all together: Testup

Now, we have put it all together in the Testup project: Visual Testing using Computer Vision, Infrastructure in the Cloud and Simplicity by No-Code test creation. The effort is fruitful: Test are easy to create, easy to ready and easy to change. The next step is the version 0.9 which we will release in a few days with an open beta. We are looking forward to your feedback!

Posted on Leave a comment

How to use WPStageCoach.com for WordPress

Introduction

WP Stagecoach, just from its name, offers WordPress users the ability to place their WordPress websites on wpstagecaoch.com to preview and fix all needed changes before importing it to their live sites. Therefore, in this piece, you will learn how to use the WP Stagecoach plugin for your WordPress website.

What does Staging mean in Web Development?

Staging is cloning a website that is independent of a live site that visitors can see. The staging website looks just like the live website but offers you safety as it is placed in a staging area while you are working on it.

Why use a Staging Environment?

  1. It allows you to modify your website without affecting your live site. So, no downtime and your audience can keep accessing your website while making those changes in maintenance mode.
  2. SEO ranking is not affected while trying new changes and settings to your site since search engines won’t be able to index your staging website.
  3. You are also able to run tests on your site before going live.
  4. You can redesign or revamp any website with a staging site easily.

Development and Maintenance

Whether the website is in the development phase or the Live phase, WP Stagecoach offers you limitless features to carry out any routine check you need to your website.

WP Stagecoach is a one-click WordPress staging solution known to work on every web host and doesn’t overwrite your database during import. You can troubleshoot for days during the maintenance while e-commerce and other plugins take orders or registrations. This unique WordPress staging plugin uses a ‘database merge’ feature—not an overwrite feature—to ‘push’ your updates live in one click, and you never lose your data or re-do your work again!

How to Create a Staging Site with WPStagecoach.com

Sign up for a WP Stagecoach account:

After completing your purchase, the next thing to do is download the WP Stagecoach plugin, either from your Account page or from the link sent to you in your purchase confirmation email.

Download the Plugin and Install:

Visit Plugins –> Add New, click on Upload Plugin. Locate your copy of WP Stagecoach, then click ‘Install Now.‘ After installing the plugin, click ‘Activate Plugin.

Enter your License Key: 

In your dashboard menu, click on WP Stagecoach in your dashboard menu. Fill your username (the one you chose when you signed up for WP Stagecoach) and API key. The API key can be found in your purchase confirmation email or on your Account page.

Creating the Staging Site:

To create a staging site, click on WP Stagecoachin your dashboard menu. Click Ride the Stagecoach! If you want, you can adjust some options before you create your staging site: After you click Ride the Stagecoach, the WP Stagecoach will go through a series of steps to develop it.

Editing the Staging Site: 

Once the staging site is done, a URL would be generated for you, where you can view your site. You can sign in to your staging site’s WordPress dashboard using the same username and password currently used on your live website. It is possible to also connect to your staging site via FTP or SFTP using the credentials displayed on the WP Stagecoach page.

Use this duplicate of your site for testing your changes: Install your plugin customization, theme changes, WordPress core update or plugin update on this site. Your live site stays unaffected. Visit all relevant pages and flows like user registration and check if everything is ok. We at Testup can help you doing this automatically. If yes, you can proceed. If no, you have plenty of time to solve the issue since your live site stays untouched.

Importing Changes Back to Live Website: 

Go to WP Stagecoach –> Import Changes. Click on Check for changes to see what changes have been made on your staging site. When completed, you can choose from three different kinds of import; One-click, Advanced, and Manual.

Cleaning Up and Deleting your Staging Site:

Once the import is finished, check your live site to make sure that the changes are imported. The moment that is confirmed, you have two options; Clean up and delete staging site OR Clean up options, which are quite straightforward.

Conclusion

WP Stagecoach offers you great user-friendly features to successfully stage any WordPress website, and more so, it is very compatible with all hosts.