Abhilasha Bhavsar

Software Developer
About Me
Having hands-on in databases, focused on backend development. learning and increasing critical thoughts in mind to contribute for many success stories

Written Blogs

Abhilasha Bhavsar

The Art of Training and Perfecting Artificial Intelligence

In today's world, our tasks are increasingly accomplished with the assistance of machines and applications. We guide them, and they respond accordingly. Ever noticed how machines seem to understand us better than ever? That's AI, or Artificial Intelligence, working its magic. From voice assistants to self-driving cars, AI is becoming a big part of our lives. But for these machines to work just right, they need the perfect training.

AI is like giving brains to machines.  

A young child is initially taught to count on their fingers; eventually, they transition to counting without fingers, yielding commendable results or think about self-driving cars. They've learned how to drive safely by studying countless real-life driving situations. Or think of software that can summarize long articles for you. It knows what's important in a sea of words. But all this is possible only when AI is trained well.  

Abhilasha Bhavsar

Effective Notes Taking

Time plays an important role in our day-to-day life. From numerous moments of spending time, one is the time given for remembering something, may be in seconds or minutes or hours. This is where Notes taking takes place, to save these moments by allowing us to capture and write down the things to be remembered somewhere just like taking photographs.

Now we know about Notes taking but what about the adjective “Effective” what is the role of that here? Why is it important? Let us answer these questions.

Effective means successfully producing the result that you want. The wrote down things must be,

  1. Quick searchable,
  1. Readable and
  1. Useful,

Let us now first see the impacts if these points are not followed and notes are ineffectively created.  

Example 1 : We are trying to write a code that includes a specific syntax with some fixed keywords or just say it as a statement.  

  • Here we will try to go back to previous project files where we used this statement before to copy it but what if we did not remember the exact place or if we are a newbie and keep on searching and scrolling resulting in time consumption. Or say we may have written it down somewhere but now did not remember the book or which page of the book.
  • Or even if we remember where it is placed then every time we need to go to that place or that page which is again time consuming.

Example 2 : Testing Credentials like a dummy username or password for testing of an in- development application purpose says if we have saved it in a chat box which with new conversations gets hidden and again scrolling and searching everytime we require it.

Now if any, how if a Newbie finds the statement in some suggested file or expression or a book but got confused about parenthesis used, pick lines from where to where, which things / variables / data fields etc. will get replaced in new development.  

All like these and many other similar situations can be handled using EFFECTIVE NOTES MAKING. Let us see what can be done and how it can be useful.

  • Grouping of Notes : Keep similar contents together with a title for identification like,

                 -  Title : Date and Time functions - this can be a folder or a file will include all notes related to only date and time so whenever we want to work on datetime we can quickly peek at this place, even a Newbie can understand if these notes are shared.

  • Notes as a Project: We can even create a UI with navigation menu and the menus will be titled like,

                   * CSS styles which will point to a page where all notes related to CSS are kept. here again a sub menu can be created as  

                               - Colors : This will include all key points / notes related to colors in CSS

                                - Media queries : This will include all key points / notes related to media queries in CSS

  • JavaScript functions for event handling : which will include everything related to event handlers in javascript like a snapshot below,

Abhilasha Bhavsar

JIRA Basic Concepts

Importance of JIRA

JIRA is a tool which allows you to maintain all the steps that are to be executed to develop a project considering all requirements and research required.

Abhilasha Bhavsar

Beginner’s Guide To Application Testing

Application testing can be defined as going through the way the software works, finding out error areas also called evaluation of software for satisfying end-user requirements. This can be explained as testing, analyzing, or examining the working of a software/application before launching it for users, to resolve any bug or a mistake is a crucial step included in the aim of getting a positive response from users.

As a person responsible for testing different applications it is important to  understand Testing lifecycle which can be shown as follows,

  1. Requirement Analysis:  Determining Expectations and needs.
  2. Test Planning:  Setting up the test environment & tools.
  3. Test case development:  Creation of points that are to be tested.
  4. Test Environment setup:  Where the test will be executed software/hardware.
  5. Test Execution: Use the application and check performance.
  6. Test Cycle Closure: Report generation based on the above points.

Included in these lifecycle events there are some phases that are to be considered for performance testing they are shown as follows

  1. Web Application Testing.
  2. Desktop & Mobile Application Testing.
  3. Testing functionality on different browsers, and screen sizes.
  4. UI, Performance, security, and different system requirements.

Application Testing Types

  1. Manual: The manual testing approach is used more frequently by developers in the initial phases of development for testing specific features.
  2. Automation: Ready-made tools or software are used to test performance and output also without human errors.

Challenges in Application Testing

In the basic arithmetic calculator application numbers are taken as the first input, second comes the operator it may be (add, subtract, multiply, etc.) and third is the number with which the first number is to be operated.

So, it is the responsibility of a tester to confirm the working by using multiple input combinations for example: do testing for 1+1, 2+3, 10+101, 12.30+8.90, etc.

This may showcase any errors like,

  1. Getting wrong answers.
  2. Decimal calculation issue.
  3. Not refreshing previous answers after adding new numbers.
  4. What if the user did not select an operator and press the show result button.
  5. How a large number is displayed as an answer.

Similarly, for video viewing applications such as YouTube or Netflix, Checks have to be done on all possibilities the user will use to watch a video and the test cases are,

  1. Is the exact video selected by the user viewed or something else
  2. Is the video selection mismatching for multiple users,  

Example: If “user-A” selects “video-A” to watch, and “user-B” selects “video-B”, but the tester should confirm that “user-B” should not see “video-A” by mistake instead of “video-B” and vice versa.

  1. Is the duration showing correctly?

Testing must also include if all the breakpoints, and contents added only for debugging purposes are completely removed from the code before launching an application.

So finally, all the possibilities are to be checked by a tester as well as a developer by becoming a user for an instance, this will obviously take the progress graph up.

Software Application Testing Tools:

So to overcome the above given challenges we can have some tools that will help QAs to manage and regulate the test process. But now the problem is which tool is to selected be used, let’s see some examples,

  1. Selenium: Cross-browser compatibility can be checked.
  2. Cypress:   Useful for effective and asynchronous testing.
  3. Percy:   Visual testing / UI appearance on multiple screens.
  4. Appium:   Helper for testing  Android and IOS platforms.

Having different screens/browsers/operating systems in one place cannot be that easy so the solution is to use available tools some of which are mentioned above. There will be new r&d’s every time and the list will get updated with more options.

Conclusion:

Today it has become essential for businesses to leverage effective mobile test automation to get scalable, robust, and high-performing applications, for delivering a great experience to users worldwide.

So just by following the life cycle procedure, and using different tools one can get rapid growth in fast delivery to market, effective usage, and positive reach to customers.