Xamarin

My personal Quality Assurance list before submitting my applications to QA

As developers, our responsibility is to create applications based on a list of specifications defined by the systems analyst in collaboration with the customer. Usually, we divide the application into deliverables that allow us to complete independent and useful functionalities for the user without having the application completely ready.

It’s very important to make our applications as clean and tested as possible before reaching QA, trying to make sure it has the least possible inconvenience, so I recommend that before reaching the QA stage to have your “Functional Completeness checklist”, so you can make sure that your application is ready! That’s why in this post I will be writing about my personal advices to complete the development cycle satisfactorily, to the extent possible.


“Functional Completeness Checklist”  What exactly does that mean for me? 

It’s a personal list that I have established to determine the set of tasks that must be verified to say that a requirement is really ready in our App. This allows me to have my own quality control before going to QA, trying to minimize the risk to get the App returned because something did not go well.

So, for my “Functional Completeness Checklist”, I will be dividing the requirements in sections as following:

➖ UI/UX requirements

➖ Basic functionalities

➖ The Resources

➖ Validation requirements

➖ Usability


Let’s start!

The first thing that we must have on hand to make sure that our application passes our personal quality controls is the requirements definition document, where all the requirements and deliverables are defined with their corresponding due date (In which it’s assumed we will do this process). With this document, we can derive a list of requirements that should be completed on each date and these are the ones that we will make sure are ready!

La imagen tiene un atributo ALT vacío; su nombre de archivo es Screen-Shot-2020-09-19-at-11.53.49-AM-1024x78.png
.
Here we’ll pay attention to the design. Our UIs are supposed to be crafted based on designs given by designers or some other source (It doesn’t matter). The important thing here is to make sure that these designs match the following:
.

✅ The design was correctly replicated for all the available platforms of our App?

✅ The design has preserved both landscape and portrait for all the available platforms of our App (This part can be ignored if it is indicated in the requirements since we can have applications with a specific orientation)

✅ Was the behavior of the design controls tested on each of the available platforms? (Buttons, Entry…)

✅ The user notices:  It’s important that we always keep the user informed of what is happening. (For example, notify them if the internet is leaving, when a process was successful (such as user registration) or when it failed (when the user could not register).)

These are things that we should keep in mind from the beginning, but if for some reason we did not have them, make sure they are fully applied now, this gives a good bonus to our UX.


La imagen tiene un atributo ALT vacío; su nombre de archivo es Screen-Shot-2020-09-19-at-11.53.56-AM-1024x79.png

Functionalities: Do all the functionalities respond correctly as indicated in the definition of requirements? (For example: Make sure that the “Register users” button actually sends the registration request to the server)

✅ Navigation: Regarding the navigation between screens, do they all follow the corresponding logical flow?


La imagen tiene un atributo ALT vacío; su nombre de archivo es Screen-Shot-2020-09-19-at-11.58.19-AM-1024x82.png

✅ As we know, each platform has its own resource structure, and sometimes when we are developing we just add the image of the base dimension so that it can be seen on any device without having to generate the others. It is important not to forget to add all the dimensions corresponding to each platform.

Make sure that all the icons are generated for the devices your App will be working on. (Here an article about how to do it!)


La imagen tiene un atributo ALT vacío; su nombre de archivo es Screen-Shot-2020-09-19-at-11.59.52-AM-1024x79.png
.
Every field that we have in our App, have to be validated (Of course depending of the goal). For example, if we have an email field we know that must validate if the data inserted ave an email structure or if we have a phone number field can not accept letters.
.
Create a list of all your app validation required and verify that all comply with the corresponding validations.
.
🙋‍♀️ For example: I have a user registration screen that has the following fields:
.
🟠  Full name              ➖ Only supports letters.
🟠  Phone Number    ➖ Only supports numbers and preferably has a mask.
🟠 Age                          ➖ Only supports numbers.
🟠  Email                     ➖  You must validate that the information you enter is a valid email.
.
You can do these validations fields with the Behaviors in Xamarin Forms. Here I leave an article about how to do it!.

La imagen tiene un atributo ALT vacío; su nombre de archivo es Screen-Shot-2020-09-19-at-12.02.42-PM-1024x84.png
We know that there are UI / UX experts but as developers, we can help with good practices too! Applying certain features for users to make a super big and favorable change for them!  💕
.
✅ There is a field that just accepts numbers/letters? Great! Set your app for that the device keyboard just shows numbers/letters respectively.
.
✅ There is a  password field? Active “IsPassword” property on your entry field so it appears masked with **** symbols.
.

That’s it! I hope these little tips work super well for you when developing your Apps! and build your own “Functional Completeness Checklist”!  😎

Thanks for reading! 💚💕

Spanish post: https://es.askxammy.com/mi-lista-personal-de-aseguramiento-de-calidad-antes-de-enviar-mis-solicitudes-a-qa/

Tagged , ,

4 thoughts on “My personal Quality Assurance list before submitting my applications to QA

Leave a Reply to Adalberto Vedovelli Cancel reply

Your email address will not be published. Required fields are marked *