Let’s start by a fact: Testing is a painful, deep, and time-consuming process. But many people, experts, and organizations say that this process knows how to really pay well for itself! Testing consists of multiple levels and tendencies: some tests aim to test the sanity of the software, some other aim to test the context and interactivity flows, and some other tend to predict the unpredicted scenarios that software might go through!
You’ll find a lot of names, methods, and techniques for testing software. But there’s one mortal type of testing that will remain the biggest nightmare for any developer/tech lead: Clients tests! Well, let’s not get very dramatic! But, yeah, manual tests still matter and clients will never trust anything but their own experiences! So that’s why you should pay more attention to your manual tests, especially the integration/regression (A type of tests that aims to check whether or not the new functionality broke/interfered with any other existing functionalities) ones.
It’s not a long time since the software industry (especially the testing technologies) has been introduced to the new concept of containers (i.e. isolating each related set of functionalities) which by name indicates a new style of looking to software as a bunch of smaller, well-defined functionalities. This concept led to many of the new techniques and design methods we know today: OOP, Unit testing, virtual environments, SOA, etc…
Having a container is equal to have a completely stand-alone environment, in which you can make develop, test, or enhance without affecting the other folks in the same system.
A very powerful concept that let you separate your work accounts, from your personal account within the same browser and account! But how can we -as developers- benefit from this feature in our development/QA processes? That’s what I’ll have in the next lines.
Testing with different users types.
Testing how will your system behave with different cookies, does it keep the pattern?
Testing the caching effectiveness, by measuring how fast your system responds with every new session/request from different node.
And you can think of many other possibilities that you can achieve by just using this simple add-on in a different way!
You 'll need to manage your containers to add meaningful to each of them: Happy flow User, In-completed membership, Super users, etc...
And then, you're ready to go and squash some bugs! Happy hunting!
You’ll find a lot of names, methods, and techniques for testing software. But there’s one mortal type of testing that will remain the biggest nightmare for any developer/tech lead: Clients tests! Well, let’s not get very dramatic! But, yeah, manual tests still matter and clients will never trust anything but their own experiences! So that’s why you should pay more attention to your manual tests, especially the integration/regression (A type of tests that aims to check whether or not the new functionality broke/interfered with any other existing functionalities) ones.
The idea of containers
It’s not a long time since the software industry (especially the testing technologies) has been introduced to the new concept of containers (i.e. isolating each related set of functionalities) which by name indicates a new style of looking to software as a bunch of smaller, well-defined functionalities. This concept led to many of the new techniques and design methods we know today: OOP, Unit testing, virtual environments, SOA, etc…
Having a container is equal to have a completely stand-alone environment, in which you can make develop, test, or enhance without affecting the other folks in the same system.
Firefox containers
Months ago, Mozilla’s web browser Firefox’s developers introduced a new add-on to the browser, the ‘Firefox Multi-Account Containers’. It grabbed the idea of containers into more end-user cases like: browsing the same services with different entities, it allows you to define a number of categorizes (e.g. banking, personal, work, etc…) and let you use the same service (e.g. Amazon) with different accounts depending on what category of tabs you’re using!
A very powerful concept that let you separate your work accounts, from your personal account within the same browser and account! But how can we -as developers- benefit from this feature in our development/QA processes? That’s what I’ll have in the next lines.
Using the Firefox containers in manual integration tests
I noticed how powerful can this concept be when you’re trying to make your own version of manual tests: For functionality testing or even for integration or system tests. By having a completely separated sessions, you can do as many scenarios as this concept allow like:Testing with different users types.
Testing how will your system behave with different cookies, does it keep the pattern?
Testing the caching effectiveness, by measuring how fast your system responds with every new session/request from different node.
And you can think of many other possibilities that you can achieve by just using this simple add-on in a different way!
You 'll need to manage your containers to add meaningful to each of them: Happy flow User, In-completed membership, Super users, etc...
And then, you're ready to go and squash some bugs! Happy hunting!
Great use case, I've usually been using different browsers to test different types of users, some time I would just open up an incognito tab to test something, but that's limited for 2 types of containers.
ReplyDeleteWill definitely use it, thanks for sharing your hacks, keep'em coming!
Yes, I was doing that as well. You're welcome :)
ReplyDelete