<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Mehdi Khalfallah</title>
    <description>The latest articles on Forem by Mehdi Khalfallah (@mehdikhalfallah).</description>
    <link>https://forem.com/mehdikhalfallah</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F706687%2Fca6024a1-9ad9-4d6d-a501-0bfd0c444ace.jpg</url>
      <title>Forem: Mehdi Khalfallah</title>
      <link>https://forem.com/mehdikhalfallah</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mehdikhalfallah"/>
    <language>en</language>
    <item>
      <title>Software Testing 💻</title>
      <dc:creator>Mehdi Khalfallah</dc:creator>
      <pubDate>Mon, 20 Sep 2021 14:09:44 +0000</pubDate>
      <link>https://forem.com/mehdikhalfallah/software-testing-5ca3</link>
      <guid>https://forem.com/mehdikhalfallah/software-testing-5ca3</guid>
      <description>&lt;h3&gt;
  
  
  ❶ What is Software Testing ❓
&lt;/h3&gt;

&lt;p&gt;Software testing is the process of evaluating and verifying that a software product or application does what it is supposed to do. The benefits of testing include preventing bugs, reducing development costs and improving performance.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❷ Why Software Testing ❓
&lt;/h3&gt;

&lt;p&gt;✔️Helps in saving money&lt;br&gt;
✔️Finds security holes &lt;br&gt;
✔️Insure high quality software&lt;br&gt;
✔️Customer satisfaction&lt;/p&gt;

&lt;h3&gt;
  
  
  ❸ what are the types of Software Testing ❓
&lt;/h3&gt;

&lt;p&gt;✔️Acceptance testing: Verifying whether the whole system works as intended.&lt;br&gt;
✔️Integration testing: Ensuring that software components or functions operate together.&lt;br&gt;
✔️Unit testing: Validating that each software unit performs as expected. A unit is the smallest testable component of an application.&lt;br&gt;
✔️Functional testing: Checking functions by emulating business scenarios, based on functional requirements. Black-box testing is a common way to verify functions.&lt;br&gt;
✔️Performance testing: Testing how the software performs under different workloads. Load testing, for example, is used to evaluate performance under real-life load conditions.&lt;br&gt;
✔️Regression testing: Checking whether new features break or degrade functionality. Sanity testing can be used to verify menus, functions and commands at the surface level, when there is no time for a full regression test.&lt;br&gt;
✔️Stress testing: Testing how much strain the system can take before it fails. Considered to be a type of non-functional testing.&lt;br&gt;
✔️Usability testing: Validating how well a customer can use a system or web application to complete a task.&lt;/p&gt;

&lt;h3&gt;
  
  
  and many more!
&lt;/h3&gt;

&lt;h3&gt;
  
  
  ❹ What are the techniques for Software Testing ❓
&lt;/h3&gt;

&lt;p&gt;✔️ Black Box Testing:  is a software testing method in which the internal structure/ design/ implementation of the item being tested is not known to the tester &lt;br&gt;
✔️ White box testing: involves selection of test cases based on an analysis of the internal structure (Code coverage, branches coverage, paths coverage, condition coverage, etc..) of a component or system&lt;/p&gt;

&lt;h3&gt;
  
  
  ❺ What is STLC (Software Testing Life Cycle) ❓
&lt;/h3&gt;

&lt;p&gt;The Software Testing Life Cycle (STLC) is a sequence of specific actions performed during the testing process to ensure that the software quality objectives are met. The STLC includes both verification and validation. Contrary to popular belief, software testing is not just a separate activity. It consists of a series of methodological activities to help certify your software product.&lt;br&gt;
The STLC is a high-quality strategy directly associated with and part of the Software Development Life Cycle (SDLC), which in turn is a framework with 6 core principles:&lt;br&gt;
✔️Requirements analysis;&lt;br&gt;
✔️Planning;&lt;br&gt;
✔️Engineering and design;&lt;br&gt;
✔️Software development;&lt;br&gt;
✔️Testing;&lt;br&gt;
✔️Deployment.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❻ What is a Test Plan ❓
&lt;/h3&gt;

&lt;p&gt;A Test Plan refers to a detailed document that catalogs the test strategy, objectives, schedule, estimations, deadlines, and the resources required for completing that particular project. Think of it as a blueprint for running the tests needed to ensure the software is working properly – controlled by test managers.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❼ What Test Plan consists of?
&lt;/h3&gt;

&lt;p&gt;✔️Test case identifier&lt;br&gt;
✔️Scope&lt;br&gt;
✔️Features to be tested&lt;br&gt;
✔️Features not to be tested&lt;br&gt;
✔️Test strategy &amp;amp; Test approach&lt;br&gt;
✔️Test deliverables&lt;br&gt;
✔️Responsibilities&lt;br&gt;
✔️Staffing and training&lt;br&gt;
✔️Risk and Contingencies&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
With the aid of software testing, you will be capable of verifying each and every aspect of software testing.&lt;br&gt;
Thus, you will be capable of saving from the complaints and you will gain a high prominence slowly but gradually.&lt;/p&gt;

</description>
      <category>testing</category>
    </item>
    <item>
      <title>Why React  ❓</title>
      <dc:creator>Mehdi Khalfallah</dc:creator>
      <pubDate>Fri, 17 Sep 2021 12:15:19 +0000</pubDate>
      <link>https://forem.com/mehdikhalfallah/why-react-4oo3</link>
      <guid>https://forem.com/mehdikhalfallah/why-react-4oo3</guid>
      <description>&lt;p&gt;React is the most popular UI framework in 2021, many start-ups are using it and companies are migrating to it. easy to use but you can do a lot of amazing things with it in less time than other frameworks. It is well maintained (by Facebook) and it is backed by a community of millions of developers.&lt;/p&gt;

&lt;p&gt;✅Speed:&lt;br&gt;
The React basically allows developers to utilize individual parts of their application on both client-side and the server-side, which ultimately boosts the speed of the development process.&lt;/p&gt;

&lt;p&gt;✅Flexibility:&lt;br&gt;
Compared to other frontend frameworks, the React code is easier to maintain and is flexible due to its modular structure. This flexibility, in turn, saves huge amount of time and cost to businesses.&lt;/p&gt;

&lt;p&gt;✅Performance:&lt;br&gt;
React JS was designed to provide high performance in mind. The core of the framework offers a virtual DOM program and server-side rendering, which makes complex apps run extremely fast.&lt;/p&gt;

&lt;p&gt;✅Usability:&lt;br&gt;
Deploying React is fairly easy to accomplish if you have some basic knowledge of JavaScript. In fact, an expert JavaScript developer can easily learn all ins and outs of the React framework in a matter of a day or two.&lt;/p&gt;

&lt;p&gt;✅Mobile app development&lt;br&gt;
If you thought React is for web development only, you could not be more wrong! Facebook has already upgraded the framework for developing mobile native applications for both Android &amp;amp; iOS platforms. So, now that you know the key benefits of the React framework, let’s move forward and also check out top reasons to Choose React JS for your next project.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwehhc7uhbuyft0d7vuu9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwehhc7uhbuyft0d7vuu9.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>𝐑𝐞𝐚𝐜𝐭 🆚 𝐀𝐧𝐠𝐮𝐥𝐚𝐫</title>
      <dc:creator>Mehdi Khalfallah</dc:creator>
      <pubDate>Wed, 15 Sep 2021 15:29:56 +0000</pubDate>
      <link>https://forem.com/mehdikhalfallah/-1ebj</link>
      <guid>https://forem.com/mehdikhalfallah/-1ebj</guid>
      <description>&lt;p&gt;I'am not going to tell you which technology to choose. But I will give you enough "food" for thought for you to choose the technology that suits you and your project best.&lt;/p&gt;

&lt;p&gt;❶ 𝗣𝗲𝗿𝗳𝗼𝗿𝗺𝗮𝗻𝗰𝗲&lt;br&gt;
  ✔️𝑹𝒆𝒂𝒄𝒕&lt;br&gt;
React’s performance is greatly improved with the introduction of the virtual DOM. Since all virtual DOM trees are lightweight and built on servers, the load on the browser is reduced. Furthermore, since the data-binding process is unidirectional, bindings are not assigned watchers as in the case of Angular. Respectively, no additional workload is created.&lt;br&gt;
  ✔️𝑨𝒏𝒈𝒖𝒍𝒂𝒓&lt;br&gt;
Angular performs worse, especially in the case of complex and dynamic web apps.&lt;br&gt;
The performance of Angular apps is negatively affected by bidirectional data-binding. Each binding is assigned a watcher to track changes, and each loop continues until all the watchers and associated values are checked. Because of this, the more bindings you have, the more watchers are created, and the more cumbersome the process becomes.&lt;br&gt;
However, the most recent update of Angular has greatly improved its performance, and it does not lose to React anymore. Moreover, the size of an Angular application is slightly smaller than the size of a React app.&lt;/p&gt;

&lt;p&gt;❷ 𝐔𝐧𝐢𝐯𝐞𝐫𝐬𝐚𝐥𝐢𝐭𝐲:&lt;br&gt;
  ✔️𝑹𝒆𝒂𝒄𝒕&lt;br&gt;
React is a framework used in both web and mobile development. However, for mobile development, it needs to be incorporated with Cordova. Moreover, for mobile development, there is an additional framework – React Native.&lt;br&gt;
React can be used to build both single-page and multiple-page web applications.&lt;br&gt;
  ✔️𝑨𝒏𝒈𝒖𝒍𝒂𝒓&lt;br&gt;
Angular is suitable for both web and mobile development. In mobile development, however, a great share of work is done by Ionic. Furthermore, similarly to React, Angular has an additional mobile development framework. The counterpart of React Native is NativeScript.&lt;br&gt;
Angular can also be used for both single- and multiple-page web apps.&lt;/p&gt;

&lt;p&gt;❸ 𝗦𝗲𝗹𝗳-𝗦𝘂𝗳𝗳𝗶𝗰𝗶𝗲𝗻𝗰𝘆&lt;br&gt;
  ✔️𝑹𝒆𝒂𝒄𝒕&lt;br&gt;
React is a framework for UI development, so apps written with React need additional libraries to be used. For instance, Redux, React Router, or Helmet optimize the processes of state management, routing, and interaction with the API. Such functions as data binding, component-based routing, project generation, form validation, or dependency injection require additional modules or libraries to be installed.&lt;br&gt;
  ✔️𝑨𝒏𝒈𝒖𝒍𝒂𝒓&lt;br&gt;
Angular is a full-fledged framework for software development, which usually does not require additional libraries. All the above-mentioned functions – data binding, component-based routing, project generation, form validation, and dependency injection – can be implemented with the means of the Angular package.&lt;/p&gt;

&lt;p&gt;💎 You can find more about 𝐑𝐞𝐚𝐜𝐭 🆚 𝐀𝐧𝐠𝐮𝐥𝐚𝐫 in the picture below.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NH9yogg2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wy5ukutzs4p9kcdt9vp1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NH9yogg2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wy5ukutzs4p9kcdt9vp1.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>angular</category>
    </item>
  </channel>
</rss>
