teleren/devto huggingface dataset:
Exploratory Testing: Benefits, Challenges, and Best Practices for Software Testing and QA
Tags: exploratorytesting, sqa, bestapproaches, softwaretesting
Published: 2023-03-13 16:20:18

Exploratory testing is a type of testing that involves simultaneous learning, test design, and test execution. It is a hands-on approach that allows testers to explore the software, identify potential issues, and provide feedback to the development team. In this article, we will discuss the benefits of exploratory testing, its challenges, and best practices for its implementation in software development.

### Benefits of Exploratory Testing

Exploratory testing offers several benefits to software development teams, including:

**Improved Test Coverage:** Exploratory testing allows testers to cover more areas of the software than traditional scripted testing. Testers can follow their intuition and explore different parts of the software that may not have been considered in a scripted test plan.

**Faster Feedback:** Exploratory testing can provide faster feedback to developers. Testers can identify issues quickly and provide feedback to developers in real-time, allowing for faster resolution of issues.

**Increased Creativity:** Exploratory testing encourages creativity and innovation in the testing process. Testers can use their creativity and experience to identify potential issues and test scenarios that may not have been considered in a scripted test plan.

### Challenges of Exploratory Testing

While exploratory testing has many benefits, it also presents several challenges, including:

**Lack of Structure:** Exploratory testing can lack structure, which can make it difficult to track progress and measure coverage.

**Difficulty in Reproducing Issues**: Because exploratory testing is often done without a pre-defined test plan, it can be difficult to reproduce issues that were found during testing.

**Limited Documentation:** Exploratory testing often relies on the experience and intuition of the tester, which can make it difficult to document the testing process and results.

### Best Practices for Exploratory Testing

To overcome the challenges of exploratory testing, software development teams can follow these best practices:

**Define Goals and Objectives:** Before beginning exploratory testing, define the goals and objectives of the testing.

**Record and Document:** Record and document the testing process and results, including any issues found, to ensure that the testing is repeatable and trackable.

**Pair Testing:** Pair testing is the practice of having two testers work together during exploratory testing. This can help overcome the lack of structure and increase the creativity of the testing process.

In conclusion, exploratory testing is a valuable approach to software testing that can provide many benefits to software development teams. By following best practices and overcoming its challenges, exploratory testing can help teams to identify issues early, provide faster feedback, and increase test coverage.
JavaScript DOM
Published: 2023-03-13 16:19:40

The JavaScript DOM (Document Object Model) is a programming interface for web documents. Programs can use it to change the structure, style, and content of a document. JavaScript is used to interact with the DOM and manipulate web page elements.

When a web page is loaded in a browser, the browser creates a Document Object Model of the page, which is essentially a hierarchical tree-like representation of the HTML elements on the page. Each element on the page is represented as an object in the DOM tree, and JavaScript can access and manipulate these objects to modify the page.

JavaScript provides a number of methods and properties to interact with the DOM. As an example, you can use JavaScript to:

- Select and modify HTML elements and attributes on a page.

- Create/add new HTML elements, Attributes and add them to the page.

- Remove HTML elements, Attributes from the page.

- The content and style of HTML elements can be changed.

- User events such as mouse clicks and keyboard input are handled.

In summary, the JavaScript DOM allows developers to create dynamic and interactive web pages by manipulating the HTML elements and their properties in response to user interaction or other events.
Announcing the Strapi Community Competition Winners
Tags: strapi
Published: 2023-03-13 16:17:18

We are super excited to announce the winners of our recent [Strapi website devlopment competition](https://strapi.io/blog/strapi-community-organization-announces-first-web-dev-competition)! 🏆 🥇🥈🥉

🥇Drumroll please! Our first-place winner is [John Kat](https://github.com/Johnkat-Mj)! Congratulations on creating a website that's a feast for the eyes with its delicious colors! 🤤And of course, your amazing code!🌟 [PR](https://github.com/strapi-community/website/pull/7) 

🥈Our runner-up is [Ottr](https://github.com/OttrTechnology)! Great job on creating a website that showcases your creativity, the judges were particularly impressed with your bounty page! 👏 [PR](https://github.com/strapi-community/website/pull/2)

🥉Last but not least, our third-place winner is [Theodore](https://github.com/Theodore-Kelechukwu-Onyejiaku)! Thank you for sharing your talent with us and creating a fantastic website that even has working filters! 👍: [PR](https://github.com/strapi-community/website/pull/2)

We want to give a huge shoutout to everyone who participated 📣, and a special thank you to our judges who had a tough time selecting the winners. No wonder it took 10 days! 😬 We are thrilled to be a part of such a talented and innovative community! :muscle:
Winners, please give us a post in #com-org-hangout to celebrate your victor! 🎉👏

To everyone in the community, please give this post a massive reaction and let's celebrate all the winners and participants! 🎉🎉🎉
And remember, stay tuned for more exciting events and challenges in the future! 🤩🎉🎊
WeCoded
Published: 2023-03-13 16:15:10

<!-- ✨WeCoded Pledge by NueL ✨ -->

## I pledge to embrace equality in tech by...

## A validating experience I had in the workplace was...

## One of the biggest obstacles to gender equality in the tech industry is...

## Diversity and inclusion initiatives have positively impacted my workplace by...

## I will commit to educating myself about...

<!-- pls approve -->
Cómo cambiar el último mensaje de commit
Tags: git, github, beginners, spanish
Published: 2023-03-13 16:00:00

Al momento de hacer un commit en Git, es posible que nos equivoquemos al escribir el mensaje de commit, ya sea por un error de tipeo o por escribir un mensaje que no es el correcto para el commit que se está realizando.

Incluso, si este error ya se ha subido a un repositorio remoto, es posible cambiar el mensaje del commit sin necesidad de hacer un nuevo commit.

Para este ejemplo se considerará el siguiente commit:

![Commit](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/75n1cis9063lekrck0w7.png)

## Corregir mensaje sin subir a repositorio remoto

Si el commit aún no se ha subido a un repositorio remoto, es posible corregir el mensaje del commit con el siguiente comando:

```bash
git commit --amend
```

Este comando abrirá el editor de texto configurado en el sistema operativo para que se pueda modificar el mensaje del commit.

Dependiendo del editor de texto configurado (en este caso se utiliza VS Code), el mensaje del commit se mostrará de la siguiente manera:

![Editor de texto](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6i071nmd59rpf7nboyzw.png)

Solo es necesario modificar el mensaje del commit y guardar los cambios.

Una manera mas rápida de corregir el mensaje del commit es con el siguiente comando:

```bash
git commit --amend -m "Nuevo mensaje de commit"
```

De esta manera el mensaje del commit se cambiará por el que se ha especificado en el comando, y estará listo para ser subido al repositorio remoto.

![Nuevo mensaje de commit](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r8tm97ply6le6dy7aly0.png)

## Corregir mensaje subido a repositorio remoto

Pero que pasa si el commit ya se ha subido a un repositorio remoto, ¿Cómo se puede corregir el mensaje del commit?

![Commit subido a repositorio remoto](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cijlbxxw6g2mkn8lylq0.png)

En primer lugar se debe correjir el mensaje del último commit con el comando mostrado anteriormente de manera local:

```bash
git commit --amend -m "Nuevo mensaje de commit"
```

El siguiente paso es realizar un _force push_ para que los cambios se reflejen en el repositorio remoto, es decir, es necesario sobreescribir el commit que se ha subido anteriormente.

```bash
git push --force-with-lease origin your-branch
```

En mi caso el comando sería:

```bash
git push --force-with-lease origin main
```

![Force push](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6fzas83fwjn5v1133kf5.png)

Realizando estos pasos, el mensaje del commit se habrá corregido y se habrá subido al repositorio remoto.

En conclusión, es posible corregir el mensaje de un commit en Git, ya sea que se haya subido o no al repositorio remoto de una manera sencilla y rápida.
*CodeNewbie* Meme Monday!
Tags: codenewbie, beginners, career, discuss
Published: 2023-03-13 15:59:47

AH YES, welcome back to CodeNewbie Meme Monday. We are happy to see ya again over here on DEV!

**Drop your newbie-related, job-related, or starting-a-new-career-related memes or inspiration— we would love to see them! OR if you are a newbie, HEY! We are happy you are here.**
OpenChatKit vs ChatGPT: How They Differ and What Makes OpenChatKit Stand Out
Tags: opensource, programming, stackfoss, openchatkit
Published: 2023-06-21 21:29:21

---
title: OpenChatKit vs ChatGPT: How They Differ and What Makes OpenChatKit Stand Out
published: true
date: 2023-03-13 15:56:59 UTC
tags: opensource, programming, stackfoss,openchatkit
canonical_url: 
---

OpenChatKit and ChatGPT are two chatbot platforms that have gained popularity in recent years. However, they differ in their approach and capabilities. In this article, we'll compare OpenChatKit and ChatGPT and explore what makes OpenChatKit stand out as an open-source chatbot platform.

**OpenChatKit: An Open-Source Chatbot Platform**

OpenChatKit is an open-source chatbot platform developed by Together Computer. It provides a powerful, open-source base to create both specialized and general purpose chatbots for various applications. The code, model weights, and training datasets are freely available under the Apache-2.0 license. OpenChatKit can be used to create chatbots with reasoning, multi-turn conversation, knowledge, and generative capabilities.

**ChatGPT: A Language Model for Text Generation**

ChatGPT, on the other hand, is a language model developed by OpenAI that can be used to generate human-like responses to text input. It's based on the transformer architecture and is fine-tuned on a large corpus of text to generate coherent and contextually relevant responses. While ChatGPT can be used to create chatbots, its primary focus is on generating text responses.

**How Does OpenChatKit Differ from ChatGPT?**

OpenChatKit and ChatGPT differ in several ways. OpenChatKit is an open-source platform that provides a flexible and customizable base for creating chatbots with various capabilities. It offers a range of features such as reasoning, multi-turn conversation, knowledge, and generative capabilities. On the other hand, ChatGPT is primarily focused on generating text responses and lacks the flexibility of OpenChatKit in creating domain-specific and general-purpose chatbots.

**What Are the Main Features of OpenChatKit?**

OpenChatKit offers a range of features that make it a flexible and powerful platform for creating chatbots. Some of the main features include:

- An instruction-tuned large language model, fine-tuned for chat from EleutherAI's GPT-NeoX-20B with over 43 million instructions
- A generic chatbot and the components necessary to create specialized bots
- Four key components: the language model, a tokenizer, a conversation manager, and a response generator
- Capabilities such as reasoning, multi-turn conversation, knowledge, and generative capabilities  
These features make OpenChatKit a powerful platform for creating chatbots with various capabilities. The flexibility and customization options offered by OpenChatKit make it an ideal platform for businesses looking to enhance user engagement and provide personalized customer support.
OpenChatKit: The Free and Open-Source Alternative to ChatGPT
Tags: opensource, programming, stackfoss, chatgpt
Published: 2023-06-21 21:29:30

---
title: OpenChatKit: The Free and Open-Source Alternative to ChatGPT
published: true
date: 2023-03-13 15:53:14 UTC
tags: opensource, programming, stackfoss,chatgpt
canonical_url: 
---

Chatbots have become an increasingly popular tool for businesses to enhance user engagement and provide round-the-clock customer support. However, creating a chatbot from scratch can be a challenging and time-consuming process. This is where OpenChatKit comes in - an open-source chatbot platform developed by Together Computer.

OpenChatKit provides a powerful, open-source base for creating both specialized and general purpose chatbots for various applications. The platform offers a range of features including reasoning, multi-turn conversation, knowledge, and generative capabilities. With OpenChatKit, businesses can develop chatbots that can understand natural language, remember user preferences, and provide personalized recommendations.

The best part about OpenChatKit is that it is available under the Apache-2.0 license, meaning that the code, model weights, and training datasets are freely available for use and modification. This allows developers to build on top of the platform, customize it to their specific needs, and contribute to the community by sharing their own enhancements.

One of the key advantages of OpenChatKit is its ability to reason with users. This means that the chatbot can understand the user's intent and provide appropriate responses based on the context of the conversation. For example, if a user asks for restaurant recommendations, the chatbot can take into account the user's location, cuisine preferences, and other relevant factors to suggest suitable options.

Another noteworthy feature of OpenChatKit is its multi-turn conversation capability. This allows the chatbot to maintain context across multiple exchanges with the user, enabling more natural and seamless conversations. For instance, if a user asks for the weather forecast, the chatbot can provide the current conditions and follow up with a suggestion to carry an umbrella if rain is expected later in the day.

OpenChatKit also has knowledge and generative capabilities, which enable the chatbot to provide informative responses and even generate new content. For instance, if a user asks for information about a particular product, the chatbot can provide detailed specifications and even suggest related products.

> OpenChatKit is a powerful open-source chatbot platform that offers a range of features for creating specialized and general purpose chatbots. Its ability to reason, engage in multi-turn conversations, and provide knowledge and generative capabilities make it an ideal tool for businesses looking to enhance user engagement and provide personalized customer support. The fact that it is available under an open-source license makes it accessible to all developers, who can contribute to its growth and development.
いつでもどこでも開発を
Tags: vscode, remotedevelopment, codeserver
Published: 2023-03-13 15:45:32


[Visual Studio Code (VSCode)](https://code.visualstudio.com/) の開発の進化がすごい！

### VSCode Web (_vscode.dev_)

[VSCode](https://code.visualstudio.com/) は、Microsoft によって開発され 2015 年にベータ版がリリースされた、オープンソースのコード開発の統合プラットフォームです。

当初は、商用版の Visual Studio 統合開発環境 (IDE) から、コンパイラやビルドツールを除いて、コード開発部分だけに注力したアプリケーションとして公開されたような位置づけでした。その後は、コード整形、文法チェック、テストなど様々な機能のためのプラグインの充実、コンパイラやデバッガを実行するためのターミナルセッションとの統合などにより、完全な統合開発環境として Windows だけでなく macOS, Linux でも動作する、開発者にとっては素晴らしい無料のアプリケーションとなっています。

[2021年10月の vscode.dev の発表](https://code.visualstudio.com/blogs/2021/10/20/vscode-dev) で<cite>ウェブブラウザーでも利用できるようになり[^1]</cite>、iOS/Android などのモバイル OS 環境でもブラウザーを使って開発をすることができるようになっています。

[^1]: 元々、2013年に発表された Visual Studio Online (コードネーム ”Monaco") の活動と Microsoft による GitHub の戦略的な統合がクロスした瞬間ではないでしょうか。

### GitHub Codespaces

当初のウェブ版の [VSCode](https://code.visualstudio.com/) は、GitHub 上の Git リポジトリのコードの閲覧や編集に利用できましたが、[GitHub Codespaces](https://docs.github.com/ja/codespaces/overview) サービスのリリースにより、クラウド上でホストされた仮想マシンの開発環境を使って開発・テストなどの作業が実行できるようになりました。この GitHub Codespaces には、[個人用アカウントに含まれる月間ストレージとコア時間](https://docs.github.com/ja/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#monthly-included-storage-and-core-hours-for-personal-accounts)が含まれているので、限られた時間内では無料で開発ができます。

このクラウド型のサービスでは、ソースコードやワークスペースは仮想マシン環境に配置されるため、個人のローカル環境におく必要はなく、複数のコンピューターを使い分けるシーンでもシームレスに開発を継続することができます。

### VSCode Server - Remote Tunnels

GitHub Codespaces と同じような開発環境を自前で用意できないものかと考えていたところ、2022年7月に [VSCode Server](https://code.visualstudio.com/blogs/2022/07/07/vscode-server) のリモートトンネル機能のベータ版がアナウンスされました。

この機能は、これまでにリリースされたリモート接続による開発とは異なり、vscode.dev とコード開発サーバーの間にセキュアなトンネルを確立する方式のリモート接続による開発となります。

任意の物理環境や仮想環境で VSCode Server サービスを起動し、リモート環境の VSCode (デスクトップアプリ版またはウェブ版) からリモート開発を行うことができるようになります。VSCode Server リモートトンネル機能のアーキテクチャは以下のようなイメージと想定されます。

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t0h4u5hpmz55g6frlu2h.jpg)
Navigation bar issue
Tags: css
Published: 2023-03-13 15:19:11

Hi, I am facing some serious issues with the navigation bar of the website. I want to split the navigation bar in 2 parts of the screen, one part on the left and the other part on the right side of the screen. Between these splitted navigation bars, I want to add a section. I have tried many ways, such as "top: 0;" and "bottom: 300px", etc. but it is still not working. I have managed to get the navigation bar at the right side of the screen, but the actual issue, is, that I can`t move the right side navigation bar in the top of the screen, it shows below the left side navigation bar. Can anybody help me solve this issue, as this issue, is really annoying me.
Using Axios more elegantly with Interceptors and Array of URLs
Tags: axios, javascript, httprequests, webdev
Published: 2023-03-13 15:18:46

Axios is a popular library for making HTTP requests in JavaScript. It provides a simple and intuitive API for sending requests and handling responses. In this post, we'll explore how to use Axios more elegantly by creating an array of URLs and using interceptors for common headers.

## Setting up Access Token and API Endpoints
First, we need to set up our access token and API endpoints. We'll define our access token as a constant, and our endpoints as an object with keys representing each endpoint and values representing the endpoint URL.

```javascript
const accessToken = "INSERT YOUR ACCESS TOKEN HERE";
const endpoints = {
  basicProfile: "/users/profile",
  skills: "/users/skills",
  positions: "/users/positions",
}
```

## Creating an Instance of Axios

Next, we'll create an instance of Axios with a base URL and common headers. We'll use the `create` method of the `axios` object to create this instance. We'll also include our access token in the `Authorization` header and set the `Content-Type` and `X-Restli-Protocol-Version` headers.

```javascript
const api = axios.create({
  baseURL: "https://api.example.com/v2",
  headers: {
    Authorization: `Bearer ${accessToken}`,
    "Content-Type": "application/json",
    "X-Restli-Protocol-Version": "2.0.0",
  },
});
```
## Using Interceptors to Set Base URL

We'll use an interceptor to set the base URL for all requests. This will allow us to specify only the endpoint name when making requests, rather than the full URL. We'll use the `request` interceptor to modify the `config` object and set the `url` property to the corresponding URL from our `endpoints` object.

```javascript
api.interceptors.request.use((config) => {
  config.url = endpoints[config.url];
  return config;
});
```

## Using an Array of URLs to Fetch Data

Finally, we'll use an array of URLs to fetch data from multiple endpoints. We'll use the `Promise.all` method to send multiple requests at once and wait for all of them to complete. Once the requests are complete, we'll extract the data from each response and use it as needed.

```javascript
Promise.all([api.get("basicProfile"), api.get("skills"), api.get("positions")])
  .then((responses) => {
    const basicProfile = responses[0].data;
    const skills = responses[1].data.elements;
    const positions = responses[2].data.elements;

    // Use fetched data
  })
  .catch((error) => {
    console.error(error);
  });
```

In this example, we're fetching data from three endpoints: `basicProfile`, `skills`, and `positions`. We're using an array of URLs to make the requests, and the `Promise.all` method to wait for all of them to complete. Once the requests are complete, we're extracting the data from each response and using it as needed.

By using an array of URLs and interceptors for common headers, we can make our code more elegant and easier to read. These techniques can also help reduce boilerplate code and improve the maintainability of our codebase.
Automate your testing with new aqua AI
Tags: product, tooling, ai, testing
Published: 2023-03-13 15:13:46

Hey, community!

My team and I have been working on something important for all the testers out there, and I am happy to announce this.

AI test creation features are live and available for all aqua users (including free trials)!🔥

And now, with the help of AI tech, it will be possible to:

Auto-create test descriptions
Auto-create test steps
Create a whole test case from a requirement

I believe it is a game-changer for manual testing that will allow us to work faster and more efficiently.🙌

You can try it for free by starting a 30-day trial at aqua 👉 https://aqua-cloud.io/ai-in-aqua/ 

If you are going to try it, please [contact me](https://www.linkedin.com/in/tania-zhydkova/) afterwards. We worked hard to make this technology happen, and it would be great to hear your feedback!
New aqua AI
Tags: tooling, feature, product, ai
Published: 2023-03-13 15:11:45

Hey, community!

My team and I have been working on something important for all the testers out there, and I am happy to announce this.

AI test creation features are live and available for all aqua users (including free trials)!🔥

And now, with the help of AI tech, it will be possible to:

Auto-create test descriptions
Auto-create test steps
Create a whole test case from a requirement

I believe it is a game-changer for manual testing that will allow us to work faster and more efficiently.🙌

You can try it for free by starting a 30-day trial at aqua 👉 https://aqua-cloud.io/ai-in-aqua/ 

If you are going to try it, please contact me afterwards. We worked hard to make this technology happen, and it would be great to hear your feedback!