Categories
TEKNOLOGI Utveckling

Hur implementerar man köp i appen i React Native?

Android- och iOS-plattformarna har möjlighet att köpa i appar. Den här bloggen är till för att hjälpa våra läsare att förstå köpmöjligheterna i appen för Android/iOS-telefoner. React Native i appen kan ge de grundläggande funktioner som behövs. Men den ensam kan inte stödja utvecklingen av din mobilapp. Det är därför du behöver implementera köp i appen. När du implementerar köp i appen i mobilappen är det två sidor involverade, nämligen klientsidan och serversidan. Vilka processer är involverade i React Native i appen? Så här… 

En sammanfattning av React Native-processen i appen:

  • Produkten skapas i Play Butik/App-konsol med ett unikt produkt-ID
  • Med hjälp av produkt-ID skapas produktprenumerationsdetaljer
  • Abonnemangsdetaljer (som planbelopp, prenumerationsperiod etc. ) kommer att visas på appsidan med hjälp av react-native-iap-paketet.
  • Plan som valts av användaren uppdateras i app- och Play-butikernas användning av react-native-iap-paketet.
  • Prenumerationsflödet slutförs som en funktion i App/Play-butiker
  • Efter betalning är appen bekräftad och användaren är autentiserad.
  • Användaren bör göra de nödvändiga uppdateringarna på servern.
  • Användaren ska uppdatera det genererade prenumerations-ID:t från kvittot på servern.
  • Efter att ha gjort uppdateringarna på servern, görs motsvarande uppdateringar på appsidan också.
  • Efter att ha slutfört prenumerationsflöde kan användaren använda sig av de prenumererade funktionerna i appen.
  • Vid avslutad prenumeration görs App/Play Store uppsägning vid behov och ett meddelande skickas till servern. Om prenumerationen sägs upp behöver den uppdateras även på appsidan.
  • Abonnemanget tecknas automatiskt på nytt efter prenumerationsperioden i automatisk förnyelse. OBS: iOS har tidigare inköpskvitton lagrade i systemet och därför är förnyelse problemfri till skillnad från Android.

Skapa produkt för köp i appen

Dina köp i appen måste ha produkter som prenumerationer som kan presenteras för appanvändarna. Så det är viktigt att du skapar en eller flera produkter via dina konton i App Store Connect för iOS och Google Play Store-konsolen för Android.

Implementeringen av köp i appen i din applikation görs med följande steg:

  • Konfigurera köp i appen i Google Play-konsolen/App Store Connect
  • React Native-biblioteket i appen i React Native

KonfigureraKonfigurera köp i appen för iOS:

  • Logga in på iOS-kontot.
  • Fyll i kontrakt för betalda applikationer från länken som finns i “Avtal, skatter och banktjänster”
  • Klicka på “Appar” i “Mina appar” i App Store-kontot för att lista din app
  • Klicka på “Funktioner” så kommer du landa sedan på “In-app Purchases”-sektionen
  • Välj in-app-köpprodukten med “+”-knappen
  • Välj “Non-Consumable” typ och välj Skapa
  • Välj priset som motsvarar det specifika köpet genom att ange App Store-information 
  • Ange köpets recension information och klicka på “Spara”
  • I appens kontrollpanel, gå till avsnittet “Handel”
  • Kopiera klistra in ditt produkt-ID från App Store Anslut till iOS-produkt-ID-fältet och klicka på knappen “Lägg till” för att spara

Konfigurera köp i appen för Android:

  • Logga in till ditt Google-konto
  • Välj t “Inställningar” från den vänstra menyn
  • Aktivera ditt handlarkonto från den här sidan
  • Skaffa licens/faktureringsnyckel från ditt Google-utvecklarkonto
  • Välj “Alla applikationer” och välj appen som du ska tillämpa köpet i appen för att
  • välja “Tjänster och API:er” under “Utvecklingsverktyg”
  • Kopiera licensnyckeln till avsnittet “Din licensnyckel för den här applikationen”
  • Ladda upp licensnyckeln till “Handel”-avsnittet på din app kontrollpanel och klicka på “Applista”
  •  Välj “Produkter i appen” från menyn under fliken’
  • ‘ButiksnärvaroSe till att ‘Managed Products’ är vald och klicka på ‘Create Managed Products’
  • Ange produkt-ID, titel och beskrivning och ställ sedan in status som ‘Aktiv’
  • Ställ in ‘Pris’ och klicka på ‘Spara’
  • För att lägga till produkt-ID till din appkontrollpanel, klicka på “Commerce” från den vänstra menyn
  • Kopiera klistra in ditt produkt-ID från Google Developer-kontot i fältet Google Play Produkt-ID och klicka på “Lägg till”

Konfigurera React Native-biblioteket i appen i React Native:

Inköp i appen för både Andr oid och iOS-plattformar, det finns ett React Native-modulbibliotek. Detta görs för att få erfarenhet mellan de två plattformarna. Genom att köra lämpliga kommandon i projektterminalen för att installera React Native i appen. 

I iOS installerar utvecklare poddar för att slutföra länkningen. När köpet för In-app är klart bör koddelen i React Native kontrolleras. För detta bör vi först importera React Native In-app och definiera produktens lagerhållningsenhet (SKU) separat för Android och iOS. Sedan behöver produktprenumerationerna även definieras separat för Android och iOS. Efter detta kan du fortsätta och hämta dina köpprodukter i appen med hjälp av lämpliga kommandon.

Testa köp i appen

Funktionaliteten för köp i appen i appen måste testas. Detta görs genom provköp av produkten av vilken användare som helst. 

I iOS används sandlådetestare för testning. Välj “Sandbox Tester” under “Användare och roller” i iTunes. Lägg till en ny användare med några grundläggande detaljer som testare. Med de angivna uppgifterna kan vilken produkt som helst köpas utan att betala pengar på iOS. Nu kan testaren testa funktionen för köpet i appen i iOS-appen.

I Android läggs testare till på följande sätt: I Play Butiks konsol, öppna “Inställningar” och klicka på fliken “Kontodetaljer”. Välj “Licenstestning” under den och ange e-post-ID för användaren som ska läggas till som testare. Detta testarkonto som skapats kan nu användas för att testa köp i appen. För att testa köp i appen, se till att Android-versionen måste vara i releaseläge eftersom den inte kan testas i debug-versionen.

Vilka är fördelarna med React Native för mobilappsutveckling?

  • Pengar och tid sparas på grund av dess Android- och iOS-kompatibilitet 
  • Förbättrad prestanda i hybridteknologier över plattformar 
  • Större flexibilitet att uppdatera och uppgradera
  • Flyttbar till andra ramverk 
  • Kodändringar kan ses direkt. 
  • Snabbare uppdateringspublicering för appar
  • Befintlig app kan utökas utan att skriva om appen

Slutsats:

Webdura har alltid haft en positiv erfarenhet av React Native. Vi tror att det är det bästa ramverket för utveckling av mobilappar. Lyringo, språkinlärningsappen som Webdura utvecklade görs med React Native-ramverket. Vi garanterar att detta ramverk är ett mycket kostnadseffektivt sätt och hjälper till att halvera kostnaderna för mobilutveckling. Detta snabba applikationsramverk har gjort våra mobilappar pålitliga, snabba och skalbara. React Native har stöttat olika andra utvecklingsprojekt för mobilappar i Webdura.

Våra kunder har också delat positiv feedback med oss ​​för React Native-baserade huvudappar som utvecklats. När det gäller vårt supportteam är stödet som krävs för att underhålla apparna som utvecklats i React Native-ramverket mycket mindre. Så vad vi antyder här är att det finns all anledning att säga ja till React Native mobilutveckling!

Categories
DEVELOPMENT TECHNOLOGY

How to Implement In-app Purchase in React Native?

The Android and iOS platforms have In-app purchase abilities. This blog is for helping our readers understand the In-app purchase capabilities of Android/iOS phones. In-app React Native can give the basic features needed. However it alone cannot support your mobile app development process. This is why you need implementation of In-app purchase. While implementing In-app purchases in the mobile app, there are two sides involved namely client side and server side. What are the processes involved in In-app React Native? Here is how… 

A Summary of The In-app React Native Process:

  1. Product is created in Play Store/ App console using unique product ID
  2. Using product ID, product subscription details are created
  3. Subscription details (like plan amount, subscription period etc.)  will be displayed on app side using react-native-iap package
  4. Plan chosen by user is updated in App and Play Stores’ using react-native-iap package
  5. Subscription flow is completed as a functionality in App/Play stores
  6. After payment, app is confirmed and user is authenticated
  7. The user should make the necessary updates in the server
  8. The user should update the generated subscription ID from the receipt in the server
  9. After making the updates in the server, the corresponding updates are made in the app side too
  10. After completing the subscription flow, user can make use of the subscribed functionalities in the app
  11. On completing subscription, App/Play Store cancellation is done if required and a notification is sent to the server. If the subscription is cancelled, it needs to be updated in the app side as well.
  12. The subscription gets automatically re-subscribed after the subscription period in auto renewal. NOTE: iOS has previous purchase receipts stored in the system and hence renewal is hassle- free unlike Android.

In-app Purchase Product Creation

Your in-app purchases need to have products like subscriptions that can be presented to the app users. So it is important that you create one or more products through your accounts in App Store Connect for iOS and Google Play Store console for Android.

The implementation of in-app purchase in your application are done using the following steps:

  • Configure in-app purchase in Google Play console/App Store Connect
  • Set up the in-app React Native library in React Native

Configuring in-app purchase for iOS:

  • Log in to the iOS account
  • Fill out paid applications contract from the link available in ‘Agreements, Tax and Banking’
  • Click on ‘Apps’ in ‘My Apps’ section of App Store account to list your app
  • Click on ‘Features’ and you will then land on ‘In-app Purchases’ section
  • Select the in-app purchase product using the ‘+’ button
  • Select ‘Non-Consumable’ type and select Create
  • Select the price corresponding to the specific purchase by entering App Store information 
  • Enter the purchase’s review information and click ‘Save’
  • In App control panel, go to ‘Commerce’ section
  • Copy paste your product ID from App Store Connect to the iOS Product ID field and click ‘Add’ button to save

Configure in-app purchase for Android:

  • Log in to your Google account
  • Select ‘Settings’ from left menu
  • Activate your merchant account from this page
  • Obtain license/ billing key from your Google developer account
  • Select ‘All Applications’ and select the app for which you are going to apply the in-app purchase to
  • Select ‘Services and APIs’ under ‘Development Tools’
  • Copy license key to the section titled ‘Your license key for this application’
  • Upload license key to the ‘Commerce’ section of your app’s control panel and click on ‘App Listing’
  •  Select ‘In-app Products’ from the menu under the ‘Store Presence’ tab
  • Ensure ‘Managed Products’ is selected and click ‘Create Managed Products’
  • Enter Product ID, title and description and then set status as ‘Active’
  • Set ‘Price’ and click ‘Save’
  • To add product ID to your app control panel, click ‘Commerce’ from the left menu
  • Copy paste your product ID from the Google Developer account into the Google Play Product ID field and click ‘Add’

Configure the In-app React Native Library in React Native:

In-app purchases for both Android and iOS platforms, there is a React Native module library. This is done for gaining experience between the two platforms. By running appropriate commands in the project terminal for installing In-app React Native. 

In iOS, developers install pods to complete the linking. Once the purchase for In-app is finished, the code part in React Native should be checked. For this, first we should import React Native In-app and define the product’s Stock Keeping Unit (SKU) separately for Android and iOS. Then the products subscriptions also need to be defined separately for Android and iOS. After this you can proceed and fetch your In-app purchase products using appropriate commands.

Testing In-app Purchases

The functionality of the In-app purchase in the app must be tested. This is done by sample purchase of the product by any user. 

In iOS, sandbox tester is used for testing. Select ‘Sandbox Tester’ under ‘User & Roles’ section in iTunes. Add a new user with some basic details as the tester. With the entered details, any product can be purchased without paying money on iOS. Now the tester can test the functionality of the In-app purchase in the iOS app.

In Android, tester is added in the following way: In the Play Store console, open ‘Settings’ and click the ‘Account Detail’ tab. Under it select ‘License Testing’ and enter the email ID of the user to be added as the tester. This tester account created can be now used to test In-app purchase. To test In-app purchase, make sure that the Android build must be in release mode because it cannot be tested in debug build.

What are the Benefits of React Native for Mobile App Development?

  • Money and time saved because of its Android and iOS compatibility 
  • Improved performance in cross-platform hybrid technologies 
  • Greater flexibility to update and upgrade
  • Moveable to other frameworks 
  • Code changes can be viewed immediately 
  • Faster update publishing for Apps
  • Existing app can be augmented without rewriting the app

Conclusion:

Webdura has always had a positive experience in React Native. We believe it is the best framework for mobile app development. Lyringo, the language learning app that Webdura developed is done with React Native framework. We guarantee this framework is a very cost-effective way and helps in slashing the mobile development expenses by half. This rapid application framework has made our mobile apps reliable, swift and scalable. React Native has supported various other mobile app development projects in Webdura.

Our clients have also shared positive feedback with us for React Native based main ole apps developed. As far as our support team is concerned, the support required for maintaining the apps developed in React Native framework is much less. So what we are implying here is that there is every reason to say yes to React Native mobile development!

Categories
DEVELOPMENT TECHNOLOGY

Quality Assurance: A Key Index for Measuring Product Performance!  

When you use a product the first thing that comes up in your mind is quality. Quality cannot be compromised and the USP for all companies and manufacturers is the quality of their products. Webdura too has various QA tools and techniques for assuring quality in software development that guarantees end-user satisfaction. 

At Webdura, once an application is developed our team ensures that the application is tested with reference to a multitude of aspects by carrying out quality assurance practices. We do QA with the ultimate goal of user satisfaction and shrewd products. Our QA team takes the initiative and thinks in the perspective of the user and sees how quality can be enhanced for each product. 

What is Quality Assurance?

Quality assurance is the process of checking and testing a product before releasing it to the market or the end user. This will ensure that the product is devoid of defects and issues and it is ready to roll.

QA Strategies: The Process of Quality Assurance

QA has different components and the QA strategy at Webdura is executed as depicted below:

  1. Requirement Analysis:

            Analyzing the requirements and defining the    scope 

  1. Test Planning:

            Create Test plan document and define the test cases with traceability matrix

  1. Test Design:

            How the test cases will be executed- Manual or Automation and test scenarios

  1. Environment Setup:

            Setup Dev, QA for stakeholders to test and verify the test cases.

  1. Test Execution:

            Execute the test cases manually and through automation if required 

  1. Test Closure:

             Passing all the test cases and sign off from QA

We carry out testing in multiple phases. It starts with developers testing the software or source codes created. It is called the unit testing phase. During unit testing, our developers ensure that the functionality or feature which is developed aligns with the requirement and working as expected. At this point if there is a need for change in design, we induce it. Once it is done then the code is deployed for peer review. The code review is done by the peer or the lead who verifies the code for assessing whether it is written as per the requirements and the coding standards. 

Once the peer review is done the developer deploys the code into the QA environment for the Tester (QA) to verify the application. 

Our QA will be ready with the test design, test cases and test data to start verifying the functionality or the feature developed. Our QA assumes the role of a product owner who captures and is fully aware of the end to end working and UI flow of the application. There will be a checklist or test data document to mark and confirm on the test cases and confirmed as passed or failed. After QA testing, the tester will provide the percentage of quality on which the application is working. 

Once the QA starts testing, we ensure that the application is working in alignment with the requirements. QA will verify each functionality, UI components, content and integration points. The tester will raise and inform the development team if there are any defects found while testing. QA will include both happy flow and negative test cases in the test design. The quality of a product depends on the skill of the QA who tests the application. 

For us, QA plays a major role in ensuring quality and readiness of the product developed. The product can be released only if QA signs off and UAT is done. During debugging, our QA spots and clears logical and analytical errors spotted. The identified bugs during testing are tracked in a bug tracking system. At Webdura, our QA tracks the bug detected in Jira dashboard.

Which are the Different Types of Testing?

Webdura has different testing strategies for different projects. For example, alpha-beta testing is done for the food delivery app ‘Eat It In’. In case of our online gig platform- Trova- functionality, UI , performance and security testing are done. Since it is an E-commerce platform, there are certain security constraints as we have less control over the third parties in the platform. However, our team makes every effort to keep the app tested and minimize bugs.

There are number of testing levels and the different types of Software Testing includes:

  1. Unit testing
  2. Integration testing 
  3. Regression testing
  4. Smoke testing
  5. User Acceptance testing
  6. Business testing
  7. Performance testing
  8. Unit Testing

Unit Testing

Unit testing is mainly done by the programmer to verify if the loop, method or function is working fine based on an individual unit or a group of interrelated units.

In our online gig platform- Trova, Webdura had frequently updated new features. These new features are added to the product as and when clients demand or as per the latest updates required for the software. During this time, our developers conduct unit testing for already existing features as well as newly induced features to make certain that the features act in perfect sync. Through positive testing, QA double-ensures that the features work without any flaws.

  1. Integration testing

Our team checks and confirms whether the integration request provided is correct and the response received is complete. The APIs will be written and configured properly. Integration testing is very important and our QA checks whether the request and response is correct and the flow is successfully completed.

In Wuyers, the food app, third party integration for making payments with the bank was involved and we did integration testing to check the responsiveness of this feature. We ensure that the testing starts from one point and ends in another system without thereby ensuring there are no gaps.

  1. Regression Testing

When a new module, feature and an enhancement is added to an existing software, Regression testing should be done. This is done mainly to ensure that changes in the software does not affect the proper working of the components.

Trova has daily feature updating and in the process our QA takes care to avoid bugs from getting repeated with the help of regression testing..

  1. Smoke Testing

This is a trial run to check whether there are no major defects and blockers in the application which is planned for a release.

  1. User Acceptance Testing (UAT)

UAT is done prior to release by the Business Analyst/ Product Owner with the QA in order to ensure that all the requirements are covered and checked. UAT is done by the user. The language learning app, Lyringo takes in client satisfaction at every single point of time and issues are resolved with immediate effect.

  1. Performance Testing

This testing is done to know the speed and time taken to complete a flow based on the load given to the application. Performance testing is done to measure the effectiveness of the application and we do it using JMeter.

  1. Business Testing

End to End testing done by Business to ensure that all the expectations are met and in line with the requirements to release to Market.

Manual Testing

Manual testing is a type of software testing in which test cases are executed manually by the tester from an end user’s perspective. QA writes a script and checks whether the functionality is working. If there is a bug, the script won’t be read.

Different types of Manual testing

  • Smoke testing
  • Cross browser testing
  • Acceptance testing
  • Usability testing
  • Device testing

Automation testing

Automation testing is another type of Software testing in which test cases are automated with the help of an automation tool. There will be no human interference and less interaction with the system as the tool will automate the test cases in order to achieve greater speed and efficiency. Automation test is done after ensuring that the functions, keys, features are stable.

Advantages of Automation testing

  1. Reduce testing effort and time
  2. Better quality software
  3. Higher test coverage for large test cases
  4. Eliminate Human error
  5. Better insights
  6. Reusability of test suites
  7. Brings usability to apps

Tools used for Automation testing are mainly Selenium, Cyprees for functionality testing and Appium done using Postman.  Selenium is an open source web based testing tool which provides a portable testing framework for web applications. It automates browsers for automating web applications for testing. 

Appium is an open source automation tool primarily used for Mobile app testing. It helps in automation of native, hybrid and mobile web apps built in both iOS and Android. Through a simulator and emulator, and plugins, application performance is assessed in different environments.

Conclusion:

Webdura has different testing strategies for different projects. Undertaking different types of testing and assuring quality is very important to us. User satisfaction by making intelligent software applications is the ultimate aim of our logical testing and prompt bug fixing. Webdura has a flexible QA practice and takes in feedback at every client checkpoints. Webdura projects are based on agile methodology and hence QA has a vital role to play. 

Categories
TEKNOLOGI Utveckling

Kvalitetssäkring: Ett nyckelindex för att mäta produktprestanda!

När du använder en produkt är det första du tänker på kvalitet. Kvaliteten går inte att kompromissa med och USP för alla företag och tillverkare är kvaliteten på deras produkter. Webdura har också olika QA-verktyg och tekniker för att säkerställa kvalitet i mjukvaruutveckling som garanterar slutanvändarnas tillfredsställelse. 

På Webdura, när en applikation väl har utvecklats, säkerställer vårt team att applikationen testas med hänvisning till en mängd aspekter genom att utföra kvalitetssäkringsmetoder. Vi gör QA med slutmålet användarnöjdhet och smarta produkter. Vårt QA-team tar initiativ och tänker i användarens perspektiv och ser hur kvaliteten kan förbättras för varje produkt. 

Vad är kvalitetssäkring?

Kvalitetssäkring är processen att kontrollera och testa en produkt innan den släpps till marknaden eller slutanvändaren. Detta kommer att säkerställa att produkten är fri från defekter och problem och att den är redo att rulla.

QA-strategier: Processen för kvalitetssäkring

QA har olika komponenter och QA-strategin på Webdura utförs enligt bilden nedan:

  • Kravanalys:

            Analysera kraven och definiera omfattningen 

  • Testplanering:

            Skapa testplandokument och definiera testfallen med spårbarhetsmatris

  • Test. Design:

            Hur testfallen kommer att utföras- Manuell eller Automation och testscenarier

  • Miljöinställning:

            Setup Dev, QA för intressenter att testa och verifiera testfallen.

  • Testexekvering:

            Exekvera testfallen manuellt och genom automatisering vid behov. 

  • Teststängning:

             Godkänt alla testfall och logga ut från QA

Vi utför testning i flera faser. Det börjar med att utvecklare testar programvaran eller källkoderna som skapats. Det kallas enhetstestningsfasen. Under enhetstestning säkerställer våra utvecklare att funktionaliteten eller funktionen som utvecklas överensstämmer med kraven och fungerar som förväntat. Vid denna tidpunkt om det finns ett behov av förändring i design, framkallar vi det. När det är gjort distribueras koden för peer review. Kodgranskningen görs av kamraten eller ledaren som verifierar koden för att bedöma om den är skriven enligt kraven och kodningsstandarderna. 

När peer review är gjord distribuerar utvecklaren koden i QA-miljön för testaren (QA) för att verifiera applikationen. 

Vår QA kommer att vara redo med testdesign, testfall och testdata för att börja verifiera funktionaliteten eller den utvecklade funktionen. Vår QA antar rollen som en produktägare som fångar och är fullt medveten om applikationens slut till slut och UI-flöde. Det kommer att finnas en checklista eller testdatadokument att markera och bekräfta på testfallen och bekräftas som godkänd eller underkänd. Efter QA-testning kommer testaren att ge den procentandel av kvalitet som applikationen fungerar på. 

När QA börjar testa säkerställer vi att applikationen fungerar i linje med kraven. QA kommer att verifiera varje funktionalitet, UI-komponenter, innehåll och integrationspunkter. Testaren kommer att ta upp och informera utvecklingsteamet om det finns några defekter under testningen. QA kommer att inkludera både happy flow och negativa testfall i testdesignen. Kvaliteten på en produkt beror på skickligheten hos QA som testar applikationen. 

För oss spelar QA en stor roll för att säkerställa kvalitet och beredskap hos den utvecklade produkten. Produkten kan endast släppas om QA loggar ut och UAT är klar. Under felsökningen upptäcker och rensar vår QA logiska och analytiska fel upptäckta. De identifierade buggarna under testning spåras i ett buggspårningssystem. På Webdura spårar vår QA buggen som upptäckts i Jiras instrumentpanel.                                   

Vilka är de olika typerna av testning?

Webdura har olika teststrategier för olika projekt. Till exempel görs alfabeta-tester för matleveransappen “Eat It In”. När det gäller vår onlinespelningsplattform – Trova- funktionalitet, UI, prestanda och säkerhetstestning görs. Eftersom det är en e-handelsplattform finns det vissa säkerhetsbegränsningar då vi har mindre kontroll över tredje part i plattformen. Men vårt team gör allt för att hålla appen testad och minimera buggar.

Det finns ett antal testnivåer och olika typer av Software Testing inkluderar:

  • Enhetstestning
  • Integration testning 
  • regressionstestning
  • Smoke testning
  • användarnas acceptans Test
  • Business testa
  • prestandatester
  • enhetstestning

Unit Testing

Enhetstestning sker främst av programmeraren att kontrollera om slingan, metod eller Funktionen fungerar bra baserat på en enskild enhet eller en grupp av sammanhängande enheter.

I vår onlinespelningsplattform Trova hade Webdura ofta uppdaterat nya funktioner. Dessa nya funktioner läggs till produkten när och när kunder efterfrågar eller enligt de senaste uppdateringarna som krävs för programvaran. Under denna tid utför våra utvecklare enhetstester för redan befintliga funktioner såväl som nyligen inducerade funktioner för att säkerställa att funktionerna fungerar perfekt synkroniserade. Genom positiv testning säkerställer QA dubbelt att funktionerna fungerar utan några brister.

  • Integrationstestning

Vårt team kontrollerar och bekräftar om den angivna integrationsförfrågan är korrekt och att svaret är komplett. API:erna kommer att skrivas och konfigureras korrekt. Integrationstestning är mycket viktigt och vår QA kontrollerar om begäran och svaret är korrekt och flödet är framgångsrikt genomfört.

I Wuyers, matappen, var tredjepartsintegration för att göra betalningar med banken involverad och vi gjorde integrationstestning för att kontrollera känsligheten hos denna funktion. Vi säkerställer att testningen startar från en punkt och slutar i ett annat system utan att därigenom säkerställa att det inte finns några luckor.

  • Regressionstestning

När en ny modul, funktion och en förbättring läggs till i en befintlig programvara bör regressionstestning göras. Detta görs främst för att säkerställa att ändringar i programvaran inte påverkar komponenternas korrekta funktion.

Trova har daglig funktionsuppdatering och i processen ser vår QA till att undvika att buggar upprepas med hjälp av regressionstestning..

  • Smoke Testing

Detta är en provkörning för att kontrollera om det inte finns några större defekter och blockerare i applikationen som är planerad för en release.

  • User Acceptance Testing (UAT)

UAT görs innan den släpps av affärsanalytikern/produktägaren med QA för att säkerställa att alla krav täcks och kontrolleras. UAT görs av användaren. Språkinlärningsappen Lyringo tar in kundnöjdhet vid varje enskild tidpunkt och problem löses med omedelbar verkan.

  • Prestandatestning

Denna testning görs för att veta hastigheten och tiden det tar att slutföra ett flöde baserat på belastningen som ges till applikationen. Prestandatestning görs för att mäta applikationens effektivitet och vi gör det med JMeter.

  • Business Testing

End to End-testning utförd av Business för att säkerställa att alla förväntningar uppfylls och i linje med kraven för att släppa till Market.

Manuell testning

Manuell testning är en typ av mjukvarutestning där testfall utförs manuellt av testaren ur en slutanvändares perspektiv. QA skriver ett script och kontrollerar om funktionen fungerar. Om det finns en bugg kommer skriptet inte att läsas.

Olika typer av manuell testning

  • röktest
  • Cross webbläsare
  • acceptanstesttestning
  • Användartester
  • Device testar

Automation testning

Automation testning är en annan typ av programvara testning där testfall är automatiserade med hjälp av en automatiseringsverktyg. Det blir ingen mänsklig störning och mindre interaktion med systemet eftersom verktyget kommer att automatisera testfallen för att uppnå högre hastighet och effektivitet. Automatiseringstest görs efter att ha säkerställt att funktionerna, knapparna, funktionerna är stabila.

Fördelar med automationstestning

  • Minska testansträngning och tid
  • Bättre kvalitetsmjukvara
  • Högre testtäckning för stora testfall
  • Eliminera mänskliga fel
  • Bättre insikter
  • Återanvändbarhet av testsviter
  • Ger användbarhet till appar

Verktyg som används för automationstestning är främst Selenium, Cyprees för funktionstestning och Appium som görs med Postman .  Selenium är ett webbaserat testverktyg med öppen källkod som tillhandahåller ett portabelt testramverk för webbapplikationer. Det automatiserar webbläsare för att automatisera webbapplikationer för testning. 

Appium är ett automationsverktyg med öppen källkod som främst används för testning av mobilappar. Det hjälper till med automatisering av inbyggda, hybrid- och mobila webbappar byggda i både iOS och Android. Genom en simulator och emulator, och plugins, bedöms applikationsprestanda i olika miljöer.

Slutsats:

Webdura har olika teststrategier för olika projekt. Att genomföra olika typer av tester och kvalitetssäkra oss är mycket viktigt för oss. Användarnöjdhet genom att göra intelligenta programvaror är det yttersta målet för våra logiska tester och snabba buggfixar. Webdura har en flexibel QA-praxis och tar in feedback vid varje klientkontroll. Webdura-projekt är baserade på agil metodik och därför har QA en viktig roll att spela. 

Categories
TEKNOLOGI Utveckling

Kan Node JS vara den idealiska lösningen för dina projekt?

Du startar ett projekt och du har nått vår blogg för att du sökte på Node JS. Vi antar att du vill veta om Node JS kan tillämpas för ditt projekt eller inte?! Med en ren majoritet av applikationer som distribuerar JavaScript-miljöer, kan vi ge dig många skäl till varför du bör gå för Node JS-implementering i din organisation.

Vad är Node JS? 

Node JS är ett plattformsoberoende programmeringsspråk med öppen källkod. Det körs på V8 JavaScript, vilket gör kärnan i Google Chrome utanför webbläsaren. Denna speciella funktion lägger till sin snabba byggbarhet och skapar skalbara nätverksapplikationer som anger parametrarna för dess kärnprestandaområden.

Node JS fungerar på händelsestyrda asynkrona input-output-modeller – detta gör den lämplig för att utveckla dataintensiva applikationer som kan köras över en mängd enheter i realtid. Den kan stödja flera anslutningar utan krav på ett stort minnesspår.

På Webdura slår vi samman Node JS med andra ramverk för applikationsutveckling och inga projekt körs på egen hand på Node JS.

Vad är användningen av Node JS?

Det kan vara förvånande när vi säger att NodeJS inte bara är begränsat till att bygga webbapplikationer, utan också kan användas för implementering av olika tjänster som:

  • Frontends
  • Backends och servrar
  • API-utveckling
  • Automation och scripting 

Node JS Architecture

Inom IT-branschen kommer du att stöter på olika serverspråk och ramverk som Java, Spring, Ruby, Rails, Python och Flask. Men Node JS skiljer sig i två sammanhang:

  • Utvecklare kan använda samma språk för webbapplikationsutveckling samt stödtjänster eftersom den har funktionen av fristående JavaScript.
  • Den fungerar utmärkt som IO-intensiva uppgifter som HTTP-förfrågningar och interaktion med filsystemobjekt 

I båda ovanstående sammanhang kan Node JS köra JavaScript utanför webbläsaren. I fristående JavaScript görs på ett snabbt och skalbart sätt. Node JS kan exekvera JavaScript-kod utanför webbläsaren med hjälp av en JavaScript-motor med öppen källkod och ytterligare utforska prestandakapaciteten hos Node JS för att snabbt hantera stora mängder IO-uppgifter med hjälp av händelseloopar.

Hur Node JS tillämpas för Webdura-projekt?

Webdura inkorporerade Meteor, ett Node JS-baserat ramverk för alla våra projekt, nämligen Wuyers, Curl IQ, Trova och M-App. Anpassningsförmågan hos Meteor i Node JS är det som ledde till själva genomförandet av dessa projekt i Node JS-inställningen. Ta en titt på hur Node JS hjälper våra projekt att få en smidig landningsbana…

 

  • Node JS i artificiell intelligens (AI)

 

Webdura har ett AI-projekt som heter Curl IQ. Curl IQ har sin målgrupp som sträcker sig från individer till modebranscher. Den har ett AI-gränssnitt där användarna kan prova olika frisyrer.

De jämförelsevis mindre minnesfootprints och snabba starttiden för Node JS har varit fördelaktiga för Curl IQ. Dess AI-modell bearbetar bilderna och data skickas till fjärrservrar. Vi kunde också undvika problem med datasekretess genom att köra modellen lokalt på klienten, vilket i sin tur höjde applikationens interaktiva nivåer.

 

  • Node JS i sociala medier:

                                                  Trova

Trova är en spelningsplattform online med egenskaperna hos en social medieplattform. Det är en Meteor-centrerad webbaserad applikation. Wbedura kunde bygga skalbara och anpassningsbara segment för nyhetsflöden och aktivitetsloggar i Trova-appen. Node JS:s asynkrona karaktär har i hög grad förbättrat Trovas prestanda. Vi kunde se att appen kunde få avsevärd hastighetsökning tillsammans med lägre minnesanvändning.

 

  • Node JS i Food Delivery Application

 

Wuyers och Eatitin är iOS/Android-matleveransapplikationer utvecklade av Webdura. Backend-applikationen för Wuyers och Eatitin är byggd på Node JS. Vårt team börjar med att installera Node JS-ramverket och en stackoverflow-tråd som kommer att få oss igång med Node JS-plattformen för Wuyers och Eatitin på nolltid.

                                                     Wuyers

Med hjälp av Node JS kunde vi lägga till många funktioner till Wuyers-appen. Sökmöjligheter, informationsspårning, leveransinformationshantering, beställd matbeskrivning, övervakning av kundinformation och transaktioner, resurshantering av matvarudata, integration av betalningsregister etc.

 

  • Node JS i marknadsföringsapplikationer

 

Webdura utvecklade en skräddarsydd webbaserad marknadsföringsapplikation som heter M-App för våra kunder. Det är en enda plattform där källan leder och olika kommunikationskanaler (chatt, PPC, samtal, WhatsApp etc.) är integrerade för bättre transparens och snabba affärsbeslut avseende våra kunders marknadsföringsparametrar.

                                                     M-App

  • Node JS i Learning-appen

Lyringo är en språkinlärningsapp som har en videoströmningsplattform. Videor visades med undertexter tillsammans med innebörden. Dessa undertexter kommer att vara på det språk som användaren föredrar att lära sig. Node JS användes för projektet för att skicka videoinnehållet till frontend i bitar. Och ja, vi hade en bra produkt i handen!

                                                    Lyringo

Vad är Node JS Frameworks?

Applikationsutveckling kräver ett specifikt ramverk för att stödja specifika användningsfall i utvecklingsprocessen. I Node JS finns det 3 stora ramverk nämligen:

  • FeatherJS: Detta ramverk stödde att skapa realtidsapplikationer och REST API:er med JavaScript eller TypeScript.
  • KoaJS: AS-ramverk för webbapplikationer och API:er som hjälper till att minska återuppringningar och förbättra felhanteringen
  • HapiJS: Hjälper till att göra serversidan mer kraftfull för Node JS-applikationer
  • Representational State Transfer (REST) ​​API: Detta ramverk erbjuder olika arkitekturstilar för nätverksapplikationer som hjälper till att bygga applikationer snabbare.

Vilka är fördelarna med Node JS?

  • Skalbarheten förblir intakt oavsett hur många tillägg som görs till enstaka noder, vilket förbättrar prestandan
  • Enkel inlärning för nybörjare och Node JS underlättar introduktionen av det i backend som bara kommer att kräva mindre tidsåtgång
  • Full stack JavaScript kan användas på både klienten och applikationer på serversidan. Så det finns inget behov av att anställa frontend- och backend-utvecklare
  • Stark communitybas som arbetar kontinuerligt med att utveckla och förbättra funktionerna
  • Starkt supportteam som kan utöka sitt stöd för vanliga verktyg och tekniker
  • Cachning av enstaka moduler är möjligt med Node JS. När det finns en begäran om modul, kommer den att cachelagras i applikationsminnet
  • Enkeltrådad fungerande
  • Utökningsfördelar baserat på kraven, vilket gör anpassning möjlig

Slutsats:

Node JS är fördelaktigt för utvecklare i det faktum att den kan distribueras för både frontend- och backendservrar .Webdura har logiskt tillämpat Node JS för diverse projekt och vi är nöjda med resultaten. Node JS har fallgropar och sweet spots som alla andra programmeringsspråk, men hur väl du använder de sweet spots för att uppnå dina projektleveranser avgör framgångsfaktorn för att implementera Node JS i din organisation.

Categories
DEVELOPMENT TECHNOLOGY

Can Node JS be the Ideal Solution for Your Projects?

You are starting a project and you have reached our blog because you searched for Node JS. We presume that you want to know whether or not Node JS can be applied for your project?! With a downright majority of applications deploying JavaScript environments, we can give you plentiful reasons why you should go for Node JS implementation in your organization.

What is Node JS? 

Node JS is an open-source, cross-platform programming language. It runs on the V8 JavaScript, which makes the crux of Google Chrome outside of the browser. This particular feature adds on to its swift buildability and creating scalable network applications that set the parameters of its core performance areas.

Node JS works on event ridden asynchronous input-output models- this makes it suitable for developing data-intensive applications that can be run across a multitude of devices in real time. It can support multiple connections without the requirement of a large memory track.

At Webdura, we merge Node JS with other application development frameworks and no projects are run single-handedly on Node JS.

What are the uses of Node JS?

It might be surprising when we say that NodeJS is not merely restricted to building website applications, but can also be used for the implementation of various services like:

  • Frontends
  • Backends and servers
  • API development
  • Automation and scripting 

Node JS Architecture

In the IT industry, you will come across various server languages and frameworks like Java, Spring, Ruby, Rails, Python and Flask. But Node JS stands apart in two contexts:

  1. Developers can use same language for web application development as well as supporting services asz it has the feature of standalone JavaScript
  2. It performs excellently as IO intensive tasks like HTTP requests and file system objects interaction 

In both the above contexts, Node JS can run JavaScript outside the browser. In standalone JavaScript is done in a swift and scalable manner. Node JS can execute JavaScript code outside the browser using an open source JavaScript engine and further exploring the performance capabilities of Node JS in quickly handling large amounts of IO tasks using event loops.

How Node JS is Applied for Webdura Projects?

Webdura incorporated Meteor, a Node JS based framework for all our projects namely Wuyers, Curl IQ, Trova and M-App. The customizing capability of Meteor in Node JS is what led to the very execution of these projects in the Node JS setting. Have a look at how Node JS is helping our projects take a smooth runway…

 

  • Node JS in Artificial Intelligence (AI)

 

Webdura has an AI project called Curl IQ. Curl IQ has its target audience ranging from individuals to fashion industries. It has an AI interface wherein the users can try different hairstyles.

The comparatively smaller memory footprints and quick start time of Node JS has been advantageous for Curl IQ. Its AI model processes the images and data are sent to remote servers. We could also dodge data privacy issues by running the model locally on the client which inturn elevated the interactive levels of the application.

 

  • Node JS in Social Media:

 

Trova

Trova is an online gig platform with the properties of a social media platform. It is a Meteor-centric web-based application. Wbedura could build scalable and customizable segments for news feeds and activity logs in the Trova app. Node JS’s asynchronous nature has largely enhanced the performance of Trova. We could see that the app could gain considerable gain in speed alongside lower memory usage.

 

  • Node JS in Food Delivery Application

 

Wuyers and Eatitin are iOS/Android food delivery applications developed by Webdura. The backend application of Wuyers and Eatitin is built on Node JS. Our team starts with installing the Node JS framework and a stack overflow thread that will get us going with the Node JS platform for Wuyers and Eatitin in no time.

Wuyers

With the help of Node JS, we could add many features to the Wuyers app. Searching facilities, information tracking, delivery information management, ordered food description, monitoring customer information and transaction, resource management of food item data, payment records integration etc.

 

  • Node JS in Marketing Applications

 

Webdura developed a customised web-based marketing application called M-App for our clients. It is a single platform in which the source leads and various communication channels (chats, PPC, calls, WhatsApp etc.) are integrated for better transparency and quick business decision making pertaining to the marketing parameters of our clients.

M-App

 

 

  • Node JS in Learning app

 

Lyringo is a language learning app that has a video streaming platform. Videos were displayed with subtitles along with the meanings. These subtitles will be in the language the user prefers to learn. Node JS was used for the project for sending the video content to the frontend in chunks. And yes, we had a good product in hand!

Lyringo

What are Node JS Frameworks?

Application development requires a specific framework for supporting specific use cases in the development process. In Node JS there are 3 major frameworks namely:

  • FeatherJS: This framework supported creating real time applications and REST APIs using JavaScript or TypeScript.
  • KoaJS: AS framework for web applications and APIs that helps in cutting callbacks and improve error handling
  • HapiJS: Helps in making server-side more powerful for Node JS applications
  • Representational State Transfer (REST) API: This framework offers different architectural styles for network applications that helps in building applications faster.

What are the Benefits of Node JS?

  • Scalability remains intact no matter how many extensions are made to single nodes, thereby enhancing the performance
  • Easy learning for beginners and Node JS facilitates the introduction of it in the backend that will require only less time consumption
  • Full stack JavaScript can be used on both the client and server side applications. So there is no need for hiring frontend and backend developers
  • Strong community base who work continuously on developing and improving the functionalities
  • Strong support team who can extend their support for commonly used tools and techniques
  • Caching single modules is possible with Node JS. When there is request for module, it will be cached in the application memory
  • Single threaded working
  • Extensibility benefits based on the requirements thereby making customization possible

Conclusion:

Node JS is beneficial to developers in the fact that it can be deployed for both frontend and backend servers.Webdura has been logically applying Node JS for assorted projects and we are happy with the results obtained. Node JS has pitfalls and sweet spots like any other programming language, but how well you make use of the sweet spots to accomplish your project deliverables determines the success factor of deploying Node JS in your organization.