Our Latest Blog Posts

latest-post

In our previous blog, we had seen how to integrate stripe connect. Now we are going to see how we can split payments to the application and vendor using stripe checkout.

Let's take a simple example :

The platform is "Shopify", Merchant (Who is selling products on Shopify) & Customer who is going to register with Shopify.

Now When a customer purchases a product with $1000, Now $10 will be considered as an application fee, which is going to transfer to the Platform Account and the rest amount $90 will be transferred to Merchant.

Create Session using Stripe Checkout

public function generationSession($data)
{
    $session = \Stripe\Checkout\Session::create([
        'payment_method_types' => ['card'],
        'customer_email'       => $data['email'],
        'line_items'           => [
            [
                'name'     => "item name here",
                'amount'   => floatval($data['amount']) * 100,
                'currency' => 'usd',
                'quantity' => '1',
            ],
        ],
        'client_reference_id'  => $data['reference_id'],
        'success_url'          => url('payment-success').'?session_id={CHECKOUT_SESSION_ID}',
        'cancel_url'           => url('failed-payment?error=payment_cancelled'),
        'payment_intent_data'  => [
            'application_fee_amount' => $data['application_fees'] * 100,
            'transfer_data'          => [
                'destination' => $data['user']->stripe_connect_id,
            ],
        ],
    ]);

    return $session;
}

It will return the session object return, later you can use the session id to redirect to stripe checkout.

Redirect to checkout using StripeJS

        fetch('/generate-sesssion', {
            method: 'POST',
        })
        .then(function(session) {
            return stripe.redirectToCheckout({ sessionId: session.id });
        });

Check the transaction from your Stripe Dashboard

Once you do the transaction successfully, you can verify whether the application fee is applied or not from your stripe dashboard.

Hope this tutorial helps you.

July 13, 20231 minuteuserVishal Ribdiya

Posts

Regression Testing Vs Retesting

In this article, We will see the difference between regression testing vs retesting.

The concepts of regression testing and retesting are generally confused within the field of test automation. They sound similar and they have correlations too.

The main difference is that regression testing is designed to test or verify for bugs you don’t expect to be there. Retesting is designed to test or verify for bugs you do expect to be there.

What is Regression Testing?

Regression testing is a type of software testing executed to check whether a code change has not critically disturbed the current functions & features of an application/software, what does it mean that the point of regression testing is to make sure that new updates or features added/release to software don’t break any previously released updates or features or functions.

What is Retesting?

Retesting is done to ensure that the bug is fixed and even if failed functionality is working fine or not, this is a kind of verification process followed in the testing field for the fixed bugs. Most of the testers having confused with Regression and Retesting.

Boost Customer Satisfaction, Find out Hidden Bugs In Your Software

Generally, testers find bugs while testing the software application or website and assign them to the developers to fix them. Then the developers fix the bug and assign it back to the testers/QA for verification. This continuous process is called Retesting.

Difference between Regression Testing and Retesting.

We could say that regression testing is a type of retesting. Retesting really means testing something again. And when we are regression testing, we are testing something that we have tested numerous times before.

But determining what the two have in common or similar might confuse more than it will help. So, for the well-being of clarity, below is an overview of the key differences.

Regression Testing Vs Retesting

Regression Testing Retesting
Regression Testing is carried out to establish whether a recent program or code change has not negatively affected existing features. Re-testing is carried out to establish the test cases that failed in the final execution are passing after the defects are fixed.
The purpose of Regression Testing is that new code fixes should not have any side effects on existing functionalities. Re-testing is performed on the basis of the defect fixes.
Regression Testing can be carried out parallel with Re-testing, based on the project and availability of resources. Retesting is carried out before regression testing because the priority of re-testing is higher than regression testing.
Defect verification is not part of regression testing. Defect verification is part of re-testing.
Regression testing is known as genetic testing. Re-testing is planned to test.
Regression testing is executed for passed test cases. Retesting is executed for failed test cases only.
Regression testing checks for unexpected side effects. Re-testing ensures that the original fault has been corrected.
Regression testing is only done when there are any modifications or fixes become mandatory in an existing project. Re-testing executes a defect with the same data in the same environment with different inputs with a new build.
We can do automation for regression testing; Manual testing could be time-consuming and expensive. We can’t automate the test cases for retesting.
Test cases for regression testing can be captured from the functional specification, user manuals and tutorials, and defect reports in regard to corrected problems. Test cases for retesting cannot be captured before starting testing.

Conclusion:

In case you are still confused, it may be easier to think of retesting as checking to see whether the bug actually fixed and regression testing as whether you created any new bugs with your fix. While you may identify regression issues during a retest, they are in fact separate and should be treated as distinct forms of testing.

June 01, 20233 minutesauthorVirendra Harkhani
Why Social Media Is Important for Business Marketing

Businesses can utilize social media as a potent tool to connect with their target audience, cultivate client connections, and increase revenue. In actuality, one of the best ways to expand your business and attract new clients is through social media marketing.

The following are a few advantages of social media marketing:

Reach a larger audience:

Due to the billions of users who are active on social media platforms, you have the opportunity to reach a larger audience than before.

Build relationships with customers:

This is a terrific method to get to know them better. To demonstrate to your clients that you are more than simply a company, you can publish updates, tales, and behind-the-scenes material.

Drive sales:

Social media may be used to promote your products or services, host contests, and giveaways, and generate leads, among other strategies.

You're losing out on a tremendous opportunity to expand your consumer base and build your business if you're not using social media marketing.

Here are some pointers for starting a social media marketing campaign: Choose the right platforms: Not all social media channels are made equal. Pick the social media channels where your target market is most active.

Produce high-quality content:

Your social media posts should be eye-catching, educational, and entertaining.

Be consistent:

Regularly provide new material to keep your audience interested.

Track your results:

To monitor your progress and determine what is and is not working, use social media analytics.

Social media marketing can be a terrific approach to attracting new clients, strengthening ties with current ones, and increasing revenue. A significant potential to expand your business is being lost if you aren't using social media marketing.

Here are some extra recommendations for successful social media marketing:

Tell the story of your brand through social media:

Post on social media about your business's background, goals, and values. Customers will be able to relate to your brand more deeply due to this.

Use social media to engage with customers:

Participate in conversations and respond to customer queries and comments. Customers will see that you care about what they have to say and are paying attention if you do this.

Use social media to promote your products or services:

Offer discounts and promotions while sharing images and videos of your goods and services.

Use social media to drive traffic to your website:

Encourage clients to visit your website to learn more about your goods or services by posting links on social media.

These pointers can help you use social media marketing to contact new clients, strengthen bonds with current ones, and increase revenue.

May 30, 20232 minutesauthorAnkit Kalathiya
Step by Step Mobile App Testing Process

What is Mobile App Testing?

Mobile app testing is the process of tests the functionality and usability of the mobile application to make sure that it meets the requirements and the application is ready for launch.

What are Mobile application testing requirements?

  • Resolutions of screen
  • OS Version (For android or iOS)
  • Orientation of Screen (landscape, portrait)
  • GPS On/Off
  • Type of application

Types of applications:

  • Mobile Web application:

In a mobile web application, the Website opens on the device with the help of the mobile browser. The Mobile web app does not require any installation.

  • Native application:

The native application is specifically developed for one platform (iOS, Windows 10 Mobile, Android)

  • Hybrid Application:

A hybrid application is the combination of a mobile web application and a native application. It can be defined as a mobile website content show in the application format.

Step by step Mobile App Testing Process

1. Planning:

Before start testing, we are required to planning what we have to test and for planning the test to analyse the requirements.

2. Testing Types Identification:

Before testing any mobile apps, we identify what testing is required to test the particular mobile app: functional, usability, compatibility, performance or security, etc. And also determine what functional requirements should be tested.

Identify what target devices to include:

  • Identify what devices the application will support;
  • Identify the earliest version of relevant operating systems will be supported;
  • Choosing different screen sizes.

3. Test Case and Script Design:

Make a test case document for each and every feature and functionality.

Make separate suites for manual test cases and automated test scripts as required. Make typical sets for manual test cases and automated test scripts. Define any reusable automation scripts and modify them as per the project requirements.

4. Environment Setup:

Download, install and configure the particular application on the different mobile devices to set up the testing environment. Before starting with the actual testing, make sure the test version of the application is established.

5. Manual and Automation Testing:

We are required to execute both manual and automation test cases.

You have already identified and created which tests and scripts to use. In this phase, you’ll actually run these on the basic functionalities to ensure that there are no bugs.

6. Usability Testing:

Usability testing purpose to uncover how much the product is easy to use, understandable, is it able to satisfy the user’s needs impressively. Usability testing is the way of how output can be used by users to reach specified goals.

7. UI Testing:

UI testing is one of the very important tests in mobile application testing.

Some characteristics that should be tested for every app:

1. Screen Resolutions:

Common screen resolutions are:

  • 640 × 480
  • 800 × 600
  • 1024 × 768
  • 1280 × 800
  • 1366 × 768
  • 1400 × 900
  • 1680 × 1050

Verification must be done starting from the smallest to the biggest resolution. If the application has a large list of cards with information, then those also need to be tested on a different resolution for their information wrapping.

2. Screen Size:

There are too many variations in screen sizes in smart devices especially.

Make sure the control size looks good, and the control is properly visible on the screen while testing.

8. Compatibility Testing:

Test the application with different browsers, mobile devices, screen resolutions, and OS versions as per the requirements.

9. Beta Testing:

When the regression testing is completed by the QA team, the build moves to User Acceptance Testing and this is done by the client. They make sure the application is bug-free and working as expected on every defined browser.

10. Performance Testing:

Performance Testing to the application using changing the different connections from 2G, 3G to WIFI, responsiveness, battery consumption, stability, etc.

Test the application to measure scalability and performance issues.

11. Localization Testing:

Localization Testing is used to test making a product, application, or document content adjustable to meet the cultural, lingual, and other requirements of a specific region or a locale.

12. Security Testing:

In Security Testing, ensure that the application is secure by validating SQL injection, data dumps, session hijacking, packet sniffing, and SSL.

13. Device Testing:

When a device is tested to ensure that it is working as expected.

Execute test cases and scripts in all the devices, in the cloud, and/or in physical devices in the lab or via testing tools.

Tips to test mobile application

  1. Learn the Whole app before going to the test.
  2. Remember, you are testing a mobile app and not a desktop or web application.
  3. Take into account the operating system and hardware specifications of the device which is you are testing.
  4. Test on real devices for better testing results.
  5. Use the mobile application testing tools that you are familiar with and do not use because of their popularity.
  6. Use cloud mobile testing.
  7. Mobile app testing with both portrait and landscape screen mode.
  8. Use Emulators and simulators whenever required.
  9. Verify the performance of the application.
  10. Do not automate everything.
  11. Get more accurate results using beta testing
  12. Time management for various testing activities.
May 05, 20234 minutesauthorVirendra Harkhani
How should your app be updated for Android 13 given the changes to permissions?

The Android 13 version was just released. Because your audience will progressively switch to this new version, you as an app developer must support newer versions. Yes, it takes longer to adjust to new versions than it does for IOS, but you still need to do it.

Changes with the new version come in 3 categories:

  1. New Features and APIs.The overview of the new functionality and APIs can be found here. These modifications consist of brand-new APIs and functionality that were not present in earlier iterations. The Per-app language choices are the new feature that I loved the most. Users can now choose a language other than the system language for an app thanks to this functionality.

  2. Behaviour changes in all apps. The details about those adjustments are available here. No matter if your app targets API level 33 or not, these changes apply to all apps. You must test your app on Android 13 and make the necessary adjustments to make it suitable.

  3. Behavior changes Apps targeting Android 13 or higher. These changes can be found here. Only apps that target API level 33 or higher are impacted by these changes. You must make the necessary adjustments in order to work with Android 13.

In Android 13, there are some changes that are worth checking which could affect your app. These are mostly changes in permission behaviors.

NEARBY_DEVICES Permission

Starting with Android 13, you will need to use NEARBY_DEVICES permission for some Wi-Fi-related use cases. Previously, ACCESS_FINE_LOCATION permission was used.

New Permissions for Media

Three new permission is introduced with Android 13: READ_MEDIA_IMAGES, READ_MEDIA_IMAGES, READ_MEDIA_VIDEO, and READ_MEDIA_AUDIO.Use one of these new permissions if you were reading files using READ_EXTERNAL_STORAGE. All is well if an Android 13 user has already granted this permission. If not, the request for READ_EXTERNAL_STORAGE permission will be disregarded. This indicates that for this section, your app needs to be modified.

In our program, we used READ_EXTERNAL_STORAGE to select images. For picture selection, we had to support READ_MEDIA_IMAGES. I'll now describe how you can accomplish this.

Firstly, you need to update compile and target api level to 33. Now you could access the new APIs :)

compile: 33,
target : 33

Secondly, you need to put READ_MEDIA_IMAGES permission to AndroidManifest file.

Lastly, you need to programatically ask for READ_EXTERNAL_STORAGE permission for API level lower than 33 and ask for READ_MEDIA_IMAGES permission for API level equal or higher than 33.


private val readImagePermission = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) Manifest.permission.READ_MEDIA_IMAGES else Manifest.permission.READ_EXTERNAL_STORAGE
if(ContextCompat.checkSelfPermission(this, readImagePermission) == PackageManager.PERMISSION_GRANTED){
    //permission granted
} else {
    //permission not granted
}

Thats it, now your app is supporting this new permission! Hope this tutorial helped you in migrating to the new permissions. Please provide a clap if you liked this post.

April 25, 20233 minutesauthorVivek Beladiya
How to write E-mail for Sales

An email is a powerful tool for sales professionals. It provides a direct and efficient way to reach potential customers and pitch your product or service. However, writing an effective sales email can be challenging. In this blog post, we'll provide tips and best practices for writing compelling sales emails that will help you close deals and increase revenue.

Start with a strong subject line

The subject line is the first thing your recipient will see, and it will determine whether they open or delete your email. Make sure your subject line is attention-grabbing and relevant to your recipient. Avoid using spammy or clickbait-like subject lines that can make your email look unprofessional or even dishonest.

Personalize your email

Personalization is the key to making your email stand out and connect with your recipient. Address them by their first name and use any relevant information you have about them or their company to tailor your message to their needs and interests.

Keep it short and sweet

People are busy and have limited attention spans, so make sure your email is concise and to the point. Focus on the key benefits of your product or service and how it can help your recipient. Avoid long introductions or irrelevant information that might distract or bore your recipient.

Use clear and compelling calls to action

Your email should have a clear call to action that tells your recipient what to do next. Whether it's scheduling a demo, signing up for a trial, or simply responding to your email, make sure your call to action is easy to understand and compelling enough to motivate your recipient to take action.

Proofread and test your email

Before you hit send, be sure to proofread your email for any typos or grammatical errors. You can also test your email by sending it to a colleague or friend to get their feedback. Make sure your email looks good on different devices and email clients and that all links and attachments work properly.

Follow and track your results

If you don't hear back from your recipient, don't give up. Follow up with polite and friendly reminders, and be sure to track your results to see which emails are working and which aren't. You can use tools like email tracking or analytics to measure your open and click-through rates and adjust your strategy accordingly.

In conclusion, writing an effective sales email requires careful planning, personalization, and attention to detail. By following these tips and best practices, you can increase your chances of closing deals and generating revenue for your business. Always remember to be polite, respectful, and focused on your recipient's needs and interests, and you'll be well on your way to sales success.

April 24, 20232 minutesauthorAnkit Kalathiya
How to create artisan command in Laravel with arguments support

Create your own Command

In Laravel you can write your own customized command. Generally, commands will be stored in app\Console\Commands.

Generate Command

You can generate a command using the default Laravel artisan command :

php artisan make:command AppointmentReminder

Understanding Command

There is main 2 parts in the console command.

  1. Signature property
  2. Handle() method

$signature is the command name where you can specify the command name. if you are giving the name "send:reminder" then you have to fire the full command as follows.

php artisan send:reminder

Defining Arguments

You can define optional and required arguments into curly braces as follow.

  protected $signature = 'send:reminder {appointmentID}';               

  // For the Optional argument you have to define ? in last     
  'mail:send {appointmentID?}'       

Fetching Arguments

After executing the command if the argument is passed you have to fetch it. for that, you can use the default function as follow.

 public function handle(): void
 {         
     $appointmentID = $this->argument('appointmeentID');     
 }       

You can use Options in the same manner as we did for the arguments.

Executing Commands from code

Route::post('/send-reminders', function (string $user) {        
     Artisan::call('send:reminder', [             
          'appointmentID' => 123         
     ]);

     // ...     
});
April 24, 20231 minuteauthorVishal Ribdiya
The Role of Graphic Design in Social Media Marketing

Graphic design is an essential part of social media marketing. As the number of users continues to grow, businesses are realizing the potential of social media as a marketing tool. Social media platforms like Facebook, Twitter, Instagram, and LinkedIn provide businesses with an opportunity to reach their target audience, build brand awareness, and drive sales. One of the key components of social media marketing is graphic design. In this blog post, we'll discuss the role of graphic design in social media marketing.

Creates Visual Appeal

Social media is a visual medium, and effective graphic design can help you create visually appealing content that captures your audience's attention. Making your content stand out is crucial because there are millions of posts shared every day. Well-designed graphics can help you achieve this by using colours, typography, and images that create a cohesive visual language. Users are more likely to interact with aesthetically appealing content, therefore visual appeal is important.

Boosts Engagement

Compared to text-only material, visual content has a greater engagement rate. According to studies, posts with photos get 650% more interaction than posts that are just text. Additionally, social media algorithms give greater engagement content a higher priority, so postings with good design have a higher chance of being seen by more people. Your audience will stop scrolling and get engaged with your material if you use effective graphic design to produce visually appealing pieces that grab their attention.

Enhances User Experience

Social media users have short attention spans, and you have just a few seconds to capture their attention. Effective graphic design can help you communicate your message quickly and clearly, making your audience's experience more enjoyable. A well-designed product image can quickly convey to your audience the features and advantages of a new product you're marketing. Infographics use visuals to communicate complex information in a way that is easy to understand. Moreover, effective design can help you create a seamless experience across different social media platforms, making it easier for your audience to interact with your content.

Provides a Competitive Edge

To compete in the crowded field of social media, you must set yourself apart from the competition. If your competitors are using generic stock images, you can use custom illustrations or photographs to communicate your brand's personality and values. Moreover, effective design can help you create a consistent brand experience, making it easier for your audience to recognize and engage with your brand.

Builds Trust

Effective graphic design can help you build trust with your audience. A professional-looking graphic can make your brand appear more trustworthy and credible. On the other hand, poorly designed graphics can make your brand appear unprofessional and untrustworthy. If your audience trusts your brand, they're more likely to engage with your content, make purchases, and recommend your brand to others.

April 14, 20232 minutesauthorNency Dobariya
What is Test Plan? – A Complete Guide

A test plan often lists the requirements, risks, test cases, testing environments, business and quality objectives, test timelines, and other things.

What is Test Plan?

The strategy, goals, timetable, estimation, deliverables, and resources needed to carry out testing on a software product are all described in detail in a test plan. The test plan aids in estimating the amount of work required to verify the application’s quality. The test manager carefully monitors and controls every aspect of the test plan to ensure that software testing activities are carried out according to a defined methodology.

Types of Test Plans

  • Master Test Plan
  • Phase Test Plan
  • Testing Type-Specific Test Plans

Types of Test Plans

Master Test Plan

A test plan with many tiers of testing is called a master test plan. It has an entire test plan.

Phase Test Plan

One sort of test plan that addresses each element of the testing technique is a phase test plan. For instance, a list of test cases, a list of tools, etc.

Specific Test Plan

A specific test plan for major testing types like security testing, load testing, and performance testing, among others that is, a particular non-functional testing-specific test plan.

What is the Importance of a Test Plan?

There are numerous advantages to creating a test plan document, including assisting customers, business managers, and developers outside the test team in comprehending the specifics of testing.

Our thinking is guided by the Test Plan. It is like a set of rules that must be followed.

The Test Plan contains important details like test estimation, test scope, and test strategy so that it can be reviewed by the Management Team and used again for other projects.

How to write a Test Plan?

For the management team, the critical task is to make a test plan. Below steps are as follows:

How to write a Test Plan?

1. Analyse the product

Testing the product without any knowledge is next to impossible. One should learn about the product before testing it. You should look around the website and read the documentation for the product. You can learn how to use the website and all of its features by reading the product documentation. If you’re not sure about anything, you could talk to a customer, a developer, or a designer to learn more.

2. Develop a Test Strategy

In software testing, developing a Test Plan begins with developing a Test Strategy. A high-level document known as a Test Strategy is typically created by the Test Manager. This document explains:

The testing effort and costs are determined by the project’s testing objectives and methods. The below steps should be followed:

A. Define the Scope of Testing

Precise customer requirements, a project budget, product specifications, and the talents and skills of your test team are all necessary for determining the scope.

B. Identify the Testing Type

A typical test procedure with an anticipated outcome is referred to as a Testing Type.

Each type of testing is designed to find a particular kind of product bug. However, the objective of all testing types is the same: “Early detection of all defects before releasing the product to the customer.”

C. Document Risk & Issues

Risk is an uncertain future event that has a chance of happening and the potential to lose money. When the risk occurs, it becomes the “problem.”

D. Create Test Logistics

The Test Manager should respond to the following questions in Test Logistics:

  • Who will examine it?

Although the tester’s precise names may not be known, the type of tester can be identified.

  • When will the test take place?

Development activities must be matched to test activities.

3. Define the Test Objective

The overall objective and level of achievement of the test execution are the Test Objectives. The testing aims to uncover as many software flaws as possible; before releasing the software under test, make sure it doesn’t have any bugs.

The following two steps should be taken to define the test objectives:

  • List all software features (that might need to be tested.
  • Using the aforementioned characteristics, define the test’s objective or target.

4. Define Test Criteria

A standard or rule that a test procedure or test judgment can be based on is called Test Criteria. Two types of test criteria are:-

Suspension Criteria: Describe the essential suspension requirements for a test. The active test cycle will be suspended until the suspension criteria are resolved, if they are met during testing.

Exit Criteria: It defines the criteria for a test phase’s successful completion. Before moving on to the subsequent development phase, the exit criteria—the intended test results—are required. Example: All critical test cases must pass 95% of the time.

5. Resource Planning

A resource plan is a comprehensive list of all the resources necessary to complete a project task. The number of resources (employees, equipment, and materials) required to complete a project can be determined with the assistance of resource planning, which is an important part of the test planning process. As a result, the Test Manager can accurately estimate the project’s schedule and budget.

6. Plan Test Environment

A set of software and hardware on which the testing team will run test cases is called a testing environment. Real business and user environments, in addition to physical environments like servers and front-end running environments, make up the test environment.

7. Schedule & Estimation

A common term in project management is “making a schedule.” The Test Manager can use Test Planning as a tool for monitoring project progress and controlling cost overruns by creating a solid schedule.

Deadline for employee and project: The schedule is affected by working days, the project’s deadline, and the availability of resources.

Estimating the project: The Test Manager is aware of the project’s completion time based on the estimate So that he can make the right schedule for the project.

Project Threat: Because the Test Manager is aware of the risk, he or she can add sufficient additional time to the project schedule to address it.

8. Test Deliverables

A list of all the documents, tools, and other parts that need to be made and kept up to support the testing effort is called a Test Deliverable.

After the testing cycles have ended, test deliverables are provided.

Defect Report, Installation/Test Procedures Guidelines, Release Notes, and Test Reports.

April 10, 20235 minutesauthorVirendra Harkhani